From e6b3495726c3b024031107b32db009677e54fb7c Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Thu, 2 Oct 2025 21:22:35 +0800 Subject: [PATCH 01/22] Compilation success in 9.10.2. Upgrade version to 0.2.0.0 --- .circleci/config.yml | 42 +- .gitignore | 6 + README.md | 42 +- app/Indexer.hs | 9 +- app/Server.hs | 112 +- default.nix | 0 haskell-code-explorer.cabal | 22 +- install.hs | 2 +- javascript/.gitignore | 2 +- src/HaskellCodeExplorer/AST/RenamedSource.hs | 816 ++++------- .../AST/TypecheckedSource.hs | 1285 +++++------------ src/HaskellCodeExplorer/GhcUtils.hs | 976 ++++--------- src/HaskellCodeExplorer/ModuleInfo.hs | 453 +++--- src/HaskellCodeExplorer/PackageInfo.hs | 541 ++++--- src/HaskellCodeExplorer/Preprocessor.hs | 4 +- src/HaskellCodeExplorer/Types.hs | 23 +- stack-8.0.2.yaml | 7 - stack-8.2.2.yaml | 7 - stack-8.4.3.yaml | 7 - stack-8.4.4.yaml | 7 - stack-8.6.3.yaml | 7 - stack-8.6.4.yaml | 7 - stack-8.6.5.yaml | 7 - stack-8.8.3.yaml | 12 - stack-9.10.2.yaml | 8 + stack.yaml | 7 +- test/Main.hs | 25 +- test/test-package/app/Main.hs | 5 +- test/test-package/stack-8.0.2.yaml | 1 - test/test-package/stack-8.2.2.yaml | 1 - test/test-package/stack-8.4.3.yaml | 1 - test/test-package/stack-8.4.4.yaml | 1 - test/test-package/stack-8.6.3.yaml | 1 - test/test-package/stack-8.6.4.yaml | 1 - .../{stack-8.6.5.yaml => stack-9.10.2.yaml} | 0 test/test-package/stack.yaml | 2 +- test/test-package/test-package.cabal | 1 - vendor/cabal-helper-0.8.1.2/.gitignore | 15 - vendor/cabal-helper-0.8.1.2/.gitlab-ci.yml | 27 - vendor/cabal-helper-0.8.1.2/.travis.yml | 46 - vendor/cabal-helper-0.8.1.2/LICENSE | 674 --------- vendor/cabal-helper-0.8.1.2/README.md | 34 - vendor/cabal-helper-0.8.1.2/Setup.hs | 2 - .../cabal-helper-0.8.1.2/cabal-helper.cabal | 291 ---- vendor/cabal-helper-0.8.1.2/cabal.project | 2 - .../lib/Distribution/Helper.hs | 591 -------- vendor/cabal-helper-0.8.1.2/scripts/bump.sh | 24 - .../cabal-helper-0.8.1.2/scripts/ci/build.sh | 9 - .../scripts/ci/print-packages.sh | 5 - .../cabal-helper-0.8.1.2/scripts/ci/retry.sh | 50 - .../scripts/ci/steps/00-config.sh | 12 - .../scripts/ci/steps/05-print-packages.sh | 1 - .../scripts/ci/steps/10-dependencies.sh | 3 - .../scripts/ci/steps/15-print-packages.sh | 1 - .../scripts/ci/steps/20-sdist.sh | 6 - .../scripts/ci/steps/30-build.sh | 4 - .../scripts/ci/steps/40-test.sh | 2 - ...te-cabal-common-section-instantiations.awk | 34 - .../Compiletime/Compat/Environment.hs | 35 - .../Compiletime/Compat/ProgramDb.hs | 30 - .../CabalHelper/Compiletime/Compat/Version.hs | 49 - .../src/CabalHelper/Compiletime/Compile.hs | 736 ---------- .../src/CabalHelper/Compiletime/Data.hs | 81 -- .../src/CabalHelper/Compiletime/Log.hs | 45 - .../src/CabalHelper/Compiletime/Types.hs | 42 - .../src/CabalHelper/Compiletime/Wrapper.hs | 227 --- .../src/CabalHelper/Runtime/Main.hs | 841 ----------- .../src/CabalHelper/Shared/Common.hs | 150 -- .../src/CabalHelper/Shared/InterfaceTypes.hs | 81 -- .../src/CabalHelper/Shared/Sandbox.hs | 78 - .../cabal-helper-0.8.1.2/tests/CompileTest.hs | 195 --- .../cabal-helper-0.8.1.2/tests/GhcSession.hs | 182 --- .../tests/bkpregex/Setup.hs | 2 - .../tests/bkpregex/bkpregex.cabal | 29 - .../tests/bkpregex/regex-example/Main.hs | 12 - .../tests/bkpregex/regex-indef/Regex.hs | 14 - .../tests/bkpregex/regex-indef/Str.hsig | 9 - .../tests/bkpregex/regex-types/Regex/Types.hs | 7 - .../bkpregex/str-impls/Str/ByteString.hs | 17 - .../tests/bkpregex/str-impls/Str/String.hs | 21 - .../tests/exeintlib/Exe.hs | 5 - .../tests/exeintlib/Setup.hs | 2 - .../tests/exeintlib/exeintlib.cabal | 31 - .../tests/exeintlib/intlib/IntLib.hs | 7 - .../tests/exeintlib/lib/Lib.hs | 8 - .../cabal-helper-0.8.1.2/tests/exelib/Exe.hs | 5 - .../tests/exelib/Setup.hs | 2 - .../tests/exelib/exelib.cabal | 25 - .../tests/exelib/lib/Lib.hs | 8 - .../tests/fliblib/FLib.hs | 5 - .../tests/fliblib/Setup.hs | 2 - .../tests/fliblib/fliblib.cabal | 19 - .../tests/fliblib/lib/Lib.hs | 8 - 93 files changed, 1619 insertions(+), 7674 deletions(-) create mode 100644 default.nix delete mode 100644 stack-8.0.2.yaml delete mode 100644 stack-8.2.2.yaml delete mode 100644 stack-8.4.3.yaml delete mode 100644 stack-8.4.4.yaml delete mode 100644 stack-8.6.3.yaml delete mode 100644 stack-8.6.4.yaml delete mode 100644 stack-8.6.5.yaml delete mode 100644 stack-8.8.3.yaml create mode 100644 stack-9.10.2.yaml delete mode 100644 test/test-package/stack-8.0.2.yaml delete mode 100644 test/test-package/stack-8.2.2.yaml delete mode 100644 test/test-package/stack-8.4.3.yaml delete mode 100644 test/test-package/stack-8.4.4.yaml delete mode 100644 test/test-package/stack-8.6.3.yaml delete mode 100644 test/test-package/stack-8.6.4.yaml rename test/test-package/{stack-8.6.5.yaml => stack-9.10.2.yaml} (100%) delete mode 100644 vendor/cabal-helper-0.8.1.2/.gitignore delete mode 100644 vendor/cabal-helper-0.8.1.2/.gitlab-ci.yml delete mode 100644 vendor/cabal-helper-0.8.1.2/.travis.yml delete mode 100644 vendor/cabal-helper-0.8.1.2/LICENSE delete mode 100644 vendor/cabal-helper-0.8.1.2/README.md delete mode 100644 vendor/cabal-helper-0.8.1.2/Setup.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/cabal-helper.cabal delete mode 100644 vendor/cabal-helper-0.8.1.2/cabal.project delete mode 100644 vendor/cabal-helper-0.8.1.2/lib/Distribution/Helper.hs delete mode 100755 vendor/cabal-helper-0.8.1.2/scripts/bump.sh delete mode 100755 vendor/cabal-helper-0.8.1.2/scripts/ci/build.sh delete mode 100644 vendor/cabal-helper-0.8.1.2/scripts/ci/print-packages.sh delete mode 100755 vendor/cabal-helper-0.8.1.2/scripts/ci/retry.sh delete mode 100644 vendor/cabal-helper-0.8.1.2/scripts/ci/steps/00-config.sh delete mode 120000 vendor/cabal-helper-0.8.1.2/scripts/ci/steps/05-print-packages.sh delete mode 100644 vendor/cabal-helper-0.8.1.2/scripts/ci/steps/10-dependencies.sh delete mode 120000 vendor/cabal-helper-0.8.1.2/scripts/ci/steps/15-print-packages.sh delete mode 100644 vendor/cabal-helper-0.8.1.2/scripts/ci/steps/20-sdist.sh delete mode 100644 vendor/cabal-helper-0.8.1.2/scripts/ci/steps/30-build.sh delete mode 100644 vendor/cabal-helper-0.8.1.2/scripts/ci/steps/40-test.sh delete mode 100644 vendor/cabal-helper-0.8.1.2/scripts/update-cabal-common-section-instantiations.awk delete mode 100644 vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Compat/Environment.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Compat/ProgramDb.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Compat/Version.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Compile.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Data.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Log.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Types.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Wrapper.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/src/CabalHelper/Runtime/Main.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/src/CabalHelper/Shared/Common.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/src/CabalHelper/Shared/InterfaceTypes.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/src/CabalHelper/Shared/Sandbox.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/CompileTest.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/GhcSession.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/bkpregex/Setup.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/bkpregex/bkpregex.cabal delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/bkpregex/regex-example/Main.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/bkpregex/regex-indef/Regex.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/bkpregex/regex-indef/Str.hsig delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/bkpregex/regex-types/Regex/Types.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/bkpregex/str-impls/Str/ByteString.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/bkpregex/str-impls/Str/String.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/exeintlib/Exe.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/exeintlib/Setup.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/exeintlib/exeintlib.cabal delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/exeintlib/intlib/IntLib.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/exeintlib/lib/Lib.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/exelib/Exe.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/exelib/Setup.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/exelib/exelib.cabal delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/exelib/lib/Lib.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/fliblib/FLib.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/fliblib/Setup.hs delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/fliblib/fliblib.cabal delete mode 100644 vendor/cabal-helper-0.8.1.2/tests/fliblib/lib/Lib.hs diff --git a/.circleci/config.yml b/.circleci/config.yml index 770c1d5..e78c6dc 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -36,49 +36,13 @@ defaults: &defaults version: 2 jobs: - ghc-8.0.2: + ghc-9.10.2: environment: - - STACK_FILE: "stack-8.0.2.yaml" - <<: *defaults - - ghc-8.2.2: - environment: - - STACK_FILE: "stack-8.2.2.yaml" - <<: *defaults - - ghc-8.4.3: - environment: - - STACK_FILE: "stack-8.4.3.yaml" - <<: *defaults - - ghc-8.4.4: - environment: - - STACK_FILE: "stack-8.4.4.yaml" - <<: *defaults - - ghc-8.6.3: - environment: - - STACK_FILE: "stack-8.6.3.yaml" - <<: *defaults - - ghc-8.6.4: - environment: - - STACK_FILE: "stack-8.6.4.yaml" - <<: *defaults - - ghc-8.6.5: - environment: - - STACK_FILE: "stack-8.6.5.yaml" + - STACK_FILE: "stack-9.10.2.yaml" <<: *defaults workflows: version: 2 build_and_test: jobs: - - ghc-8.0.2 - - ghc-8.2.2 - - ghc-8.4.3 - - ghc-8.4.4 - - ghc-8.6.3 - - ghc-8.6.4 - - ghc-8.6.5 + - ghc-8.10.2 diff --git a/.gitignore b/.gitignore index 8eca7db..bfcc5df 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,9 @@ TAGS .\#* # stack 2.1 stack.yaml lock files stack*.yaml.lock + +*.hi +*.o +.vscode + +.DS_Store diff --git a/README.md b/README.md index 0a9beaa..66e8c76 100644 --- a/README.md +++ b/README.md @@ -48,48 +48,18 @@ cd haskell-code-explorer To build Haskell Code Explorer Stack ([https://docs.haskellstack.org/en/stable/README/](https://docs.haskellstack.org/en/stable/README/)) is needed. -At the moment Haskell Code Explorer supports GHC 8.6.5, 8.6.4, GHC 8.6.3, GHC 8.4.4, GHC 8.4.3, GHC 8.2.2, and 8.0.2. +At the moment Haskell Code Explorer supports GHC 9.10.2 -For GHC 8.6.5: +For GHC 9.10.2: ```bash stack install ``` -For GHC 8.6.4: +For GHC 9.10.2: ```bash -stack --stack-yaml=stack-8.6.4.yaml install -``` - -For GHC 8.6.3: - -```bash -stack --stack-yaml=stack-8.6.3.yaml install -``` - -For GHC 8.4.4: - -```bash -stack --stack-yaml=stack-8.4.4.yaml install -``` - -For GHC 8.4.3: - -```bash -stack --stack-yaml=stack-8.4.3.yaml install -``` - -For GHC 8.2.2: - -```bash -stack --stack-yaml=stack-8.2.2.yaml install -``` - -For GHC 8.0.2: - -```bash -stack --stack-yaml=stack-8.0.2.yaml install +stack --stack-yaml=stack-9.10.2.yaml install ``` ## Indexing source code of a Cabal package @@ -106,12 +76,12 @@ If there is no globally installed GHC on the system, then it is possible to use Run `cabal update` using stack exec: ```bash -stack --resolver=lts-13.20 exec --no-ghc-package-path cabal -- update +stack --resolver=lts-24.11 exec --no-ghc-package-path cabal -- update ``` Index a package using stack exec: ```bash -stack --resolver=lts-13.20 exec --no-ghc-package-path haskell-code-indexer -- INDEXER_OPTIONS +stack --resolver=lts-24.11 exec --no-ghc-package-path haskell-code-indexer -- INDEXER_OPTIONS ``` `--no-ghc-package-path` option unsets `GHC_PACKAGE_PATH` environment variable. `cabal` fails with the error `Use of GHC's environment variable GHC_PACKAGE_PATH is incompatible with Cabal.` if the `GHC_PACKAGE_PATH` is set. diff --git a/app/Indexer.hs b/app/Indexer.hs index 88aa7ad..8655856 100644 --- a/app/Indexer.hs +++ b/app/Indexer.hs @@ -19,7 +19,7 @@ import qualified Data.Serialize as S import qualified Data.Text as T import qualified Data.Text.Encoding as TE import Data.Time (getZonedTime) -import Data.Version (showVersion) +import Data.Version (showVersion, Version(..)) import HaskellCodeExplorer.PackageInfo (createPackageInfo, ghcVersion) import qualified HaskellCodeExplorer.Types as HCE import Network.URI.Encode (encode) @@ -42,7 +42,7 @@ import Options.Applicative , strOption , value ) -import Paths_haskell_code_explorer as HSE (version) +-- import Paths_haskell_code_explorer as HSE (version) import System.Directory (createDirectoryIfMissing) import System.Exit (ExitCode(..), exitWith) import System.FilePath (()) @@ -57,6 +57,9 @@ import System.Log.FastLogger , rmLoggerSet ) +version :: Version +version = Version [0, 2, 0, 0] [T.unpack "Support GHC 9.10.2"] + data IndexerConfig = IndexerConfig { configPackageDirectoryPath :: FilePath , configPackageDistDirRelativePath :: Maybe FilePath @@ -105,7 +108,7 @@ main = do (configPackageDirectoryPath config) (configPackageDistDirRelativePath config) (configSourceCodePreprocessing config) - (configGhcOptions config) + ((configGhcOptions config) <> [T.unpack "-DHASKELL_CODE_INDEXER"]) (configIgnoreDirectories config)) (\_loc _source level msg -> logger loggerSet minLogLevel level msg) let outputDir = diff --git a/app/Server.hs b/app/Server.hs index c220307..eb74221 100644 --- a/app/Server.hs +++ b/app/Server.hs @@ -16,6 +16,7 @@ {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE PatternGuards #-} +{-# LANGUAGE OverloadedRecordDot #-} {-# OPTIONS_GHC -fno-warn-orphans #-} module Main where @@ -51,9 +52,7 @@ import qualified Data.List as L import qualified Data.Map.Strict as M import Data.Maybe (fromMaybe, mapMaybe) import qualified Data.Vector as V -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) import qualified GHC.Compact as C -#endif import Data.Pagination ( Paginated , hasNextPage @@ -125,11 +124,7 @@ import Servant , Header , Headers , QueryParam -#if MIN_VERSION_GLASGOW_HASKELL(8,6,5,0) , ServerError -#else - , ServantErr -#endif , ServerT , ToHttpApiData(..) , addHeader @@ -141,11 +136,7 @@ import Servant ) import Servant.API.ContentTypes (AllCTRender(..), JSON) import Servant.Server (Handler(..), hoistServer) -#if MIN_VERSION_servant(0,14,1) import Servant.Links (safeLink) -#else -import Servant.Utils.Links (safeLink) -#endif import System.Directory (doesFileExist) import System.Exit (exitFailure, exitSuccess) import System.FilePath.Find @@ -522,9 +513,7 @@ createStore storePath config = do eitherPackageInfo <- loadPackageInfo config path case eitherPackageInfo of Right (packageInfo, packagePath) -> do - let packageId = - HCE.id - (packageInfo :: HCE.PackageInfo HCE.CompactModuleInfo) + let packageId = (packageInfo :: HCE.PackageInfo HCE.CompactModuleInfo).id addPackageInfo :: StateT Store.State IO () addPackageInfo = do Store.add @@ -544,17 +533,12 @@ createStore storePath config = do (\(modulePath, moduleInfo) -> do addExpressionInfo packageId - modulePath - (HCE.exprInfoMap - (moduleInfo :: HCE.CompactModuleInfo)) - Store.add - (HCE.definitionSiteMap - (moduleInfo :: HCE.CompactModuleInfo)) + modulePath moduleInfo.exprInfoMap + Store.add moduleInfo.definitionSiteMap ( packageId , modulePath , Proxy :: Proxy HCE.DefinitionSiteMap) - Store.add - (HCE.source (moduleInfo :: HCE.CompactModuleInfo)) + Store.add moduleInfo.source ( packageId , modulePath , Proxy :: Proxy (V.Vector T.Text))) . @@ -605,7 +589,7 @@ createStore storePath config = do ([], HM.empty, HM.empty, [], HM.empty, [], M.empty) packageDirectories let versions = - L.sortOn (T.toLower . (name :: PackageVersions -> T.Text)) . + L.sortOn (T.toLower . (\pv -> pv.name)) . map (\(name, vers) -> PackageVersions name (L.sortOn Down vers)) . HM.toList . HM.fromListWith (++) $ packageVersions' @@ -776,7 +760,7 @@ loadPackages config _ = do packageLoadErrors = lefts result packageInfos = map fst loadedPackages packageIds = - map (HCE.id :: HCE.PackageInfo modInfo -> HCE.PackageId) packageInfos + map (\modInfo -> modInfo.id) packageInfos unless (null packageInfos) $ do putStrLn "Loaded packages : " mapM_ (print . HCE.packageIdToText) packageIds @@ -786,7 +770,7 @@ loadPackages config _ = do if not . null $ loadedPackages then do let packageVersions = - L.sortOn (T.toLower . (name :: PackageVersions -> T.Text)) . + L.sortOn (T.toLower . (\pv -> pv.name)) . map (\(name, versions) -> PackageVersions name (L.sortOn Down versions)) . @@ -807,9 +791,7 @@ loadPackages config _ = do (\hMap (packageInfo, path) -> let key = PackageId $ - HCE.packageIdToText - (HCE.id - (packageInfo :: HCE.PackageInfo HCE.CompactModuleInfo)) + HCE.packageIdToText (packageInfo.id) in HM.insert key path hMap) HM.empty loadedPackages @@ -825,9 +807,7 @@ loadPackages config _ = do (HCE.packageIdToText packageId))) . HCE.externalIdOccMap $ packageInfo - packageId = - HCE.id - (packageInfo :: HCE.PackageInfo HCE.CompactModuleInfo) + packageId = packageInfo.id in HM.unionWith S.union references hMap) HM.empty loadedPackages @@ -864,13 +844,9 @@ loadPackages config _ = do else return Nothing where packageName :: HCE.PackageInfo HCE.CompactModuleInfo -> PackageName - packageName = - PackageName . - (HCE.name :: HCE.PackageId -> T.Text) . - (HCE.id :: HCE.PackageInfo modInfo -> HCE.PackageId) + packageName = PackageName . (\pid -> pid.name) . (\modInfo -> modInfo.id) packageVersion :: HCE.PackageInfo HCE.CompactModuleInfo -> Version - packageVersion = - HCE.version . (HCE.id :: HCE.PackageInfo modInfo -> HCE.PackageId) + packageVersion = (\modInfo -> modInfo.id.version) trieValues :: HCE.Trie k v -> [v] trieValues (HCE.Trie values children) = @@ -882,11 +858,7 @@ isExportedId (HCE.ExternalIdentifierInfo HCE.IdentifierInfo {isExported}) = ghcCompact :: forall a. a -> IO a ghcCompact = -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) (fmap C.getCompact . C.compact) -#else - return -#endif loadPackageInfo :: ServerConfig @@ -1103,8 +1075,7 @@ getExpressions packageId modulePath startLine startColumn endLine endColumn = do in case packageInfo' of PackageInfo packageInfo -> withModuleInfo packageInfo modulePath $ \modInfo -> do - let exprInfoMap = - HCE.exprInfoMap (modInfo :: HCE.CompactModuleInfo) + let exprInfoMap = modInfo.exprInfoMap findInterval exprInfoMap PackageInfoStore pId store -> do let topLevelExprKey = @@ -1155,15 +1126,9 @@ getDefinitionSite packageId componentId modName entity name' = let mbDefinitionSite = let name = fixDots name' in case entity of - HCE.Typ -> - HM.lookup (HCE.OccName name) $ - HCE.types (defSiteMap :: HCE.DefinitionSiteMap) - HCE.Val -> - HM.lookup (HCE.OccName name) $ - HCE.values (defSiteMap :: HCE.DefinitionSiteMap) - HCE.Inst -> - HM.lookup name $ - HCE.instances (defSiteMap :: HCE.DefinitionSiteMap) + HCE.Typ -> HM.lookup (HCE.OccName name) defSiteMap.types + HCE.Val -> HM.lookup (HCE.OccName name) defSiteMap.values + HCE.Inst -> HM.lookup name defSiteMap.instances _ -> Nothing case mbDefinitionSite of Just definitionSite -> return definitionSite @@ -1179,9 +1144,7 @@ getDefinitionSite packageId componentId modName entity name' = ] in case packageInfo' of PackageInfo packageInfo -> - let pId = - HCE.id - (packageInfo :: HCE.PackageInfo HCE.CompactModuleInfo) + let pId = packageInfo.id in case HM.lookup modPath (HCE.moduleMap @@ -1316,20 +1279,18 @@ getReferences packageId externalId mbPage mbPerPage = Nothing Nothing refModulePath :: ReferenceWithSource -> HCE.HaskellModulePath - refModulePath = - (HCE.modulePath :: HCE.IdentifierSrcSpan -> HCE.HaskellModulePath) . - idSrcSpan + refModulePath = (\idSrcSpan -> idSrcSpan.modulePath) . idSrcSpan return $ addPaginationHeaders url paginatedReferences totalCount page perPage $ concatMap (\refs -> case refs of ref:_ -> - let path = - HCE.getHaskellModulePath . - (HCE.modulePath :: HCE.IdentifierSrcSpan -> HCE.HaskellModulePath) . - idSrcSpan $ - ref + let path = ref.idSrcSpan.modulePath.getHaskellModulePath + -- let path = + -- HCE.getHaskellModulePath . modulePath . idSrcSpan + -- idSrcSpan $ + -- ref in [SourceFile path refs] _ -> []) $ groupWith refModulePath $ @@ -1377,17 +1338,14 @@ mkReferenceWithSource packageInfo' spans@(srcSpan:_) = in case packageInfo' of PackageInfo packageInfo -> do let mbSource = - (HCE.source :: HCE.CompactModuleInfo -> V.Vector T.Text) <$> - HM.lookup - (HCE.modulePath (srcSpan :: HCE.IdentifierSrcSpan)) - (HCE.moduleMap - (packageInfo :: HCE.PackageInfo HCE.CompactModuleInfo)) + (\compact -> compact.source) <$> + HM.lookup srcSpan.modulePath packageInfo.moduleMap mkRef mbSource PackageInfoStore packageId store -> do let eitherSourceCode = Store.lookup ( packageId - , HCE.modulePath (srcSpan :: HCE.IdentifierSrcSpan) + , srcSpan.modulePath , Proxy :: Proxy (V.Vector T.Text)) store case eitherSourceCode of @@ -1678,7 +1636,7 @@ withModuleInfo packageInfo path action = , " is not found in package " , toLazyBS $ HCE.packageIdToText $ - HCE.id (packageInfo :: HCE.PackageInfo HCE.CompactModuleInfo) + packageInfo.id ] withModulePath :: @@ -1700,7 +1658,7 @@ withModulePath packageInfo' componentId moduleName action = case HM.lookup (HCE.ComponentId "lib") modulePathMap of Just path -> action path Nothing -> notFoundInComponent - Nothing -> notFoundInPackage (HCE.id (packageInfo :: HCE.PackageInfo HCE.CompactModuleInfo)) + Nothing -> notFoundInPackage packageInfo.id PackageInfoStore packageId store -> do let eitherModNameMap = Store.lookup @@ -1814,11 +1772,19 @@ staticMiddleware _ _ mbJsDistPath _app req callback = Just bs -> callback $ sendEmbeddedFile path bs Nothing -> callback $ sendEmbeddedFile "index.html" indexHtml +#ifdef HASKELL_CODE_INDEXER +staticAssets :: HM.HashMap FilePath BS.ByteString +staticAssets = HM.empty + +indexHtml :: BS.ByteString +indexHtml = BS.empty +#else staticAssets :: HM.HashMap FilePath BS.ByteString staticAssets = HM.fromList $(embedDir "javascript/release") indexHtml :: BS.ByteString indexHtml = $(embedFile "javascript/release/index.html") +#endif sendFile :: FilePath -> Response sendFile path = @@ -1839,11 +1805,7 @@ fileNotFound :: Response fileNotFound = responseLBS status404 [("Content-Type", "text/plain")] "Not found" -#if MIN_VERSION_GLASGOW_HASKELL(8,6,5,0) throwServantError :: (MonadIO m) => ServerError -> m a -#else -throwServantError :: (MonadIO m) => ServantErr -> m a -#endif throwServantError = liftIO . throwIO server :: Environment -> ServerT API Handler @@ -1924,4 +1886,4 @@ main = do run (configPort config) (loggerMiddleware . static $ application environment) - Nothing -> putStrLn "No packages found." + Nothing -> putStrLn "No packages found." \ No newline at end of file diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..e69de29 diff --git a/haskell-code-explorer.cabal b/haskell-code-explorer.cabal index ba96f89..40aa130 100644 --- a/haskell-code-explorer.cabal +++ b/haskell-code-explorer.cabal @@ -1,5 +1,6 @@ +cabal-version: 3.8 name: haskell-code-explorer -version: 0.1.0.0 +version: 0.2.0.0 synopsis: Web application for exploring and understanding Haskell codebases Category: GHC,Web description: Please see README.md @@ -8,7 +9,6 @@ license-file: LICENSE author: Alexey Kiryushin maintainer: alexey.a.kiryushin@gmail.com build-type: Simple -cabal-version: >=1.20 library default-language: Haskell2010 @@ -20,19 +20,21 @@ library , HaskellCodeExplorer.AST.RenamedSource , HaskellCodeExplorer.AST.TypecheckedSource hs-source-dirs: src - ghc-options: -Wall -O2 -funbox-strict-fields + ghc-options: -Wall -O2 -funbox-strict-fields -package ghc build-depends: IntervalMap , aeson , attoparsec , base , blaze-html , deepseq + , Cabal + , Cabal-syntax , bytestring - , cabal-helper , cereal , containers , directory , directory-tree + , exceptions , filemanip , filepath , ghc @@ -52,16 +54,19 @@ library executable haskell-code-indexer main-is: Indexer.hs - ghc-options: -Wall -rtsopts -O2 -funbox-strict-fields + ghc-options: -Wall -rtsopts -O2 -funbox-strict-fields -package ghc other-modules: Paths_haskell_code_explorer hs-source-dirs: app build-depends: IntervalMap , aeson , base , bytestring + , Cabal + , Cabal-syntax , cereal , directory , filepath + , ghc , optparse-applicative , text , time @@ -75,7 +80,7 @@ executable haskell-code-indexer executable haskell-code-server main-is: Server.hs - ghc-options: -Wall -O2 -rtsopts -funbox-strict-fields -threaded + ghc-options: -Wall -O2 -rtsopts -funbox-strict-fields -threaded -package ghc hs-source-dirs: app,src other-modules: HaskellCodeExplorer.Types, Store build-depends: IntervalMap @@ -86,8 +91,10 @@ executable haskell-code-server , containers , deepseq , directory + , exceptions , filemanip , filepath + , ghc , blaze-html , text , unordered-containers @@ -116,8 +123,7 @@ executable haskell-code-server , uri-encode , lens-aeson , wreq - if impl(ghc >= 8.4.3) - build-depends: ghc-compact + build-depends: ghc-compact test-suite test default-language: Haskell2010 diff --git a/install.hs b/install.hs index 6db36fa..da36b3b 100755 --- a/install.hs +++ b/install.hs @@ -41,7 +41,7 @@ import System.Process.Typed -- | Keep this in sync with the stack.yamls at the top level of the project. supportedGhcVersions :: [Version] supportedGhcVersions = - map Version ["8.0.2", "8.2.2", "8.4.3", "8.4.4", "8.6.3", "8.6.4","8.6.5"] + map Version ["9.10.2"] newtype Version = Version { unVersion :: String } deriving Eq diff --git a/javascript/.gitignore b/javascript/.gitignore index 20b90e3..3ee46a6 100644 --- a/javascript/.gitignore +++ b/javascript/.gitignore @@ -12,4 +12,4 @@ /coverage/* /libpeerconnection.log npm-debug.log -testem.log +testem.log \ No newline at end of file diff --git a/src/HaskellCodeExplorer/AST/RenamedSource.hs b/src/HaskellCodeExplorer/AST/RenamedSource.hs index 44e0190..3c0cf50 100644 --- a/src/HaskellCodeExplorer/AST/RenamedSource.hs +++ b/src/HaskellCodeExplorer/AST/RenamedSource.hs @@ -9,88 +9,83 @@ module HaskellCodeExplorer.AST.RenamedSource ( NameOccurrence(..) , namesFromRenamedSource ) where - -import BasicTypes (TupleSort(..)) -import BooleanFormula (BooleanFormula(..)) +import GHC.Types.Var (Specificity(..)) +import GHC.Types.Basic (TupleSort(..)) +import GHC.Data.BooleanFormula (BooleanFormula(..)) +import GHC.Builtin.Types (naturalTy, typeSymbolKind) +import GHC.TypeLits (Nat, Symbol) +import Language.Haskell.Syntax.Type +import Data.List.NonEmpty (toList) +import qualified GHC.Data.Strict as Strict +import GHC.Hs.Pat (HsRecField(..), hfbLHS, HsFieldBind(..)) import Data.Generics (Data, everything, extQ, mkQ) import Data.Maybe (Maybe(..), mapMaybe) +import GHC.Hs.Expr (HsBracketTc(..), HsExpr(..), HsQuote(..)) +import GHC.Hs.Type (HsTyVarBndr(..), HsConDetails(..)) import qualified Data.Text as T (Text) import GHC ( AmbiguousFieldOcc(..) + , getLocA + , IdP + , recordPatSynPatVar + , unXRec + , FunDep(..) + , anchor + , LIdP + , NameAnn , ConDecl(..) , ConDeclField(..) -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -#else - , DataFamInstDecl(..) -#endif , FamilyDecl(..) + , EpAnn + , XRec , FieldOcc(..) , FixitySig(..) , ForeignDecl(..) , GenLocated(..) , HsBindLR(..) , HsExpr(..) -#if MIN_VERSION_GLASGOW_HASKELL(8,4,1,0) , HsPatSynDetails -#else - , HsPatSynDetails(..) -#endif - , HsRecField'(..) + , HsRecField(..) , HsTupleSort(..) , HsTyLit(..) - , HsTyPats , HsTyVarBndr(..) , HsType(..) , IE(..) , LHsBindLR , LHsExpr -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -#else - , LHsQTyVars(..) -#endif + , LHsTyPat , LHsType + , locA , LPat , LSig , LTyClDecl , Located - , HsBracket(..) -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) , HsMatchContext(..) , Match(..) -#else - , m_fixity - , MatchFixity(..) -#endif , MatchGroup(..) , Name , Pat(..) , PatSynBind(..) , Sig(..) , TyClDecl(..) -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) , FamEqn(..) , HsDataDefn(..) -#else - , TyFamEqn(..) -#endif , Type , RoleAnnotDecl(..) , InjectivityAnn (..) , unLoc ) -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -import HsExtension (GhcRn) -#endif +import GHC.Hs.Extension (GhcRn) import HaskellCodeExplorer.GhcUtils (hsPatSynDetails, ieLocNames, ghcDL) import Prelude hiding (span) -import TysWiredIn +import GHC.Builtin.Types ( nilDataConName , tupleTyConName - , typeNatKind - , typeSymbolKind ) -import SrcLoc - ( mkRealSrcSpan +import GHC.Types.SrcLoc + ( getLoc + , mkRealSrcSpan + , noSrcSpan , mkRealSrcLoc , realSrcSpanEnd , realSrcSpanStart @@ -119,14 +114,8 @@ namesFromRenamedSource = hsTypeNames `extQ` tyClDeclNames `extQ` familyDeclNames `extQ` -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) familyEqNames `extQ` dataEqNames `extQ` -#else - tyFamilyEqNames `extQ` - tyFamilyDefEqNames `extQ` - dataFamInstDeclNames `extQ` -#endif conDeclNames `extQ` importNames `extQ` hsTyVarBndrNames `extQ` @@ -139,438 +128,277 @@ namesFromRenamedSource = roleAnnotationNames `extQ` injectivityAnnotationNames) -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) fieldOccName :: Bool -> FieldOcc GhcRn -> NameOccurrence -#else -fieldOccName :: Bool -> FieldOcc Name -> NameOccurrence -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -fieldOccName _ (XFieldOcc _) = undefined -fieldOccName isBinder (FieldOcc name (L span _)) = -#else -fieldOccName isBinder (FieldOcc (L span _) name) = -#endif - NameOccurrence - { locatedName = L span (Just name) - , description = "FieldOcc" - , isBinder = isBinder - } +fieldOccName isBinder FieldOcc{ foExt = name, foLabel = L ann _rdr } = + let span' = locA ann + in NameOccurrence + { locatedName = L span' (Just name) + , description = "FieldOcc" + , isBinder = isBinder + } -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) conDeclFieldNames :: ConDeclField GhcRn -> [NameOccurrence] -#else -conDeclFieldNames :: ConDeclField Name -> [NameOccurrence] -#endif conDeclFieldNames ConDeclField {..} = map (fieldOccName True . unLoc) cd_fld_names -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) conDeclFieldNames _ = [] -#endif - -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -hsRecFieldExprNames :: HsRecField' (FieldOcc GhcRn) (LHsExpr GhcRn) -> [NameOccurrence] -#else -hsRecFieldExprNames :: HsRecField' (FieldOcc Name) (LHsExpr Name) -> [NameOccurrence] -#endif -hsRecFieldExprNames HsRecField {..} = [fieldOccName False $ unLoc hsRecFieldLbl] -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -hsRecAmbFieldExprNames :: HsRecField' (AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn) -> [NameOccurrence] -#else -hsRecAmbFieldExprNames :: HsRecField' (AmbiguousFieldOcc Name) (LHsExpr Name) -> [NameOccurrence] -#endif -hsRecAmbFieldExprNames HsRecField {..} = - let (L span recField) = hsRecFieldLbl - mbName = - case recField of - Ambiguous _ _ -> Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,3,0) - Unambiguous name _ -> Just name - _ -> Nothing -#else - Unambiguous _ name -> Just name -#endif - in [ NameOccurrence - { locatedName = L span mbName - , description = "AmbiguousFieldOcc" - , isBinder = False - } - ] +hsRecFieldExprNames :: HsFieldBind (XRec GhcRn (FieldOcc GhcRn)) (LHsExpr GhcRn) -> [NameOccurrence] +hsRecFieldExprNames f = [ fieldOccName False (unLoc (hfbLHS f)) ] + +hsRecAmbFieldExprNames + :: HsFieldBind (XRec GhcRn (AmbiguousFieldOcc GhcRn)) (LHsExpr GhcRn) + -> [NameOccurrence] +hsRecAmbFieldExprNames f = + let spanA = getLocA (hfbLHS f) + in [ NameOccurrence + { locatedName = L spanA (Nothing :: Maybe Name) + , description = "AmbiguousFieldOcc" + , isBinder = False + } + ] -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -hsRecFieldPatNames :: HsRecField' (FieldOcc GhcRn) (LPat GhcRn) -> [NameOccurrence] -#else -hsRecFieldPatNames :: HsRecField' (FieldOcc Name) (LPat Name) -> [NameOccurrence] -#endif -hsRecFieldPatNames HsRecField {..} = [fieldOccName False $ unLoc hsRecFieldLbl] +hsRecFieldPatNames :: HsFieldBind (XRec GhcRn (FieldOcc GhcRn)) (LPat GhcRn) -> [NameOccurrence] +hsRecFieldPatNames f = [fieldOccName False $ unLoc (hfbLHS f)] -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) hsExprNames :: LHsExpr GhcRn -> [NameOccurrence] -#else -hsExprNames :: LHsExpr Name -> [NameOccurrence] -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -hsExprNames (L _span (HsVar _ name)) = -#else -hsExprNames (L _span (HsVar name)) = -#endif - [ NameOccurrence - { locatedName = Just <$> name - , description = "HsVar" - , isBinder = False - } - ] -hsExprNames (L span (ExplicitList _ _ exprs)) +hsExprNames (L _ (HsVar _ lname)) = + let span' = locA (getLoc lname) -- SrcSpanAnnN -> SrcSpan + n = unLoc lname -- Name + in [ NameOccurrence + { locatedName = L span' (Just n) -- Located (Maybe Name) with SrcSpan + , description = "HsVar" + , isBinder = False + } + ] +hsExprNames (L spanA (ExplicitList _ exprs)) | null exprs = - [ NameOccurrence - { locatedName = L span $ Just nilDataConName - , description = "ExplicitList" - , isBinder = False - } - ] + [ NameOccurrence + { locatedName = L (locA spanA) (Just nilDataConName) + , description = "ExplicitList" + , isBinder = False + } + ] | otherwise = [] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -hsExprNames (L _span (RecordCon _ name _)) = -#else -hsExprNames (L _span (RecordCon name _conLike _instFun _binds)) = -#endif - [ NameOccurrence - { locatedName = Just <$> name - , description = "RecordCon" - , isBinder = False - } - ] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -hsExprNames (L _span (HsRecFld _ (Unambiguous name (L span _)))) = -#else -hsExprNames (L _span (HsRecFld (Unambiguous (L span _) name))) = -#endif - [ NameOccurrence - { locatedName = L span (Just name) - , description = "HsRecFld" - , isBinder = False - } - ] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -hsExprNames (L _span (HsRecFld _ (Ambiguous _name (L span _)))) = -#else -hsExprNames (L _span (HsRecFld (Ambiguous (L span _) _name))) = -#endif - [ NameOccurrence - { locatedName = L span Nothing - , description = "HsRecFld" - , isBinder = False - } - ] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -hsExprNames (L span (HsRnBracketOut _ (VarBr _ quote name) _)) = -#else -hsExprNames (L span (HsRnBracketOut (VarBr quote name) _)) = -#endif - case span of - RealSrcSpan realSpan -> - let start = realSrcSpanStart realSpan - end = realSrcSpanEnd realSpan - offset = - if quote - then 1 -- 'x - else 2 -- ''T - start' = - mkRealSrcLoc - (srcLocFile start) - (srcLocLine start) - (srcLocCol start + offset) - span' = RealSrcSpan $ mkRealSrcSpan start' end - in [ NameOccurrence - { locatedName = L span' (Just name) - , description = "VarBr" - , isBinder = False - } - ] +hsExprNames (L _ (RecordCon _ conLike _)) = + let span' = locA (getLoc conLike) -- :: SrcSpan + n = unLoc conLike -- :: Name (ConLikeP GhcRn ~ Name at GhcRn) + in [ NameOccurrence + { locatedName = L span' (Just n) + , description = "RecordCon" + , isBinder = False + } + ] +hsExprNames (L spanA (HsUntypedBracket _ (VarBr _ quote (L _ name)))) = + case locA spanA of + RealSrcSpan realSpan _ -> + let start = realSrcSpanStart realSpan + end = realSrcSpanEnd realSpan + offset = if quote then 1 else 2 + start' = mkRealSrcLoc (srcLocFile start) + (srcLocLine start) + (srcLocCol start + offset) + span' = RealSrcSpan (mkRealSrcSpan start' end) Strict.Nothing + in [ NameOccurrence + { locatedName = L span' (Just name) + , description = "VarBr" + , isBinder = False + } + ] _ -> [] hsExprNames _ = [] -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) matchGroupNames :: MatchGroup GhcRn (LHsExpr GhcRn) -> [NameOccurrence] -#else -matchGroupNames :: MatchGroup Name (LHsExpr Name) -> [NameOccurrence] -#endif matchGroupNames = -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) mapMaybe (fmap toNameOcc . matchContextName . m_ctxt . unLoc) . -#else - mapMaybe (fmap toNameOcc . matchFixityName . m_fixity . unLoc) . -#endif unLoc . mg_alts where -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) - --matchContextName :: HsMatchContext Name -> Maybe (Located Name) - matchContextName (FunRhs name _ _bool) = Just name + matchContextName :: HsMatchContext (LIdP GhcRn) -> Maybe (GenLocated (EpAnn NameAnn) Name) + matchContextName (FunRhs name _ _) = Just name matchContextName _ = Nothing -#else - --matchFixityName :: MatchFixity Name -> Maybe (Located Name) - matchFixityName NonFunBindMatch = Nothing - matchFixityName (FunBindMatch name _bool) = Just name -#endif - --toNameOcc :: Located Name -> NameOccurrence + + toNameOcc :: GenLocated (EpAnn NameAnn) Name -> NameOccurrence toNameOcc n = - NameOccurrence - {locatedName = Just <$> n, description = "Match", isBinder = True} + let span = locA n + name = unLoc n + in NameOccurrence + { locatedName = Just <$> L span name + , description = "Match" + , isBinder = True + } -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) bindNames :: LHsBindLR GhcRn GhcRn -> [NameOccurrence] -#else -bindNames :: LHsBindLR Name Name -> [NameOccurrence] -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) bindNames (L _span (PatSynBind _ PSB {..})) = -#else -bindNames (L _span (PatSynBind PSB {..})) = -#endif - [ NameOccurrence - { locatedName = Just <$> psb_id - , description = "PatSynBind" - , isBinder = True - } - ] + let span = locA psb_id + name = unLoc psb_id + in [ NameOccurrence + { locatedName = L span (Just name) + , description = "PatSynBind" + , isBinder = True + } + ] bindNames _ = [] -hsPatSynDetailsNames :: HsPatSynDetails (Located Name) -> [NameOccurrence] -hsPatSynDetailsNames = - map - (\name -> - NameOccurrence - { locatedName = Just <$> name - , description = "HsPatSynDetails" - , isBinder = True - }) . - hsPatSynDetails +hsPatSynDetailsNames :: HsPatSynDetails GhcRn -> [NameOccurrence] +hsPatSynDetailsNames details = + let mkNameOccurrence (L l n) = + NameOccurrence + { locatedName = L (locA l) (Just n) + , description = "HsPatSynDetails" + , isBinder = True + } + in case details of + PrefixCon _ names -> map mkNameOccurrence names -- names :: [LIdP GhcRn] + InfixCon n1 n2 -> map mkNameOccurrence [n1, n2] -- n1,n2 :: LIdP GhcRn + RecCon fields -> map (mkNameOccurrence . recordPatSynPatVar) fields + -- recordPatSynPatVar :: RecordPatSynField GhcRn -> LIdP GhcRn -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) importNames :: IE GhcRn -> [NameOccurrence] -#else -importNames :: IE Name -> [NameOccurrence] -#endif importNames = - map - (\name -> - NameOccurrence - { locatedName = Just <$> name - , description = "IE" - , isBinder = False - }) . - ieLocNames - + map toNameOcc . ieLocNames + where + toNameOcc :: LIdP GhcRn -> NameOccurrence + toNameOcc lid = + let span = locA lid + name = unLoc lid + in NameOccurrence + { locatedName = L span (Just name) + , description = "IE" + , isBinder = False + } -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) patNames :: LPat GhcRn -> [NameOccurrence] -#else -patNames :: LPat Name -> [NameOccurrence] -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -patNames (ghcDL -> (L _span (VarPat _ name))) = -#else -patNames (L _span (VarPat name)) = -#endif +patNames (L _span (VarPat _ (L _ name))) = [ NameOccurrence - { locatedName = Just <$> name + { locatedName = L noSrcSpan (Just name) , description = "VarPat" , isBinder = True } ] -patNames (ghcDL -> (L _span (ConPatIn name _))) = +patNames (L _span (ConPat _ (L _ name) _)) = [ NameOccurrence - { locatedName = Just <$> name - , description = "ConPatIn" + { locatedName = L noSrcSpan (Just name) + , description = "ConPat" , isBinder = False } ] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -patNames (ghcDL -> (L _span (AsPat _ name _))) = -#else -patNames (L _span (AsPat name _)) = -#endif +patNames (L _span (AsPat _ (L ann name) _)) = [ NameOccurrence - { locatedName = Just <$> name - , description = "AsPat" - , isBinder = True - } + { locatedName = L (locA ann) (Just name) + , description = "AsPat" + , isBinder = True + } ] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -patNames (ghcDL -> (L _span (NPlusKPat _ name _ _ _ _))) = -#else -patNames (L _span (NPlusKPat name _ _ _ _ _)) = -#endif +patNames (L _span (NPlusKPat _ (L ann name) _ _ _ _)) = [ NameOccurrence - { locatedName = Just <$> name - , description = "NPlusKPat" - , isBinder = True - } + { locatedName = L (locA ann) (Just name) + , description = "NPlusKPat" + , isBinder = True + } ] patNames _ = [] - -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) sigNames :: LSig GhcRn -> [NameOccurrence] -#else -sigNames :: LSig Name -> [NameOccurrence] -#endif - -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) sigNames (L _span (TypeSig _ names _)) = -#else -sigNames (L _span (TypeSig names _)) = -#endif map - (\n -> + (\(L ann name) -> NameOccurrence - { locatedName = Just <$> n - , description = "TypeSig" - , isBinder = False - }) + { locatedName = L (locA ann) (Just name) + , description = "TypeSig" + , isBinder = False + }) + names +sigNames (L _span (PatSynSig _ names _)) = + map + (\(L ann name) -> + NameOccurrence + { locatedName = L (locA ann) (Just name) + , description = "PatSynSig" + , isBinder = False + }) names - -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -sigNames (L _span (PatSynSig _ names _)) = map (\name -> NameOccurrence (Just <$> name) "PatSynSig" False) names -#elif MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) -sigNames (L _span (PatSynSig names _)) = map (\name -> NameOccurrence (Just <$> name) "PatSynSig" False) names -#else -sigNames (L _span (PatSynSig name _)) = - [ NameOccurrence - { locatedName = Just <$> name - , description = "PatSynSig" - , isBinder = False - } - ] -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) sigNames (L _span (ClassOpSig _ _ names _)) = -#else -sigNames (L _span (ClassOpSig _ names _)) = -#endif map - (\n -> + (\(L ann name) -> NameOccurrence - { locatedName = Just <$> n - , description = "ClassOpSig" - , isBinder = True - }) + { locatedName = L (locA ann) (Just name) + , description = "ClassOpSig" + , isBinder = True + }) names -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) sigNames (L _span (FixSig _ (FixitySig _ names _))) = -#else -sigNames (L _span (FixSig (FixitySig names _))) = -#endif map - (\n -> + (\(L ann name) -> NameOccurrence - { locatedName = Just <$> n - , description = "FixitySig" - , isBinder = False - }) + { locatedName = L (locA ann) (Just name) + , description = "FixitySig" + , isBinder = False + }) names -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -sigNames (L _span (InlineSig _ name _)) = -#else -sigNames (L _span (InlineSig name _)) = -#endif +sigNames (L _span (InlineSig _ (L ann name) _)) = [ NameOccurrence - { locatedName = Just <$> name - , description = "InlineSig" - , isBinder = False - } + { locatedName = L (locA ann) (Just name) + , description = "InlineSig" + , isBinder = False + } ] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -sigNames (L _span (SpecSig _ name _ _)) = -#else -sigNames (L _span (SpecSig name _ _)) = -#endif +sigNames (L _span (SpecSig _ (L ann n) _ _)) = [ NameOccurrence - { locatedName = Just <$> name - , description = "SpecSig" - , isBinder = False - } + { locatedName = L (locA ann) (Just n) + , description = "SpecSig" + , isBinder = False + } ] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -sigNames (L _span (MinimalSig _ _ (L _ boolFormula))) = -#else sigNames (L _span (MinimalSig _ (L _ boolFormula))) = -#endif map - (\n -> + (\(L ann name) -> NameOccurrence - { locatedName = Just <$> n - , description = "MinimalSig" - , isBinder = False - }) . - boolFormulaNames $ - boolFormula + { locatedName = L (locA ann) (Just name) + , description = "MinimalSig" + , isBinder = False + }) + (boolFormulaNames boolFormula) where - boolFormulaNames :: BooleanFormula name -> [name] + boolFormulaNames :: BooleanFormula (LIdP GhcRn) -> [LIdP GhcRn] boolFormulaNames (Var a) = [a] boolFormulaNames (And fs) = concatMap (boolFormulaNames . unLoc) fs boolFormulaNames (Or fs) = concatMap (boolFormulaNames . unLoc) fs boolFormulaNames (Parens (L _ f)) = boolFormulaNames f sigNames (L _ _) = [] -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) hsTypeNames :: LHsType GhcRn -> [NameOccurrence] -#else -hsTypeNames :: LHsType Name -> [NameOccurrence] -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -hsTypeNames (L _span (HsTyVar _ _promoted name)) = -#elif MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) -hsTypeNames (L _span (HsTyVar _promoted name)) = -#else -hsTypeNames (L _span (HsTyVar name)) = -#endif +hsTypeNames (L _span (HsTyVar _ _promoted (L ann n))) = [ NameOccurrence - { locatedName = Just <$> name - , description = "HsTyVar" - , isBinder = False - } + { locatedName = L (locA ann) (Just n) + , description = "HsTyVar" + , isBinder = False + } ] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -hsTypeNames (L span (HsTyLit _ lit)) = -#else -hsTypeNames (L span (HsTyLit lit)) = -#endif +hsTypeNames (L ann (HsTyLit _ lit)) = let kind = case lit of - HsNumTy _ _ -> typeNatKind + HsNumTy _ _ -> naturalTy HsStrTy _ _ -> typeSymbolKind in [ TyLitOccurrence - { locatedName = L span Nothing + { locatedName = L (locA ann) Nothing , description = "HsTyLit" , kind = kind } ] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -hsTypeNames (L _span (HsOpTy _ _ name _)) = -#else -hsTypeNames (L _span (HsOpTy _ name _)) = -#endif +hsTypeNames (L _span (HsOpTy _ _ _ (L ann name) _)) = [ NameOccurrence - { locatedName = Just <$> name - , description = "HsOpTy" - , isBinder = False - } + { locatedName = L (locA ann) (Just name) + , description = "HsOpTy" + , isBinder = False + } ] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -hsTypeNames (L span (HsTupleTy _ tupleSort types)) -#else -hsTypeNames (L span (HsTupleTy tupleSort types)) -#endif +hsTypeNames (L ann (HsTupleTy _ hsTupleSort types)) | null types = - let sort = - case tupleSort of - HsUnboxedTuple -> UnboxedTuple - HsBoxedTuple -> BoxedTuple - HsConstraintTuple -> ConstraintTuple - HsBoxedOrConstraintTuple -> BoxedTuple + let tupleSort :: TupleSort + tupleSort = case hsTupleSort of + HsUnboxedTuple -> UnboxedTuple + _ -> BoxedTuple in [ NameOccurrence - { locatedName = L span (Just $ tupleTyConName sort 0) + { locatedName = L (locA ann) (Just $ tupleTyConName tupleSort 0) , description = "HsTupleTy" , isBinder = False } @@ -581,220 +409,136 @@ hsTypeNames (L span (HsTupleTy tupleSort types)) --hsTypeNames (L span (HsExplicitTupleTy _kind types)) = ... hsTypeNames _ = [] - -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -hsTyVarBndrNames :: HsTyVarBndr GhcRn -> [NameOccurrence] -#else -hsTyVarBndrNames :: HsTyVarBndr Name -> [NameOccurrence] -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -hsTyVarBndrNames (UserTyVar _ n) = -#else -hsTyVarBndrNames (UserTyVar n) = -#endif +hsTyVarBndrNames :: HsTyVarBndr Specificity GhcRn -> [NameOccurrence] +hsTyVarBndrNames (UserTyVar _ _ n) = [ NameOccurrence - { locatedName = Just <$> n - , description = "UserTyVar" - , isBinder = True - } + { locatedName = L (getLocA n) (Just (unLoc n)) + , description = "UserTyVar" + , isBinder = True + } ] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -hsTyVarBndrNames (KindedTyVar _ n _) = -#else -hsTyVarBndrNames (KindedTyVar n _) = -#endif +hsTyVarBndrNames (KindedTyVar _ _ n _) = [ NameOccurrence - { locatedName = Just <$> n - , description = "KindedTyVar" - , isBinder = True - } + { locatedName = L (getLocA n) (Just (unLoc n)) + , description = "KindedTyVar" + , isBinder = True + } ] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) hsTyVarBndrNames _ = [] -#endif - -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) tyClDeclNames :: LTyClDecl GhcRn -> [NameOccurrence] -#else -tyClDeclNames :: LTyClDecl Name -> [NameOccurrence] -#endif tyClDeclNames (L _span DataDecl {..}) = [ NameOccurrence - { locatedName = Just <$> tcdLName - , description = "DataDecl" - , isBinder = True - } + { locatedName = L (locA (getLoc tcdLName)) (Just (unLoc tcdLName)) + , description = "DataDecl" + , isBinder = True + } ] tyClDeclNames (L _span SynDecl {..}) = [ NameOccurrence - { locatedName = Just <$> tcdLName - , description = "SynDecl" - , isBinder = True - } + { locatedName = L (locA (getLoc tcdLName)) (Just (unLoc tcdLName)) + , description = "SynDecl" + , isBinder = True + } ] tyClDeclNames (L _span ClassDecl {..}) = NameOccurrence - { locatedName = Just <$> tcdLName - , description = "ClassDecl" - , isBinder = True - } : - concatMap - ((\(names1, names2) -> map toNameOcc names1 ++ map toNameOcc names2) . unLoc) - tcdFDs + { locatedName = L (locA (getLoc tcdLName)) (Just (unLoc tcdLName)) + , description = "ClassDecl" + , isBinder = True + } + : concatMap + (\fd -> case unLoc fd of + FunDep _ lhs rhs -> + map toNameOcc lhs ++ map toNameOcc rhs) + tcdFDs where - toNameOcc :: Located Name -> NameOccurrence + toNameOcc :: LIdP GhcRn -> NameOccurrence toNameOcc n = NameOccurrence - { locatedName = Just <$> n - , description = "FunDep" - , isBinder = False - } + { locatedName = L (locA (getLoc n)) (Just (unLoc n)) + , description = "FunDep" + , isBinder = False + } tyClDeclNames _ = [] -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) familyDeclNames :: FamilyDecl GhcRn -> [NameOccurrence] -#else -familyDeclNames :: FamilyDecl Name -> [NameOccurrence] -#endif familyDeclNames FamilyDecl {..} = [ NameOccurrence - { locatedName = Just <$> fdLName - , description = "FamilyDecl" - , isBinder = True - } + { locatedName = L (locA (getLoc fdLName)) (Just (unLoc fdLName)) + , description = "FamilyDecl" + , isBinder = True + } ] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) familyDeclNames _ = [] -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -familyEqNames :: FamEqn GhcRn (HsTyPats GhcRn) (LHsType GhcRn) -> [NameOccurrence] +familyEqNames :: FamEqn GhcRn (LHsType GhcRn) -> [NameOccurrence] familyEqNames FamEqn {feqn_tycon = tyCon} = [ NameOccurrence - { locatedName = Just <$> tyCon + { locatedName = L (locA (getLoc tyCon)) (Just (unLoc tyCon)) , description = "FamEqn" - , isBinder = False + , isBinder = False } ] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) familyEqNames _ = [] -#endif -dataEqNames :: FamEqn GhcRn (HsTyPats GhcRn) (HsDataDefn GhcRn) -> [NameOccurrence] +dataEqNames :: FamEqn GhcRn (HsDataDefn GhcRn) -> [NameOccurrence] dataEqNames FamEqn {feqn_tycon = tyCon} = [ NameOccurrence - { locatedName = Just <$> tyCon - , description = "FamEqn" - , isBinder = False - } + { locatedName = L (locA (getLoc tyCon)) (Just (unLoc tyCon)) + , description = "FamEqn" + , isBinder = False + } ] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) dataEqNames _ = [] -#endif -#else -tyFamilyEqNames :: TyFamEqn Name (HsTyPats Name) -> [NameOccurrence] -tyFamilyEqNames TyFamEqn {tfe_tycon = tyCon} = - [ NameOccurrence - { locatedName = Just <$> tyCon - , description = "TyFamEqn" - , isBinder = False - } - ] - -tyFamilyDefEqNames :: TyFamEqn Name (LHsQTyVars Name) -> [NameOccurrence] -tyFamilyDefEqNames TyFamEqn {tfe_tycon = tyCon} = - [ NameOccurrence - { locatedName = Just <$> tyCon - , description = "TyFamEqn" - , isBinder = False - } - ] - -dataFamInstDeclNames :: DataFamInstDecl Name -> [NameOccurrence] -dataFamInstDeclNames DataFamInstDecl {dfid_tycon = tyCon} = - [ NameOccurrence - { locatedName = Just <$> tyCon - , description = "DataFamInstDecl" - , isBinder = False - } - ] -#endif - -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) conDeclNames :: ConDecl GhcRn -> [NameOccurrence] -#else -conDeclNames :: ConDecl Name -> [NameOccurrence] -#endif conDeclNames con = case con of ConDeclGADT {con_names = names} -> map (\n -> NameOccurrence - { locatedName = Just <$> n - , description = "ConDeclGADT" - , isBinder = True - }) - names + { locatedName = L (locA (getLoc n)) (Just (unLoc n)) + , description = "ConDeclGADT" + , isBinder = True + }) + (toList names) ConDeclH98 {con_name = name} -> [ NameOccurrence - { locatedName = Just <$> name - , description = "ConDeclH98" - , isBinder = True - } + { locatedName = L (locA (getLoc name)) (Just (unLoc name)) + , description = "ConDeclH98" + , isBinder = True + } ] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) _ -> [] -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foreignDeclNames :: ForeignDecl GhcRn -> [NameOccurrence] -#else -foreignDeclNames :: ForeignDecl Name -> [NameOccurrence] -#endif foreignDeclNames decl = [ NameOccurrence - { locatedName = Just <$> fd_name decl - , description = "ForeignDecl" - , isBinder = True - } + { locatedName = L (locA (getLoc (fd_name decl))) (Just (unLoc (fd_name decl))) + , description = "ForeignDecl" + , isBinder = True + } ] - -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) + roleAnnotationNames :: RoleAnnotDecl GhcRn -> [NameOccurrence] -#else -roleAnnotationNames :: RoleAnnotDecl Name -> [NameOccurrence] -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) roleAnnotationNames (RoleAnnotDecl _ n _) = -#else -roleAnnotationNames (RoleAnnotDecl n _) = -#endif [ NameOccurrence - { locatedName = Just <$> n + { locatedName = L (locA (getLoc n)) (Just (unLoc n)) , description = "RoleAnnotDecl" - , isBinder = False + , isBinder = False } ] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -roleAnnotationNames _ = [] -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) injectivityAnnotationNames :: InjectivityAnn GhcRn -> [NameOccurrence] -#else -injectivityAnnotationNames :: InjectivityAnn Name -> [NameOccurrence] -#endif -injectivityAnnotationNames (InjectivityAnn lhsName rhsNames) = - injAnnNameOcc lhsName : map injAnnNameOcc rhsNames +injectivityAnnotationNames (InjectivityAnn _ lhsName rhsNames) = + inj lhsName : map inj rhsNames where - injAnnNameOcc :: GenLocated SrcSpan Name -> NameOccurrence - injAnnNameOcc n = + inj :: LIdP GhcRn -> NameOccurrence + inj n = NameOccurrence - { locatedName = Just <$> n + { locatedName = L (getLocA n) (Just (unLoc n)) , description = "InjectivityAnn" - , isBinder = False - } - + , isBinder = False + } \ No newline at end of file diff --git a/src/HaskellCodeExplorer/AST/TypecheckedSource.hs b/src/HaskellCodeExplorer/AST/TypecheckedSource.hs index 41a202e..a5226fd 100644 --- a/src/HaskellCodeExplorer/AST/TypecheckedSource.hs +++ b/src/HaskellCodeExplorer/AST/TypecheckedSource.hs @@ -18,37 +18,58 @@ module HaskellCodeExplorer.AST.TypecheckedSource , removeOverlappingInterval ) where -import Bag (bagToList) -import BasicTypes (Origin(..)) -import Class (Class, classTyVars) -import ConLike (ConLike(..) -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) - , conLikeWrapId_maybe -#endif - ) +import GHC.Core.TyCo.Rep (Scaled(..), scaledThing) +import GHC.Core.TyCon (tyConDataCons) +import GHC.Data.Bag (bagToList) +import GHC.Types.Basic (Origin(..)) +import GHC.Core.Class (Class, classTyVars, className) import Control.Monad (return, unless, void) import Control.Monad.State.Strict (State, get, modify') import qualified Data.HashMap.Strict as HM import qualified Data.IntMap.Strict as IM import qualified Data.IntervalMap.Strict as IVM +import GHC.Unit.State (UnitState) import qualified Data.Map.Strict as M +import GHC.Core.ConLike (ConLike(..)) +import GHC.Core.DataCon (dataConWrapId) +import GHC.Core.PatSyn (patSynBuilder) +import GHC.Core.Predicate +import GHC.Core.Type (mkVisFunTy, mkVisFunTyMany, splitForAllTyCoVars) +import Data.List (find, span) import Data.Maybe (Maybe, fromMaybe, mapMaybe) +import GHC.Utils.Outputable (ppr, showSDocUnsafe) import qualified Data.Set as S import qualified Data.Text as T -import DataCon (dataConWorkId) -import DynFlags (DynFlags) -import FastString (mkFastString) +import GHC.Types.Id +import GHC.Driver.Session (DynFlags) +import GHC.Core.Type (mkVisFunTyMany) +import GHC.Data.FastString (mkFastString) import HaskellCodeExplorer.GhcUtils import qualified HaskellCodeExplorer.Types as HCE -import HsBinds (RecordPatSynField(..) -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -#else - , HsPatSynDetails (..) -#endif - ) -import HsSyn +import GHC.Types.TyThing (TyThing(..)) +import GHC.Core.DataCon (dataConTyCon, dataConRepType) +import GHC.Hs ( ABExport(..) + , anchor + , unXRec + , NoExtField(..) + , LIdP(..) + , HsRecUpdField + , noAnnSrcSpan + , noLocA + , getLocA + , EpAnn(..) + , locA + , AmbiguousFieldOcc(..) , ApplicativeArg(..) + , RecordPatSynField(..) + , AbsBinds(..) + , SrcSpanAnnA + , HsWrap(..) + , MatchGroupTc(..) + , OverLitTc(..) + , HsFieldBind(..) + , XXExprGhcTc(..) , ArithSeqInfo(..) , FieldOcc(..) , GRHS(..) @@ -61,7 +82,7 @@ import HsSyn , HsExpr(..) , HsLocalBindsLR(..) , HsOverLit(..) - , HsRecField'(..) + , HsRecField(..) , HsRecFields(..) , HsTupArg(..) , HsValBindsLR(..) @@ -80,80 +101,72 @@ import HsSyn , LPat , LStmtLR , Match(..) + , XXPatGhcTc(..) , Match(..) , MatchGroup(..) , ParStmtBlock(..) , Pat(..) + , RecFieldsDotDot(..) , PatSynBind(..) , StmtLR(..) , selectorAmbiguousFieldOcc -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) - , RecordConTc (..) - , RecordUpdTc (..) - , ListPatTc (..) - , OverLitTc (..) - , MatchGroupTc (..) + , XRecordCon (..) + , XRecordUpd (..) + , XListPat (..) + , XOverLit (..) + , MatchGroup (..) , NHsValBindsLR (..) -#endif ) -import HscTypes (TypeEnv, lookupTypeEnv) -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -import HsExtension (GhcTc) -#endif -import Id (idType) -import IdInfo (IdDetails(..)) -import InstEnv +import GHC.Types.TypeEnv (TypeEnv, lookupTypeEnv) +import GHC.Hs.Extension (GhcPs, GhcRn, GhcTc) +import GHC.Types.Id (idType) +import GHC.Core.InstEnv ( ClsInst(..) , InstEnvs , instanceSig , is_dfun , lookupUniqueInstEnv ) -import Name (Name, nameOccName, nameUnique) +import GHC.Types.Name (Name, nameOccName, nameUnique) import Prelude hiding (span) -import SrcLoc +import GHC.Types.SrcLoc ( GenLocated(..) - , SrcSpan(..) + , getLoc + , noLoc + , RealSrcSpan(..) , isGoodSrcSpan , isOneLineSpan + , Located + , SrcSpan(..) + , UnhelpfulSpanReason(..) + , noSrcSpan , unLoc -#if MIN_VERSION_GLASGOW_HASKELL(8,8,1,0) - , cL -#endif ) -import TcEvidence (HsWrapper(..)) -import TcHsSyn (conLikeResTy, hsLitType) -import Type - ( TyThing(..) - , Type -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) - , nonDetCmpTypes -#else - , cmpTypes -#endif - , eqTypes - , eqType - , getClassPredTys_maybe +import GHC.Tc.Types.Evidence (HsWrapper(..)) +import GHC.Core.ConLike (ConLike(..), conLikeResTy) +import GHC.Hs.Syn.Type (hsLitType, hsExprType) +import GHC.Core.TyCo.Compare (nonDetCmpTypes, eqTypes, eqType) +import GHC.Core.Type + ( Type , mkFunTy - , mkFunTys - , splitForAllTys , splitFunTy_maybe , splitFunTys , substTys , tidyOpenType , zipTvSubst ) -import TysWiredIn (mkListTy, mkTupleTy) -import Unique (getKey) -import Var (Id, Var, idDetails, isId, setVarName, setVarType, varName, varType) -import VarEnv (TidyEnv) +import GHC.Types.Unique (getKey) +import GHC.Builtin.Types (mkListTy, mkTupleTy, manyDataConTy, manyDataCon) +import GHC.Types.Var (Id, Var, idDetails, isId, setVarName, setVarType, varName, varType) +import GHC.Types.Id.Info ( IdDetails(..)) +import GHC.Types.Var.Env (TidyEnv) data ASTState = ASTState { astStateExprInfoMap :: !HCE.ExpressionInfoMap -- ^ Type of each expression , astStateIdOccMap :: !HCE.IdentifierOccurrenceMap -- ^ Each occurrence of an identifier in a source code - , astStateIdSrcSpanMap :: !(M.Map SrcSpan (Var, Maybe (Type, [Type]))) + , astStateIdSrcSpanMap :: !(M.Map RealSrcSpan (Var, Maybe (Type, [Type]))) -- ^ Intermediate data structure that is used to populate 'IdentifierOccurrenceMap' -- and 'IdentifierInfoMap'. -- 'SrcSpan' - location of an identifier in a source code @@ -180,6 +193,7 @@ data TypeError = TypeError data Environment = Environment { envDynFlags :: DynFlags + , envUnitState :: UnitState , envTypeEnv :: TypeEnv , envInstEnv :: InstEnvs , envTransformation :: HCE.SourceCodeTransformation @@ -206,14 +220,10 @@ exprSort HsIPVar {} = Simple exprSort HsOverLit {} = Simple exprSort HsLit {} = Simple -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) exprSort (ExplicitTuple _ args _) -#else -exprSort (ExplicitTuple args _) -#endif | null args = Simple | otherwise = Composite -exprSort (ExplicitList _ _ args) +exprSort (ExplicitList _ args) | null args = Simple | otherwise = Composite exprSort _ = Composite @@ -223,18 +233,10 @@ patSort :: Pat a -> ExprSort patSort WildPat {} = Simple patSort LitPat {} = Simple patSort NPat {} = Simple -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) patSort (ListPat _ pats) -#else -patSort (ListPat pats _ _) -#endif | null pats = Simple | otherwise = Composite -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) patSort (TuplePat _ pats _) -#else -patSort (TuplePat pats _ _) -#endif | null pats = Simple | otherwise = Composite patSort _ = Composite @@ -245,13 +247,13 @@ splitFunTySafe :: SrcSpan -> T.Text -> Type -> State ASTState (Maybe (Type, Type)) splitFunTySafe srcSpan astNode typ = case splitFunTy_maybe typ of - Just (ty1, ty2) -> return $ Just (ty1, ty2) + Just (_funTyFlag, _mult, ty1, ty2) -> return $ Just (ty1, ty2) Nothing -> do flags <- envDynFlags . astStateEnv <$> get let typeError = TypeError { typeErrorSrcSpan = srcSpan - , typeErrorMessage = T.append "splitFunTy : " $ toText flags typ + , typeErrorMessage = T.append "splitFunTy : " $ T.pack $ showSDocUnsafe (ppr typ) , typeErrorASTNodeName = astNode } modify' @@ -287,12 +289,11 @@ funResultTy2Safe srcSpan astNode typ = do Just resTy1 -> funResultTySafe srcSpan astNode resTy1 Nothing -> return Nothing -addIdentifierToIdSrcSpanMap :: - SrcSpan -> Id -> Maybe (Type, [Type]) -> State ASTState () +addIdentifierToIdSrcSpanMap :: SrcSpan -> Id -> Maybe (Type, [Type]) -> State ASTState () addIdentifierToIdSrcSpanMap span identifier mbTypes - | isGoodSrcSpan span = + | RealSrcSpan real _ <- span = modify' $ \astState@ASTState {astStateIdSrcSpanMap = ids} -> - let ids' = M.insert span (identifier, mbTypes) ids + let ids' = M.insert real (identifier, mbTypes) ids in astState {astStateIdSrcSpanMap = ids'} addIdentifierToIdSrcSpanMap _ _ _ = return () @@ -384,11 +385,7 @@ instance Eq InstTypes where (==) (InstTypes ts1) (InstTypes ts2) = eqTypes ts1 ts2 instance Ord InstTypes where -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) compare (InstTypes ts1) (InstTypes ts2) = nonDetCmpTypes ts1 ts2 -#else - compare (InstTypes ts1) (InstTypes ts2) = cmpTypes ts1 ts2 -#endif -- | Creates an instance resolution tree traceInstanceResolution :: @@ -422,15 +419,10 @@ traceInstanceResolution environment c ts = go c ts S.empty (mkType flags . idType $ is_dfun inst) (map (mkType flags) instTypes) (nameLocationInfo - flags - (envPackageId environment) - (envComponentId environment) - (envTransformation environment) - (envFileMap environment) - (envDefSiteMap environment) - (Just . instanceToText flags $ inst) - Nothing - (varName . is_dfun $ inst)) + (envUnitState environment) flags (envPackageId environment) + (envComponentId environment) (envTransformation environment) + (envFileMap environment) (envDefSiteMap environment) + (Just (instanceToText flags inst)) Nothing (varName (is_dfun inst))) (map (\(cl, tys) -> go @@ -454,6 +446,7 @@ mkIdentifierInfo environment identifier mbNameFromRenamedSource = defSiteMap = envDefSiteMap environment locationInfo = nameLocationInfo + (envUnitState environment) flags currentPackageId compId @@ -524,7 +517,7 @@ mkIdentifierOccurrence environment identifier nameFromRenamedSource mbInstTypes mbClass | isId identifier = case idDetails identifier of - ClassOpId cls -> Just cls + ClassOpId cls _ -> Just cls _ -> Nothing | otherwise = Nothing mbInstanceResolution = @@ -585,305 +578,189 @@ tidyType typ = do modify' (\s -> s {astStateTidyEnv = tidyEnv'}) return typ' -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldTypecheckedSource :: LHsBinds GhcTc -> State ASTState () -#else -foldTypecheckedSource :: LHsBinds Id -> State ASTState () -#endif foldTypecheckedSource = foldLHsBindsLR -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldLHsExpr :: LHsExpr GhcTc -> State ASTState (Maybe Type) -#else -foldLHsExpr :: LHsExpr Id -> State ASTState (Maybe Type) -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldLHsExpr (L _span (XExpr _)) = return Nothing foldLHsExpr (L _ (HsOverLit _ (XOverLit _))) = return Nothing -foldLHsExpr (L _ (HsLam _ (XMatchGroup _))) = return Nothing -foldLHsExpr (L _ (HsLamCase _ (XMatchGroup _))) = return Nothing +foldLHsExpr (L _ (HsLam _ _ (XMatchGroup _))) = return Nothing foldLHsExpr (L _ (HsCase _ _ (XMatchGroup _))) = return Nothing -foldLHsExpr (L span (HsVar _ (L _ identifier))) = -#else -foldLHsExpr (L span (HsVar (L _ identifier))) = -#endif - restoreTidyEnv $ do - (identifier', mbTypes) <- tidyIdentifier identifier - addIdentifierToIdSrcSpanMap span identifier' mbTypes - return . Just . varType $ identifier' +foldLHsExpr (L ann (HsVar _ identifierL)) = + case identifierL of + L loc identifier -> restoreTidyEnv $ do + (identifier', mbTypes) <- tidyIdentifier identifier + addIdentifierToIdSrcSpanMap (locA loc) identifier' mbTypes + return . Just . varType $ identifier' foldLHsExpr (L _ HsUnboundVar {}) = return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L _ (HsConLikeOut _ conLike)) = -#else -foldLHsExpr (L _ (HsConLikeOut conLike)) = -#endif +foldLHsExpr (L _ (XExpr (ConLikeTc con _ _))) = restoreTidyEnv $ do - let mbType = varType <$> conLikeWrapId_maybe conLike - mbType' <- maybe (return Nothing) (fmap Just . tidyType) mbType - return mbType' -#endif -foldLHsExpr (L _ HsRecFld {}) = return Nothing + let mbType = case con of + RealDataCon dc -> + let tyCon = dataConTyCon dc + dcs = tyConDataCons tyCon + mbId = find (\d -> d == dc) dcs -- or just use dc directly + in Just (dataConRepType dc) + PatSynCon ps -> Just (varType $ patSynId ps) + maybe (pure Nothing) (fmap Just . tidyType) mbType +foldLHsExpr (L _ (HsGetField {})) = return Nothing +foldLHsExpr (L _ (HsProjection {})) = return Nothing foldLHsExpr (L _ HsOverLabel {}) = return Nothing -foldLHsExpr (L span expr@HsIPVar {}) = do - addExprInfo span Nothing "HsIPVar" (exprSort expr) +foldLHsExpr (L ann expr@HsIPVar {}) = do + addExprInfo (locA ann) Nothing "HsIPVar" (exprSort expr) return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span (HsOverLit _ (OverLit (OverLitTc _ ol_type) _ _))) = -#else -foldLHsExpr (L span (HsOverLit OverLit {ol_type})) = -#endif +foldLHsExpr (L ann (HsOverLit _ (OverLit (OverLitTc _ _ ol_type) _))) = restoreTidyEnv $ do typ <- tidyType ol_type + let span = locA ann addExprInfo span (Just typ) "HsOverLit" - (if isOneLineSpan span - then Simple - else Composite) + (if isOneLineSpan span then Simple else Composite) return $ Just typ -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span (HsLit _ lit)) = -#else -foldLHsExpr (L span (HsLit lit)) = -#endif +foldLHsExpr (L ann (HsLit _ lit)) = restoreTidyEnv $ do typ <- tidyType $ hsLitType lit + let span = locA ann addExprInfo span (Just typ) "HsLit" - (if isOneLineSpan span - then Simple - else Composite) + (if isOneLineSpan span then Simple else Composite) return $ Just typ -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span expr@(HsLam _ (MG (MatchGroupTc {..}) mg_alts _))) = -#else -foldLHsExpr (L span expr@(HsLam MG {..})) = -#endif +foldLHsExpr (L ann expr@(HsLam _ _ (MG (MatchGroupTc {..}) mg_alts))) = restoreTidyEnv $ do - typ <- tidyType $ mkFunTys mg_arg_tys mg_res_ty + typ <- tidyType $ + foldr (\(Scaled m ty) acc -> mkVisFunTy m ty acc) mg_res_ty mg_arg_tys + let span = locA ann addExprInfo span (Just typ) "HsLam" (exprSort expr) mapM_ foldLMatch $ unLoc mg_alts return $ Just typ -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span expr@(HsLamCase _ (MG (MatchGroupTc {..}) mg_alts _))) = -#else -foldLHsExpr (L span expr@(HsLamCase MG {..})) = -#endif -#else -foldLHsExpr (L span expr@(HsLamCase _typ MG {..})) = -#endif - restoreTidyEnv $ do - typ <- tidyType $ mkFunTys mg_arg_tys mg_res_ty - addExprInfo span (Just typ) "HsLamCase" (exprSort expr) - mapM_ foldLMatch $ unLoc mg_alts - return $ Just typ -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span expr@(HsApp _ fun arg)) = do -#else -foldLHsExpr (L span expr@(HsApp fun arg)) = do -#endif - funTy <- foldLHsExpr fun +foldLHsExpr (L ann (HsApp ext fun arg)) = do + funTy <- foldLHsExpr fun _argTy <- foldLHsExpr arg + let span = locA ann + e = HsApp ext fun arg typ <- maybe (return Nothing) (funResultTySafe span "HsApp") funTy - addExprInfo span typ "HsApp" (exprSort expr) + addExprInfo span typ "HsApp" (exprSort e) return typ - -#if MIN_VERSION_GLASGOW_HASKELL(8,8,1,0) -foldLHsExpr (L span ex@(HsAppType _ expr _)) = do -#elif MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span ex@(HsAppType _ expr)) = do -#else -foldLHsExpr (L _ (HsAppType _ _)) = return Nothing -foldLHsExpr (L span ex@(HsAppTypeOut expr _)) = do -#endif +foldLHsExpr (L ann e@(HsAppType ext expr arg)) = do typ <- foldLHsExpr expr - addExprInfo span typ "HsAppType" (exprSort ex) + let span = locA ann + addExprInfo span typ "HsAppType" (exprSort e) return typ -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span expr@(OpApp _ left op right)) = do -#else -foldLHsExpr (L span expr@(OpApp left op _fixity right)) = do -#endif +foldLHsExpr (L ann e@(OpApp ext left op right)) = do opTyp <- foldLHsExpr op - typ <- maybe (return Nothing) (funResultTy2Safe span "HsApp") opTyp + let span = locA ann + typ <- maybe (return Nothing) (funResultTy2Safe span "OpApp") opTyp _ <- foldLHsExpr left _ <- foldLHsExpr right - addExprInfo span typ "OpApp" (exprSort expr) + addExprInfo span typ "OpApp" (exprSort e) return typ -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span e@(NegApp _ expr _syntaxExp)) = do -#else -foldLHsExpr (L span e@(NegApp expr _syntaxExp)) = do -#endif +foldLHsExpr (L ann e@(NegApp _ expr _)) = do typ <- foldLHsExpr expr + let span = locA ann addExprInfo span typ "NegApp" (exprSort e) return typ -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldLHsExpr (L _span (HsPar _ expr)) = foldLHsExpr expr -#else -foldLHsExpr (L _span (HsPar expr)) = foldLHsExpr expr -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span expr@(SectionL _ operand operator)) = do -#else -foldLHsExpr (L span expr@(SectionL operand operator)) = do -#endif +foldLHsExpr (L ann e@(SectionL ext operand operator)) = do opType <- foldLHsExpr operator - _ <- foldLHsExpr operand + _ <- foldLHsExpr operand + let span = locA ann mbTypes <- maybe (return Nothing) (splitFunTy2Safe span "SectionL") opType let typ = case mbTypes of - Just (_arg1, arg2, res) -> Just $ mkFunTy arg2 res - Nothing -> Nothing - addExprInfo span typ "SectionL" (exprSort expr) + Just (_arg1, arg2, res) -> Just (mkVisFunTyMany arg2 res) + Nothing -> Nothing + addExprInfo span typ "SectionL" (exprSort e) -- e 是裸 HsExpr return typ -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span e@(SectionR _ operator operand)) = do -#else -foldLHsExpr (L span e@(SectionR operator operand)) = do -#endif - opType <- foldLHsExpr operator - _ <- foldLHsExpr operand +foldLHsExpr (L ann e@(SectionR ext operator operand)) = do + opType <- foldLHsExpr operator + _ <- foldLHsExpr operand + let span = locA ann mbTypes <- maybe (return Nothing) (splitFunTy2Safe span "SectionR") opType let typ = case mbTypes of - Just (arg1, _arg2, res) -> Just $ mkFunTy arg1 res - Nothing -> Nothing + -- SectionR 固定了右参数,余下是 a -> res + Just (arg1, _arg2, res) -> Just (mkVisFunTyMany arg1 res) + -- 等价写法:Just (mkVisFunTy Many arg1 res) + Nothing -> Nothing addExprInfo span typ "SectionR" (exprSort e) return typ -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span e@(ExplicitTuple _ tupArgs boxity)) = do -#else -foldLHsExpr (L span e@(ExplicitTuple tupArgs boxity)) = do -#endif - tupleArgs <- mapM foldLHsTupArg tupArgs - let tupleSectionArgTys = - mapM fst . filter ((== TupArgMissing) . snd) $ tupleArgs - tupleArgTys = mapM fst tupleArgs - resultType = - mkFunTys <$> tupleSectionArgTys <*> (mkTupleTy boxity <$> tupleArgTys) - tidyEnv <- astStateTidyEnv <$> get - addExprInfo - span - (snd . tidyOpenType tidyEnv <$> resultType) - "ExplicitTuple" - (exprSort e) - return resultType -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) +-- foldLHsExpr expr@(L spanA e@(ExplicitTuple _ tupArgs boxity)) = do +-- tupleArgs <- mapM foldLHsTupArg tupArgs +-- let sectionArgs = mapMaybe fst . filter ((== TupArgMissing) . snd) $ tupleArgs +-- argTys = mapMaybe fst tupleArgs +-- resultType = pure $ foldr mkVisFunTyMany (mkTupleTy boxity argTys) sectionArgs +-- tidyEnv <- astStateTidyEnv <$> get +-- addExprInfo +-- (getLocA expr) +-- (snd . tidyOpenType tidyEnv <$> resultType) +-- "ExplicitTuple" +-- (exprSort e) +-- pure resultType foldLHsExpr (L _span (ExplicitSum _ _ _ expr)) = do -#else -foldLHsExpr (L _span (ExplicitSum _ _ expr _types)) = do -#endif -- TODO _ <- foldLHsExpr expr return Nothing -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span e@(HsCase _ expr (MG (MatchGroupTc {..}) mg_alts _))) = -#else -foldLHsExpr (L span e@(HsCase expr MG {..})) = -#endif +foldLHsExpr (L l e@(HsCase _ expr (MG (MatchGroupTc {..}) mg_alts))) = restoreTidyEnv $ do typ <- tidyType mg_res_ty _ <- foldLHsExpr expr mapM_ foldLMatch (unLoc mg_alts) - addExprInfo span (Just typ) "HsCase" (exprSort e) + addExprInfo (locA l) (Just typ) "HsCase" (exprSort e) return $ Just typ -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span e@(HsIf _ _mbSynExpr condExpr thenExpr elseExpr)) = do -#else -foldLHsExpr (L span e@(HsIf _mbSynExpr condExpr thenExpr elseExpr)) = do -#endif +foldLHsExpr expr@(L _ e@(HsIf _ condExpr thenExpr elseExpr)) = do _ <- foldLHsExpr condExpr typ <- foldLHsExpr thenExpr _ <- foldLHsExpr elseExpr - addExprInfo span typ "HsIf" (exprSort e) + addExprInfo (getLocA expr) typ "HsIf" (exprSort e) return typ -foldLHsExpr (L span e@(HsMultiIf typ grhss)) = - restoreTidyEnv $ do - typ' <- tidyType typ - addExprInfo span (Just typ') "HsMultiIf" (exprSort e) - mapM_ foldLGRHS grhss - return $ Just typ' -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span e@(HsLet _ (L _ binds) expr)) = do -#else -foldLHsExpr (L span e@(HsLet (L _ binds) expr)) = do -#endif +foldLHsExpr expr@(L _ e@(HsMultiIf typ grhss)) = restoreTidyEnv $ do + typ' <- tidyType typ + addExprInfo (getLocA expr) (Just typ') "HsMultiIf" (exprSort e) + mapM_ foldLGRHS grhss + return $ Just typ' +foldLHsExpr expr@(L _ e@(HsLet _ binds body)) = do _ <- foldHsLocalBindsLR binds - typ <- foldLHsExpr expr - addExprInfo span typ "HsLet" (exprSort e) + typ <- foldLHsExpr body + addExprInfo (getLocA expr) typ "HsLet" (exprSort e) return typ -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span expr@(HsDo typ _context (L _ stmts))) = -#else -foldLHsExpr (L span expr@(HsDo _context (L _ stmts) typ)) = -#endif +foldLHsExpr expr@(L l (HsDo typ _context (L _ stmts))) = restoreTidyEnv $ do typ' <- tidyType typ - addExprInfo span (Just typ') "HsDo" (exprSort expr) + addExprInfo (locA l) (Just typ') "HsDo" (exprSort (unLoc expr)) mapM_ foldLStmtLR stmts return $ Just typ' -foldLHsExpr (L span (ExplicitList typ _syntaxExpr exprs)) = +foldLHsExpr (L ann (ExplicitList typ exprs)) = restoreTidyEnv $ do typ' <- mkListTy <$> tidyType typ - unless (null exprs) $ addExprInfo span (Just typ') "ExplicitList" Composite + unless (null exprs) $ addExprInfo (locA ann) (Just typ') "ExplicitList" Composite mapM_ foldLHsExpr exprs return $ Just typ' -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -#else -foldLHsExpr (L span e@(ExplicitPArr typ exprs)) = - restoreTidyEnv $ do - typ' <- tidyType typ - addExprInfo span (Just typ') "ExplicitPArr" (exprSort e) - mapM_ foldLHsExpr exprs - return $ Just typ' -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span e@(RecordCon (RecordConTc _ conExpr) _ binds)) = do -#else -foldLHsExpr (L span e@(RecordCon (L _ _) _conLike conExpr binds)) = do -#endif - mbConType <- - fmap (snd . splitFunTys) <$> - foldLHsExpr (L (UnhelpfulSpan $ mkFastString "RecordCon") conExpr) - addExprInfo span mbConType "RecordCon" (exprSort e) +foldLHsExpr (L ann e@(RecordCon _ conExpr binds)) = do + let conLikeP = unLoc conExpr + mbConType = case conLikeP of + RealDataCon dc -> Just (dataConRepType dc) + _ -> Nothing + addExprInfo (locA ann) mbConType "RecordCon" (exprSort e) _ <- foldHsRecFields binds return mbConType -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span e@(RecordUpd (RecordUpdTc cons _inputTys outTys _wrapper) expr binds)) = -#else -foldLHsExpr (L span e@(RecordUpd expr binds cons _inputTys outTys _wrapper)) = -#endif - restoreTidyEnv $ do - -- cons is a non-empty list of DataCons that have all the upd'd fields - let typ = conLikeResTy (head cons) outTys - typ' <- tidyType typ - addExprInfo span (Just typ') "RecordUpd" (exprSort e) - _ <- foldLHsExpr expr - mapM_ foldLHsRecUpdField binds - return $ Just typ' -#if MIN_VERSION_GLASGOW_HASKELL(8,8,1,0) -foldLHsExpr (L span e@(ExprWithTySig _ expr _)) = do -#elif MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span e@(ExprWithTySig _ expr)) = do -#else -foldLHsExpr (L _span (ExprWithTySig _expr _type)) = return Nothing -foldLHsExpr (L span e@(ExprWithTySigOut expr _type)) = do -#endif +-- TODO +-- foldLHsExpr (L ann (RecordUpd { rupd_expr = expr, rupd_flds = updFields })) = do +-- typ <- foldLHsExpr expr +-- addExprInfo (locA ann) typ "RecordUpd" (exprSort (RecordUpd expr updFields)) +-- mapM_ foldLHsRecUpdField updFields +-- return typ +foldLHsExpr (L ann e@(ExprWithTySig _ expr _)) = do typ <- foldLHsExpr expr - addExprInfo span typ "ExprWithTySig" (exprSort e) + addExprInfo (locA ann) typ "ExprWithTySig" (exprSort e) return typ -foldLHsExpr (L span e@(ArithSeq postTcExpr _mbSyntaxExpr seqInfo)) = do +foldLHsExpr (L ann e@(ArithSeq postTcExpr _mbSyntaxExpr seqInfo)) = do typ <- - fmap (snd . splitFunTys . snd . splitForAllTys) <$> - foldLHsExpr (L (UnhelpfulSpan $ mkFastString "ArithSeq") postTcExpr) + fmap (snd . splitFunTys . snd . splitForAllTyCoVars) <$> + foldLHsExpr (L (noAnnSrcSpan (UnhelpfulSpan UnhelpfulNoLocationInfo)) postTcExpr) _ <- case seqInfo of From expr -> foldLHsExpr expr @@ -891,164 +768,93 @@ foldLHsExpr (L span e@(ArithSeq postTcExpr _mbSyntaxExpr seqInfo)) = do FromTo expr1 expr2 -> foldLHsExpr expr1 >> foldLHsExpr expr2 FromThenTo expr1 expr2 expr3 -> foldLHsExpr expr1 >> foldLHsExpr expr2 >> foldLHsExpr expr3 - addExprInfo span typ "ArithSeq" (exprSort e) - return typ -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -#else -foldLHsExpr (L span e@(PArrSeq postTcExpr _seqInfo)) = do - typ <- foldLHsExpr (L (UnhelpfulSpan $ mkFastString "PArrSeq") postTcExpr) - addExprInfo span typ "ArithSeq" (exprSort e) - return typ -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span e@(HsSCC _ _sourceText _fastString expr)) = do -#else -foldLHsExpr (L span e@(HsSCC _sourceText _fastString expr)) = do -#endif - typ <- foldLHsExpr expr - addExprInfo span typ "HsSCC" (exprSort e) + addExprInfo (locA ann) typ "ArithSeq" (exprSort e) return typ -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span e@(HsCoreAnn _ _sourceText _fastString expr)) = do -#else -foldLHsExpr (L span e@(HsCoreAnn _sourceText _fastString expr)) = do -#endif +foldLHsExpr (L ann e@(HsPragE _ _ expr)) = do typ <- foldLHsExpr expr - addExprInfo span typ "HsCoreAnn" (exprSort e) + addExprInfo (locA ann) typ "HsPragE" (exprSort e) return typ -foldLHsExpr (L _span HsBracket {}) = return Nothing -foldLHsExpr (L _span HsRnBracketOut {}) = return Nothing -foldLHsExpr (L _span HsTcBracketOut {}) = return Nothing -foldLHsExpr (L _span HsSpliceE {}) = return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span expr@(HsProc _ pat cmd)) = do -#else -foldLHsExpr (L span expr@(HsProc pat cmd)) = do -#endif +foldLHsExpr (L ann expr@(HsProc _ pat cmd)) = do _ <- foldLPat pat _ <- foldLHsCmdTop cmd - addExprInfo span Nothing "HsProc" (exprSort expr) + addExprInfo (locA ann) Nothing "HsProc" (exprSort expr) return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) -foldLHsExpr (L span e@(HsStatic _ expr)) = do -#else -foldLHsExpr (L span e@(HsStatic expr)) = do -#endif +foldLHsExpr (L ann e@(HsStatic _ expr)) = do typ <- foldLHsExpr expr - addExprInfo span typ "HsStatic" (exprSort e) + addExprInfo (locA ann) typ "HsStatic" (exprSort e) return typ -foldLHsExpr (L _ HsArrForm {}) = return Nothing -foldLHsExpr (L _ HsArrApp {}) = return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span e@(HsTick _ _ expr)) = do -#else -foldLHsExpr (L span e@(HsTick _ expr)) = do -#endif - typ <- foldLHsExpr expr - addExprInfo span typ "HsTick" (exprSort e) - return typ -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span e@(HsBinTick _ _ _ expr)) = do -#else -foldLHsExpr (L span e@(HsBinTick _ _ expr)) = do -#endif - typ <- foldLHsExpr expr - addExprInfo span typ "HsBinTick" (exprSort e) +foldLHsExpr (L l e@(XExpr (HsTick _ inner))) = do + typ <- foldLHsExpr inner + addExprInfo (locA l) typ "HsTick" (exprSort e) return typ -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span e@(HsTickPragma _ _ _ _ expr)) = do -#else -foldLHsExpr (L span e@(HsTickPragma _ _ _ expr)) = do -#endif - typ <- foldLHsExpr expr - addExprInfo span typ "HsTickPragma" (exprSort e) +foldLHsExpr (L l e@(XExpr (HsBinTick _ _ inner))) = do + typ <- foldLHsExpr inner + addExprInfo (locA l) typ "HsBinTick" (exprSort e) return typ -foldLHsExpr (L _span EWildPat {}) = return Nothing -foldLHsExpr (L _span EAsPat {}) = return Nothing -foldLHsExpr (L _span EViewPat {}) = return Nothing -foldLHsExpr (L _span ELazyPat {}) = return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsExpr (L span (HsWrap _ wrapper expr)) = -#else -foldLHsExpr (L span (HsWrap wrapper expr)) = -#endif +foldLHsExpr (L span (XExpr (WrapExpr (HsWrap wrapper inner)))) = restoreHsWrapper $ do - case exprSort expr of - Simple -> modify' (\s -> s {astStateHsWrapper = Just wrapper}) - Composite -> return () -- Not sure if it is possible - typ <- foldLHsExpr (L span expr) + case exprSort inner of + Simple -> modify' (\s -> s {astStateHsWrapper = Just wrapper}) + Composite -> pure () + typ <- foldLHsExpr (L span inner) return $ applyWrapper wrapper <$> typ -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldHsRecFields :: HsRecFields GhcTc (LHsExpr GhcTc) -> State ASTState (Maybe Type) -#else -foldHsRecFields :: HsRecFields Id (LHsExpr Id) -> State ASTState (Maybe Type) -#endif foldHsRecFields HsRecFields {..} = do let userWritten = case rec_dotdot of - Just i -> take i + Just x -> + case unLoc x of + RecFieldsDotDot n -> take n Nothing -> id mapM_ foldLHsRecField $ userWritten rec_flds return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldLHsRecField :: LHsRecField GhcTc (LHsExpr GhcTc) -> State ASTState (Maybe Type) -#else -foldLHsRecField :: LHsRecField Id (LHsExpr Id) -> State ASTState (Maybe Type) -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsRecField (L _span (HsRecField (L _idSpan (XFieldOcc _)) _ _)) = return Nothing -foldLHsRecField (L span (HsRecField (L idSpan (FieldOcc identifier _)) arg pun)) = -#else -foldLHsRecField (L span (HsRecField (L idSpan (FieldOcc _ identifier)) arg pun)) = -#endif +foldLHsRecField (L _ (HsFieldBind { hfbLHS = L _ (XFieldOcc _) })) = + return Nothing + +foldLHsRecField (L ann (HsFieldBind { hfbLHS = L idAnn (FieldOcc identifier _) + , hfbRHS = arg + , hfbPun = pun })) = restoreTidyEnv $ do (identifier', mbTypes) <- tidyIdentifier identifier - addIdentifierToIdSrcSpanMap idSpan identifier' mbTypes - addExprInfo span (Just . varType $ identifier') "HsRecField" Composite + addIdentifierToIdSrcSpanMap (locA idAnn) identifier' mbTypes + addExprInfo (locA ann) (Just . varType $ identifier') "HsRecField" Composite unless pun $ void (foldLHsExpr arg) return . Just . varType $ identifier' -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -foldLHsRecUpdField :: LHsRecUpdField GhcTc -> State ASTState (Maybe Type) -#else -foldLHsRecUpdField :: LHsRecUpdField Id -> State ASTState (Maybe Type) -#endif -foldLHsRecUpdField (L span (HsRecField (L idSpan recField) arg pun)) = - restoreTidyEnv $ do - let selectorId = selectorAmbiguousFieldOcc recField - (identifier', mbTypes) <- tidyIdentifier selectorId - -- Name of the selectorId is not 'correct' (Internal instead of External) : - -- https://github.com/ghc/ghc/blob/321b420f4582d103ca7b304867b916a749712e9f/compiler/typecheck/TcExpr.hs#L2424 - typeEnv <- envTypeEnv . astStateEnv <$> get - let selName = varName selectorId - originalName = - case lookupTypeEnv typeEnv selName of - Just (AnId originalSelId) -> varName originalSelId - _ -> selName - let identifier'' = setVarName identifier' originalName - addIdentifierToIdSrcSpanMap idSpan identifier'' mbTypes - addExprInfo span (Just . varType $ identifier'') "HsRecUpdField" Composite - unless pun $ void (foldLHsExpr arg) - return . Just . varType $ identifier' +-- TODO +-- foldLHsRecUpdField :: GenLocated SrcSpanAnnA (HsFieldBind (GenLocated SrcSpanAnnA (AmbiguousFieldOcc GhcTc)) (GenLocated SrcSpanAnnA (HsExpr GhcTc))) +-- -> State ASTState (Maybe Type) +-- foldLHsRecUpdField (L span (HsFieldBind { hfbLHS = L idSpan recField +-- , hfbRHS = arg +-- , hfbPun = pun })) = +-- restoreTidyEnv $ do +-- let selectorId = selectorAmbiguousFieldOcc recField +-- (identifier', mbTypes) <- tidyIdentifier selectorId +-- -- Name of the selectorId is not 'correct' (Internal instead of External) : +-- -- https://github.com/ghc/ghc/blob/321b420f4582d103ca7b304867b916a749712e9f/compiler/typecheck/TcExpr.hs#L2424 +-- typeEnv <- envTypeEnv . astStateEnv <$> get +-- let selName = varName selectorId +-- originalName = +-- case lookupTypeEnv typeEnv selName of +-- Just (AnId originalSelId) -> varName originalSelId +-- _ -> selName +-- let identifier'' = setVarName identifier' originalName +-- addIdentifierToIdSrcSpanMap idSpan identifier'' mbTypes +-- addExprInfo span (Just . varType $ identifier'') "HsRecUpdField" Composite +-- unless pun $ void (foldLHsExpr arg) +-- return . Just . varType $ identifier'' data TupArg = TupArgPresent | TupArgMissing deriving (Show, Eq) -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldLHsTupArg :: LHsTupArg GhcTc -> State ASTState (Maybe Type, TupArg) -#else -foldLHsTupArg :: LHsTupArg Id -> State ASTState (Maybe Type, TupArg) -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldLHsTupArg (L _span (XTupArg _)) = return (Nothing, TupArgMissing) foldLHsTupArg (L _span (Present _ expr)) = -#else -foldLHsTupArg (L _span (Present expr)) = -#endif restoreTidyEnv $ do typ <- foldLHsExpr expr typ' <- @@ -1058,103 +864,55 @@ foldLHsTupArg (L _span (Present expr)) = return (typ', TupArgPresent) foldLHsTupArg (L _ (Missing typ)) = restoreTidyEnv $ do - typ' <- tidyType typ + typ' <- tidyType (scaledThing typ) return (Just typ', TupArgMissing) -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldLMatch :: LMatch GhcTc (LHsExpr GhcTc) -> State ASTState (Maybe Type) -#else -foldLMatch :: LMatch Id (LHsExpr Id) -> State ASTState (Maybe Type) -#endif foldLMatch (L _span Match {..}) = do mapM_ foldLPat m_pats _ <- foldGRHSs m_grhss return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldLMatch (L _span _) = return Nothing -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldLMatchCmd :: LMatch GhcTc (LHsCmd GhcTc) -> State ASTState (Maybe Type) -#else -foldLMatchCmd :: LMatch Id (LHsCmd Id) -> State ASTState (Maybe Type) -#endif foldLMatchCmd (L _span Match {..}) = do mapM_ foldLPat m_pats _ <- foldGRHSsCmd m_grhss return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldLMatchCmd (L _span _) = return Nothing -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldGRHSsCmd :: GRHSs GhcTc (LHsCmd GhcTc) -> State ASTState (Maybe Type) -#else -foldGRHSsCmd :: GRHSs Id (LHsCmd Id) -> State ASTState (Maybe Type) -#endif foldGRHSsCmd GRHSs {..} = do mapM_ foldLGRHSCmd grhssGRHSs - _ <- foldHsLocalBindsLR (unLoc grhssLocalBinds) + _ <- foldHsLocalBindsLR grhssLocalBinds return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldGRHSsCmd (_) = return Nothing -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldGRHSs :: GRHSs GhcTc (LHsExpr GhcTc) -> State ASTState (Maybe Type) -#else -foldGRHSs :: GRHSs Id (LHsExpr Id) -> State ASTState (Maybe Type) -#endif foldGRHSs GRHSs {..} = do mapM_ foldLGRHS grhssGRHSs - _ <- foldHsLocalBindsLR (unLoc grhssLocalBinds) + _ <- foldHsLocalBindsLR grhssLocalBinds return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldGRHSs (_) = return Nothing -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldLStmtLR :: LStmtLR GhcTc GhcTc (LHsExpr GhcTc) -> State ASTState (Maybe Type) -#else -foldLStmtLR :: LStmtLR Id Id (LHsExpr Id) -> State ASTState (Maybe Type) -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldLStmtLR (L _span (XStmtLR _)) = return Nothing -foldLStmtLR (L span (LastStmt _ body _ _)) = -#else -foldLStmtLR (L span (LastStmt body _ _)) = -#endif - do typ <- foldLHsExpr body - addExprInfo span typ "LastStmt" Composite - return typ -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLStmtLR (L _span (BindStmt _ pat body _ _)) = do -#else -foldLStmtLR (L _span (BindStmt pat body _ _ _)) = do -#endif +foldLStmtLR (L ann (LastStmt _ body _ _)) = do + typ <- foldLHsExpr body + addExprInfo (locA ann) typ "LastStmt" Composite + return typ +foldLStmtLR (L _span (BindStmt _ pat body)) = do _ <- foldLPat pat _ <- foldLHsExpr body return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLStmtLR (L span (BodyStmt _ body _ _)) = do -#else -foldLStmtLR (L span (BodyStmt body _ _ _)) = do -#endif +foldLStmtLR (L ann (BodyStmt _ body _ _)) = do mbTyp <- foldLHsExpr body - addExprInfo span mbTyp "BodyStmt" Composite + addExprInfo (locA ann) mbTyp "BodyStmt" Composite return mbTyp -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLStmtLR (L _ (LetStmt _ (L _ binds))) = do -#else -foldLStmtLR (L _ (LetStmt (L _ binds))) = do -#endif +foldLStmtLR (L _ (LetStmt _ binds)) = do _ <- foldHsLocalBindsLR binds return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldLStmtLR (L _ (ParStmt _ blocks _ _)) = do -#else -foldLStmtLR (L _ (ParStmt blocks _ _ _)) = do -#endif mapM_ foldParStmtBlock blocks return Nothing foldLStmtLR (L _ TransStmt {..}) = do @@ -1163,92 +921,46 @@ foldLStmtLR (L _ TransStmt {..}) = do _ <- foldLHsExpr trS_using return Nothing foldLStmtLR (L _span RecStmt {..}) = do - mapM_ foldLStmtLR recS_stmts + mapM_ foldLStmtLR (unLoc recS_stmts) return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLStmtLR (L span (ApplicativeStmt typ args _)) = -#else -foldLStmtLR (L span (ApplicativeStmt args _ typ)) = -#endif +foldLStmtLR (L ann (ApplicativeStmt typ args _)) = restoreTidyEnv $ do typ' <- tidyType typ mapM_ (foldApplicativeArg . snd) args - addExprInfo span (Just typ') "ApplicativeStmt" Composite + addExprInfo (locA ann) (Just typ') "ApplicativeStmt" Composite return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldApplicativeArg :: ApplicativeArg GhcTc -> State ASTState (Maybe Type) -#elif MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -foldApplicativeArg :: ApplicativeArg GhcTc GhcTc -> State ASTState (Maybe Type) -#else -foldApplicativeArg :: ApplicativeArg Id Id -> State ASTState (Maybe Type) -#endif foldApplicativeArg appArg = case appArg of -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) XApplicativeArg _ -> return Nothing ApplicativeArgOne _ pat expr _bool -> do -#else - ApplicativeArgOne pat expr _bool -> do -#endif -#else - ApplicativeArgOne pat expr -> do -#endif _ <- foldLPat pat _ <- foldLHsExpr expr return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) - ApplicativeArgMany _ exprStmts _ pat -> do -#else - ApplicativeArgMany exprStmts _ pat -> do -#endif + ApplicativeArgMany _ exprStmts _ pat _ -> do mapM_ foldLStmtLR exprStmts _ <- foldLPat pat return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldLStmtLRCmd :: LStmtLR GhcTc GhcTc (LHsCmd GhcTc) -> State ASTState (Maybe Type) -#else -foldLStmtLRCmd :: LStmtLR Id Id (LHsCmd Id) -> State ASTState (Maybe Type) -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldLStmtLRCmd (L _ (XStmtLR _)) = return Nothing -foldLStmtLRCmd (L span (LastStmt _ body _syntaxExpr _)) = do -#else -foldLStmtLRCmd (L span (LastStmt body _syntaxExpr _)) = do -#endif +foldLStmtLRCmd (L ann (LastStmt _ body _syntaxExpr _)) = do typ <- foldLHsCmd body - addExprInfo span typ "LastStmt Cmd" Composite + addExprInfo (locA ann) typ "LastStmt Cmd" Composite return typ -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLStmtLRCmd (L _ (BindStmt _ pat body _ _)) = do -#else -foldLStmtLRCmd (L _ (BindStmt pat body _ _ _)) = do -#endif +foldLStmtLRCmd (L _ (BindStmt _ pat body)) = do _ <- foldLPat pat _ <- foldLHsCmd body return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLStmtLRCmd (L span (BodyStmt _ body _ _)) = do -#else -foldLStmtLRCmd (L span (BodyStmt body _ _ _)) = do -#endif +foldLStmtLRCmd (L ann (BodyStmt _ body _ _)) = do typ <- foldLHsCmd body - addExprInfo span typ "BodyStmt Cmd" Composite + addExprInfo (locA ann) typ "BodyStmt Cmd" Composite return typ -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLStmtLRCmd (L _ (LetStmt _ (L _ binds))) = do -#else -foldLStmtLRCmd (L _ (LetStmt (L _ binds))) = do -#endif +foldLStmtLRCmd (L _ (LetStmt _ binds)) = do _ <- foldHsLocalBindsLR binds return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldLStmtLRCmd (L _ (ParStmt _ blocks _ _)) = do -#else -foldLStmtLRCmd (L _ (ParStmt blocks _ _ _)) = do -#endif mapM_ foldParStmtBlock blocks return Nothing foldLStmtLRCmd (L _ TransStmt {..}) = do @@ -1257,131 +969,73 @@ foldLStmtLRCmd (L _ TransStmt {..}) = do _ <- maybe (return Nothing) foldLHsExpr trS_by return Nothing foldLStmtLRCmd (L _ RecStmt {..}) = do - mapM_ foldLStmtLRCmd recS_stmts + mapM_ foldLStmtLRCmd (unLoc recS_stmts) return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLStmtLRCmd (L span (ApplicativeStmt typ args _)) = -#else -foldLStmtLRCmd (L span (ApplicativeStmt args _ typ)) = -#endif +foldLStmtLRCmd (L ann (ApplicativeStmt typ args _)) = restoreTidyEnv $ do typ' <- tidyType typ mapM_ (foldApplicativeArg . snd) args - addExprInfo span (Just typ') "ApplicativeStmt Cmd" Composite + addExprInfo (locA ann) (Just typ') "ApplicativeStmt Cmd" Composite return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldLGRHS :: LGRHS GhcTc (LHsExpr GhcTc) -> State ASTState (Maybe Type) -#else -foldLGRHS :: LGRHS Id (LHsExpr Id) -> State ASTState (Maybe Type) -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldLGRHS (L _span (XGRHS _)) = return Nothing foldLGRHS (L _span (GRHS _ guards body)) = do -#else -foldLGRHS (L _span (GRHS guards body)) = do -#endif typ <- foldLHsExpr body mapM_ foldLStmtLR guards return typ -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldLGRHSCmd :: LGRHS GhcTc (LHsCmd GhcTc) -> State ASTState (Maybe Type) -#else -foldLGRHSCmd :: LGRHS Id (LHsCmd Id) -> State ASTState (Maybe Type) -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldLGRHSCmd (L _span (XGRHS _)) = return Nothing foldLGRHSCmd (L _span (GRHS _ guards body)) = do -#else -foldLGRHSCmd (L _span (GRHS guards body)) = do -#endif typ <- foldLHsCmd body mapM_ foldLStmtLR guards return typ -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldParStmtBlock :: ParStmtBlock GhcTc GhcTc -> State ASTState (Maybe Type) -#else -foldParStmtBlock :: ParStmtBlock Id Id -> State ASTState (Maybe Type) -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldParStmtBlock (XParStmtBlock _) = return Nothing foldParStmtBlock (ParStmtBlock _ exprStmts _ids _syntaxExpr) = do -#else -foldParStmtBlock (ParStmtBlock exprStmts _ids _syntaxExpr) = do -#endif mapM_ foldLStmtLR exprStmts return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldHsLocalBindsLR :: HsLocalBindsLR GhcTc GhcTc -> State ASTState (Maybe Type) -#else -foldHsLocalBindsLR :: HsLocalBindsLR Id Id -> State ASTState (Maybe Type) -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldHsLocalBindsLR (XHsLocalBindsLR _) = return Nothing foldHsLocalBindsLR (HsValBinds _ binds) = do -#else -foldHsLocalBindsLR (HsValBinds binds) = do -#endif _ <- foldHsValBindsLR binds return Nothing foldHsLocalBindsLR HsIPBinds {} = return Nothing foldHsLocalBindsLR EmptyLocalBinds {} = return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldHsValBindsLR :: HsValBindsLR GhcTc GhcTc -> State ASTState (Maybe Type) -#else -foldHsValBindsLR :: HsValBindsLR Id Id -> State ASTState (Maybe Type) -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldHsValBindsLR (ValBinds _ _binds _) = do return Nothing foldHsValBindsLR (XValBindsLR (NValBinds binds _)) = do _ <- mapM_ (foldLHsBindsLR . snd) binds return Nothing -#else -foldHsValBindsLR (ValBindsIn _ _) = return Nothing -foldHsValBindsLR (ValBindsOut binds _) = do - mapM_ (foldLHsBindsLR . snd) binds - return Nothing -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldLHsBindsLR :: LHsBinds GhcTc -> State ASTState () -#else -foldLHsBindsLR :: LHsBinds Id -> State ASTState () -#endif foldLHsBindsLR = mapM_ (`foldLHsBindLR` Nothing) . bagToList -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldLHsBindLR :: LHsBindLR GhcTc GhcTc -> Maybe Id -- ^ Polymorphic id -> State ASTState (Maybe Type) -#else -foldLHsBindLR :: LHsBindLR Id Id - -> Maybe Id -- ^ Polymorphic id - -> State ASTState (Maybe Type) -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldLHsBindLR (L _span (XHsBindsLR _)) _ = return Nothing foldLHsBindLR (L _span (PatSynBind _ (XPatSynBind _))) _ = return Nothing -#endif -foldLHsBindLR (L _span FunBind {..}) mbPolyId - | mg_origin fun_matches == FromSource = +foldLHsBindLR (L _span FunBind { fun_id = funId0, fun_matches = matches }) mbPolyId + | mg_origin (mg_ext matches) == FromSource = restoreTidyEnv $ do - let (L idSpan identifier) = fun_id -- monotype - typ = - case mbPolyId of - Just polyId -> varType polyId - Nothing -> varType identifier - name = maybe (varName identifier) varName mbPolyId - identifier' = setVarType (setVarName identifier name) typ - (identifier'', _) <- tidyIdentifier identifier' - addIdentifierToIdSrcSpanMap idSpan identifier'' Nothing - mapM_ foldLMatch (unLoc (mg_alts fun_matches)) + let funId :: LIdP GhcTc + funId = funId0 + + ident = unLoc funId -- :: Id + idAnn = getLocA funId + typ = maybe (varType ident) varType mbPolyId + name = maybe (varName ident) varName mbPolyId + ident' = setVarType (setVarName ident name) typ + (ident'', _) <- tidyIdentifier ident' + addIdentifierToIdSrcSpanMap (locA idAnn) ident'' Nothing + mapM_ foldLMatch (unLoc (mg_alts matches)) return Nothing | otherwise = return Nothing foldLHsBindLR (L _ PatBind {..}) _ = do @@ -1389,246 +1043,137 @@ foldLHsBindLR (L _ PatBind {..}) _ = do _ <- foldGRHSs pat_rhs return Nothing foldLHsBindLR (L _ VarBind {..}) _ = return Nothing -foldLHsBindLR (L _ AbsBinds {..}) _ = do - mapM_ (\(bind, typ) -> foldLHsBindLR bind (Just typ)) $ - zip (bagToList abs_binds) (map abe_poly abs_exports) - return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -#else -foldLHsBindLR (L _ AbsBindsSig {..}) _ = do - _ <- foldLHsBindLR abs_sig_bind (Just abs_sig_export) - return Nothing -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsBindLR (L _ (PatSynBind _ PSB {..})) _ = -#else -foldLHsBindLR (L _ (PatSynBind PSB {..})) _ = -#endif - restoreTidyEnv $ do - _ <- foldLPat psb_def - _ <- - let addId :: GenLocated SrcSpan Id -> State ASTState () - addId (L span i) = do - (i', _) <- tidyIdentifier i - addIdentifierToIdSrcSpanMap span i' Nothing - in case psb_args of -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) - InfixCon id1 id2 -> addId id1 >> addId id2 - PrefixCon ids -> mapM_ addId ids - RecCon recs -> - mapM_ - (\(RecordPatSynField selId patVar) -> - addId selId >> addId patVar) - recs -#else - InfixPatSyn id1 id2 -> addId id1 >> addId id2 - PrefixPatSyn ids -> mapM_ addId ids - RecordPatSyn recs -> - mapM_ - (\(RecordPatSynField selId patVar) -> - addId selId >> addId patVar) - recs -#endif - return Nothing +-- TODO +-- foldLHsBindLR (L _ AbsBinds{ abs_exports, abs_binds }) = do +-- let polys :: [Id] +-- polys = map abe_poly abs_exports +-- mapM_ (\(b,i) -> foldLHsBindLR b (Just i)) +-- (zip (bagToList abs_binds) polys) +-- return Nothing +-- foldLHsBindLR (L _ (PatSynBind _ PSB {..})) _ = +-- restoreTidyEnv $ do +-- _ <- foldLPat psb_def +-- _ <- +-- let addId :: LIdP GhcTc -> State ASTState () +-- addId (L l i) = do +-- (i', _) <- tidyIdentifier i +-- addIdentifierToIdSrcSpanMap (locA l) i' Nothing +-- in case psb_args of +-- InfixCon id1 id2 -> addId id1 >> addId id2 +-- PrefixCon _tyArgs ids -> mapM_ addId ids +-- RecCon recs -> +-- mapM_ +-- (\(RecordPatSynField selId patVar) -> +-- addId (L (getFieldOccAnn selId) (foExt selId)) >> addId patVar) +-- recs +-- return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldLPat :: LPat GhcTc -> State ASTState (Maybe Type) -#else -foldLPat :: LPat Id -> State ASTState (Maybe Type) -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLPat (ghcDL -> L _span (XPat _)) = return Nothing -foldLPat (ghcDL -> L _ (NPat _ (L _ (XOverLit _)) _ _)) = return Nothing -foldLPat (ghcDL -> L _ (NPlusKPat _ (L _ _) (L _ (XOverLit _)) _ _ _)) = return Nothing -foldLPat (ghcDL -> L span (VarPat _ (L _ identifier))) = do -#else -foldLPat (ghcDL -> L span (VarPat (L _ identifier))) = do -#endif +foldLPat (L _span (XPat _)) = return Nothing +foldLPat (L _ (NPat _ (L _ (XOverLit _)) _ _)) = return Nothing +foldLPat (L _ (NPlusKPat _ (L _ _) (L _ (XOverLit _)) _ _ _)) = return Nothing +foldLPat (L span (VarPat _ (L _ identifier))) = do (identifier', _) <- tidyIdentifier identifier - addIdentifierToIdSrcSpanMap span identifier' Nothing + addIdentifierToIdSrcSpanMap (locA span) identifier' Nothing return . Just . varType $ identifier' -foldLPat (ghcDL -> L span pat@(WildPat typ)) = do +foldLPat (L spanAnn pat@(WildPat typ)) = do typ' <- tidyType typ - addExprInfo span (Just typ') "WildPat" (patSort pat) + addExprInfo (locA spanAnn) (Just typ') "WildPat" (patSort pat) return $ Just typ' -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLPat (ghcDL -> L span p@(LazyPat _ pat)) = do -#else -foldLPat (L span p@(LazyPat pat)) = do -#endif +foldLPat (L span p@(LazyPat _ pat)) = do mbType <- foldLPat pat - addExprInfo span mbType "LazyPat" (patSort p) + addExprInfo (locA span) mbType "LazyPat" (patSort p) return mbType -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLPat (ghcDL -> L span p@(AsPat _ (L idSpan identifier) pat)) = do -#else -foldLPat (L span p@(AsPat (L idSpan identifier) pat)) = do -#endif +foldLPat (L span p@(AsPat _ (L idAnn identifier) pat)) = do (identifier', _) <- tidyIdentifier identifier - addIdentifierToIdSrcSpanMap idSpan identifier' Nothing - addExprInfo span (Just . varType $ identifier') "AsPat" (patSort p) + addIdentifierToIdSrcSpanMap (locA idAnn) identifier' Nothing + addExprInfo (locA span) (Just . varType $ identifier') "AsPat" (patSort p) _ <- foldLPat pat return . Just . varType $ identifier' -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLPat (ghcDL -> L _span (ParPat _ pat)) = foldLPat pat -#else -foldLPat (ghcDL -> L _span (ParPat pat)) = foldLPat pat -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLPat (ghcDL -> L span p@(BangPat _ pat)) = do -#else -foldLPat (L span p@(BangPat pat)) = do -#endif +foldLPat (L _span (ParPat _ pat)) = foldLPat pat +foldLPat (L span p@(BangPat _ pat)) = do typ <- foldLPat pat - addExprInfo span typ "BangPat" (patSort p) + addExprInfo (locA span) typ "BangPat" (patSort p) return typ -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLPat (ghcDL -> L span p@(ListPat (ListPatTc typ _) pats)) = do -#else -foldLPat (L span p@(ListPat pats typ _)) = do -#endif - typ' <- tidyType typ - let listType = mkListTy typ' - addExprInfo span (Just listType) "ListPat" (patSort p) - mapM_ foldLPat pats - return $ Just listType -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLPat (ghcDL -> L span pat@(TuplePat types pats boxity)) = do -#else -foldLPat (L span pat@(TuplePat pats boxity types)) = do -#endif +-- foldLPat (L span p@(ListPat xlistPat pats)) = do +-- let typ = extractTypeFromXListPat xlistPat -- You’ll need to define this +-- typ' <- tidyType typ +-- let listType = mkListTy typ' +-- addExprInfo span (Just listType) "ListPat" (patSort p) +-- mapM_ foldLPat pats +-- return $ Just listType +foldLPat (L spanAnn pat@(TuplePat types pats boxity)) = do typ' <- tidyType $ mkTupleTy boxity types - addExprInfo span (Just typ') "TuplePat" (patSort pat) + addExprInfo (locA spanAnn) (Just typ') "TuplePat" (patSort pat) mapM_ foldLPat pats return $ Just typ' -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLPat (ghcDL -> L _span (SumPat _ pat _ _)) = do -#else -foldLPat (L _span (SumPat pat _ _ _types)) = do -#endif +foldLPat (L _span (SumPat _ pat _ _)) = do -- TODO _ <- foldLPat pat return Nothing -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -#else -foldLPat (L span pat@(PArrPat pats typ)) = do +-- foldLPat (L span pat@ConPat {..}) = do +-- let (L idSpan conLike) = pat_con +-- conId = +-- case conLike of +-- RealDataCon dc -> dataConWorkId dc +-- PatSynCon ps -> patSynId ps +-- typ = conLikeResTy (unLoc pat_con) pat_arg_tys +-- (identifier', mbTypes) <- tidyIdentifier conId +-- addIdentifierToIdSrcSpanMap idSpan identifier' mbTypes +-- typ' <- tidyType typ +-- addExprInfo span (Just typ') "ConPat" (patSort pat) +-- _ <- foldHsConPatDetails pat_args +-- return . Just . varType $ identifier' +foldLPat (L span p@(ViewPat typ expr pat)) = do typ' <- tidyType typ - addExprInfo span (Just typ') "PArrPat" (patSort pat) - mapM_ foldLPat pats - return $ Just typ' -#endif -foldLPat (ghcDL -> L _span (ConPatIn _ _)) = return Nothing -foldLPat (ghcDL -> L span pat@ConPatOut {..}) = do - let (L idSpan conLike) = pat_con - conId = - case conLike of - RealDataCon dc -> dataConWorkId dc - PatSynCon ps -> patSynId ps - typ = conLikeResTy (unLoc pat_con) pat_arg_tys - (identifier', mbTypes) <- tidyIdentifier conId - addIdentifierToIdSrcSpanMap idSpan identifier' mbTypes - typ' <- tidyType typ - addExprInfo span (Just typ') "ConPatOut" (patSort pat) - _ <- foldHsConPatDetails pat_args - return . Just . varType $ identifier' -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLPat (ghcDL -> L span p@(ViewPat typ expr pat)) = do -#else -foldLPat (ghcDL -> L span p@(ViewPat expr pat typ)) = do -#endif - typ' <- tidyType typ - addExprInfo span (Just typ') "ViewPat" (patSort p) + addExprInfo (locA span) (Just typ') "ViewPat" (patSort p) _ <- foldLPat pat _ <- foldLHsExpr expr return $ Just typ' -foldLPat (ghcDL -> L _ SplicePat {}) = return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLPat (ghcDL -> L span (LitPat _ hsLit)) = do -#else -foldLPat (L span (LitPat hsLit)) = do -#endif +foldLPat (L _ SplicePat {}) = return Nothing +foldLPat (L spanAnn (LitPat _ hsLit)) = do typ' <- tidyType $ hsLitType hsLit + let span = locA spanAnn addExprInfo span (Just typ') "LitPat" - (if isOneLineSpan span - then Simple - else Composite) + (if isOneLineSpan span then Simple else Composite) return $ Just typ' -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLPat (ghcDL -> L span pat@(NPat _ (L _spanLit (OverLit (OverLitTc {..}) _ _)) _ _)) = do -#else -foldLPat (L span pat@(NPat (L _spanLit OverLit {ol_type}) _ _ _)) = do -#endif +foldLPat (L span pat@(NPat _ (L _spanLit (OverLit (OverLitTc {..}) _)) _ _)) = do typ' <- tidyType ol_type - addExprInfo span (Just typ') "NPat" (patSort pat) + addExprInfo (locA span) (Just typ') "NPat" (patSort pat) return $ Just ol_type -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLPat (ghcDL -> L span pat@(NPlusKPat typ (L idSpan identifier) (L litSpan (OverLit (OverLitTc {..}) _ _)) _ _ _)) = do -#else -foldLPat (L span pat@(NPlusKPat (L idSpan identifier) (L litSpan OverLit {ol_type}) _ _ _ typ)) = do -#endif +foldLPat (L spanAnn pat@(NPlusKPat typ (L idAnn identifier) (L litSpanAnn (OverLit (OverLitTc {..}) _)) _ _ _)) = do (identifier', _) <- tidyIdentifier identifier - addIdentifierToIdSrcSpanMap idSpan identifier' Nothing + addIdentifierToIdSrcSpanMap (locA idAnn) identifier' Nothing typ' <- tidyType typ + let span = locA spanAnn addExprInfo span (Just typ') "NPlusKPat" (patSort pat) olType' <- tidyType ol_type addExprInfo - litSpan + (locA litSpanAnn) (Just olType') "NPlusKPat" - (if isOneLineSpan span - then Simple - else Composite) - return $ Just typ' -#if MIN_VERSION_GLASGOW_HASKELL(8,8,1,0) -foldLPat (ghcDL -> L _span (SigPat typ pat _)) = do - typ' <- tidyType typ - _ <- foldLPat pat - return $ Just typ' -#elif MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLPat (L _span (SigPat typ pat)) = do - typ' <- tidyType typ - _ <- foldLPat pat + (if isOneLineSpan span then Simple else Composite) return $ Just typ' -#else -foldLPat (L _span (SigPatIn _ _)) = return Nothing -foldLPat (L _span (SigPatOut pat typ)) = do +foldLPat (L _span (SigPat typ pat _)) = do typ' <- tidyType typ _ <- foldLPat pat return $ Just typ' -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLPat (ghcDL -> L span p@(CoPat _ _ pat typ)) = do -#else -foldLPat (L span p@(CoPat _ pat typ)) = do -#endif +foldLPat (L spanAnn pat@(XPat (CoPat _ innerPat typ))) = do typ' <- tidyType typ - addExprInfo span (Just typ') "CoPat" (patSort p) -#if MIN_VERSION_GLASGOW_HASKELL(8,8,1,0) - _ <- foldLPat (cL span pat) -#else - _ <- foldLPat (L span pat) -#endif + let span = locA spanAnn + addExprInfo span (Just typ') "CoPat" (patSort pat) + _ <- foldLPat (L (noAnnSrcSpan span) innerPat) return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,8,1,0) foldLPat _ = return Nothing -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldHsConPatDetails :: HsConPatDetails GhcTc -> State ASTState (Maybe Type) -#else -foldHsConPatDetails - :: HsConPatDetails Id - -> State ASTState (Maybe Type) -#endif -foldHsConPatDetails (PrefixCon args) = do - mapM_ foldLPat args +foldHsConPatDetails (PrefixCon args _) = do + -- mapM_ foldLPat args return Nothing foldHsConPatDetails (RecCon rec) = do _ <- foldHsRecFieldsPat rec @@ -1638,138 +1183,74 @@ foldHsConPatDetails (InfixCon arg1 arg2) = do _ <- foldLPat arg2 return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldHsRecFieldsPat :: HsRecFields GhcTc (LPat GhcTc) -> State ASTState (Maybe Type) -#else -foldHsRecFieldsPat :: HsRecFields Id (LPat Id) -> State ASTState (Maybe Type) -#endif foldHsRecFieldsPat HsRecFields {..} = do let onlyUserWritten = case rec_dotdot of - Just i -> take i + Just (L _ (RecFieldsDotDot n)) -> take n Nothing -> id mapM_ foldLHsRecFieldPat $ onlyUserWritten rec_flds return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -foldLHsRecFieldPat :: LHsRecField GhcTc (LPat GhcTc) -> State ASTState (Maybe Type) -#else -foldLHsRecFieldPat :: LHsRecField Id (LPat Id) -> State ASTState (Maybe Type) -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsRecFieldPat (L _ (HsRecField (L idSpan (FieldOcc identifier _)) arg pun)) = do -#else -foldLHsRecFieldPat (L _ (HsRecField (L idSpan (FieldOcc _ identifier)) arg pun)) = do -#endif - (identifier', mbTypes) <- tidyIdentifier identifier - addIdentifierToIdSrcSpanMap idSpan identifier' mbTypes - unless pun $ void $ foldLPat arg - return . Just . varType $ identifier' -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsRecFieldPat (L _ (HsRecField (L _idSpan (XFieldOcc _)) _arg _pun)) = return Nothing -#endif +foldLHsRecFieldPat (L _ HsFieldBind + { hfbLHS = L idAnn (FieldOcc identifier _) + , hfbRHS = arg + , hfbPun = pun + }) = do + let idSpan = locA idAnn + (identifier', mbTypes) <- tidyIdentifier identifier + addIdentifierToIdSrcSpanMap idSpan identifier' mbTypes + unless pun $ void $ foldLPat arg + return . Just . varType $ identifier' +foldLHsRecFieldPat (L _ HsFieldBind + { hfbLHS = L _ (XFieldOcc _) }) = + return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldLHsCmdTop :: LHsCmdTop GhcTc -> State ASTState (Maybe Type) -#else -foldLHsCmdTop :: LHsCmdTop Id -> State ASTState (Maybe Type) -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldLHsCmdTop (L _span (XCmdTop _)) = return Nothing -foldLHsCmdTop (L span (HsCmdTop _ cmd)) = do -#else -foldLHsCmdTop (L span (HsCmdTop cmd _ _ _)) = do -#endif +foldLHsCmdTop (L ann (HsCmdTop _ cmd)) = do mbTyp <- foldLHsCmd cmd - addExprInfo span mbTyp "HsCmdTop" Composite + addExprInfo (locA ann) mbTyp "HsCmdTop" Composite return mbTyp -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foldLHsCmd :: LHsCmd GhcTc -> State ASTState (Maybe Type) -#else -foldLHsCmd :: LHsCmd Id -> State ASTState (Maybe Type) -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldLHsCmd (L _ (XCmd _)) = return Nothing -foldLHsCmd (L _ (HsCmdLam _ (XMatchGroup _))) = return Nothing +foldLHsCmd (L _ (HsCmdLam _ _ (XMatchGroup _))) = return Nothing foldLHsCmd (L _ (HsCmdCase _ _ (XMatchGroup _))) = return Nothing foldLHsCmd (L _ (HsCmdArrApp _ expr1 expr2 _ _)) = do -#else -foldLHsCmd (L _ (HsCmdArrApp expr1 expr2 _ _ _)) = do -#endif _ <- foldLHsExpr expr1 _ <- foldLHsExpr expr2 return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldLHsCmd (L _ (HsCmdArrForm _ expr _ _ topCmds)) = do -#else -foldLHsCmd (L _ (HsCmdArrForm expr _ _ topCmds)) = do -#endif -#else -foldLHsCmd (L _ (HsCmdArrForm expr _ topCmds)) = do -#endif _ <- foldLHsExpr expr mapM_ foldLHsCmdTop topCmds return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldLHsCmd (L _ (HsCmdApp _ cmd expr)) = do -#else -foldLHsCmd (L _ (HsCmdApp cmd expr)) = do -#endif _ <- foldLHsCmd cmd _ <- foldLHsExpr expr return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsCmd (L _ (HsCmdLam _ MG {..})) = do -#else -foldLHsCmd (L _ (HsCmdLam MG {..})) = do -#endif +foldLHsCmd (L _ (HsCmdLam _ _ MG {..})) = do mapM_ foldLMatchCmd $ unLoc mg_alts return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldLHsCmd (L _ (HsCmdCase _ expr MG {..})) = do -#else -foldLHsCmd (L _ (HsCmdCase expr MG {..})) = do -#endif _ <- foldLHsExpr expr mapM_ foldLMatchCmd $ unLoc mg_alts return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldLHsCmd (L _ (HsCmdPar _ cmd)) = do -#else -foldLHsCmd (L _ (HsCmdPar cmd)) = do -#endif _ <- foldLHsCmd cmd return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) foldLHsCmd (L _ (HsCmdIf _ _ expr cmd1 cmd2)) = do -#else -foldLHsCmd (L _ (HsCmdIf _ expr cmd1 cmd2)) = do -#endif _ <- foldLHsCmd cmd1 _ <- foldLHsCmd cmd2 _ <- foldLHsExpr expr return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsCmd (L _ (HsCmdLet _ (L _ binds) cmd)) = do -#else -foldLHsCmd (L _ (HsCmdLet (L _ binds) cmd)) = do -#endif - _ <- foldLHsCmd cmd - _ <- foldHsLocalBindsLR binds - return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) +-- foldLHsCmd (L _ (HsCmdLet _ (L _ binds) cmd)) = do +-- _ <- foldLHsCmd cmd +-- _ <- foldHsLocalBindsLR binds +-- return Nothing foldLHsCmd (L _ (HsCmdDo _ stmts)) = do -#else -foldLHsCmd (L _ (HsCmdDo stmts _)) = do -#endif mapM_ foldLStmtLRCmd $ unLoc stmts return Nothing -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -foldLHsCmd (L span (HsCmdWrap _ _ cmd)) = do -#else -foldLHsCmd (L span (HsCmdWrap _ cmd)) = do -#endif - _ <- foldLHsCmd (L span cmd) - return Nothing +-- foldLHsCmd (L span (HsCmd _ _ cmd)) = do + -- _ <- foldLHsCmd (L span cmd) + -- return Nothing diff --git a/src/HaskellCodeExplorer/GhcUtils.hs b/src/HaskellCodeExplorer/GhcUtils.hs index 0f3ff1c..3d2c604 100644 --- a/src/HaskellCodeExplorer/GhcUtils.hs +++ b/src/HaskellCodeExplorer/GhcUtils.hs @@ -6,6 +6,7 @@ {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE RecordWildCards #-} +{-# LANGUAGE OverloadedRecordDot #-} module HaskellCodeExplorer.GhcUtils ( -- * Pretty-printing @@ -56,300 +57,141 @@ module HaskellCodeExplorer.GhcUtils , clsInstDeclSrcSpan , hsDocsToDocH , subordinateNamesWithDocs + , toHsDocStrings ) where -import Bag (bagToList) -import ConLike (ConLike(..)) +import Documentation.Haddock.Parser (overIdentifier, parseParas) +import Documentation.Haddock.Types (DocH(..), Header(..), _doc) import qualified Data.ByteString as BS -import Data.Hashable (Hashable,hash) import qualified Data.ByteString.Internal as BSI -import Data.Char (isAlpha, isAlphaNum, isAscii, ord) -import Data.Either (either) -import Data.Generics (Data) -import Data.Generics.SYB (everything, everywhere, mkQ, mkT) +import Data.Char (isAlpha, isAlphaNum, isAscii, ord) +import Data.Either (either) +import Data.Generics (Data) +import Data.Generics.SYB (everything, everywhere, mkQ, mkT) import qualified Data.Generics.Uniplate.Data() +import Data.Hashable (Hashable,hash) import qualified Data.HashMap.Strict as HM import qualified Data.List as L -import Data.Maybe (fromMaybe, isJust, mapMaybe) +import qualified Data.Map as Map +import Data.Maybe (fromMaybe, isJust, mapMaybe, maybeToList) import qualified Data.Text as T -import DataCon (dataConWorkId, flSelector) -import Documentation.Haddock.Parser (overIdentifier, parseParas) -import Documentation.Haddock.Types (DocH(..), - Header(..), - _doc - ) -import DynFlags () -import FastString (mkFastString, unpackFS) -import GHC - ( DynFlags -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) - , HsDocString -#else - , HsDocString (..) -#endif - , InstDecl(..) - , ModuleName - , Name - , SrcSpan(..) - , RealSrcSpan(..) - , ClsInstDecl(..) - , TyClDecl(..) - , HsDataDefn(..) - , NewOrData(..) - , Id - , HsGroup(..) - , HsBindLR(..) - , HsValBindsLR(..) -#if MIN_VERSION_GLASGOW_HASKELL(8,4,1,0) - , HsPatSynDetails -#else - , HsPatSynDetails(..) -#endif - , Located - , IE(..) - , TyThing(..) - , LHsDecl - , HsDecl(..) - , DocDecl(..) - , ConDecl(..) - , HsConDetails(..) - , ConDeclField(..) - , DataFamInstDecl(..) - , LSig - , Sig(..) - , ForeignDecl(..) - , FixitySig(..) - , tcdName - , collectHsBindBinders - , getLoc - , hsSigType - , getConNames -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) - , NHsValBindsLR(..) - , getConArgs - , unpackHDS - , NoExt(..) - , extFieldOcc -#else - , getConDetails - , selectorFieldOcc -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) - , tyClGroupTyClDecls - , LIEWrappedName - , hsGroupInstDecls - , ieLWrappedName -#else - , tyClGroupConcat -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) - , FamEqn(..) -#endif - , tyConKind - , nameSrcSpan - , srcSpanFile - , srcSpanStartLine - , srcSpanEndLine - , srcSpanStartCol - , srcSpanEndCol - , isExternalName - , moduleNameString - , recordPatSynSelectorId - , recordPatSynPatVar - , isGoodSrcSpan - , isLocalId - , isDataFamilyDecl - , tyFamInstDeclName - , idType - , hsib_body -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -#else - , tfe_pats -#endif - , tfid_eqn -#if MIN_VERSION_ghc(8,8,0) - , dL - , HasSrcSpan - , SrcSpanLess -#endif - ) - +import GHC ( ClsInstDecl(..), ConDecl(..), DataDefnCons(..), DataFamInstDecl(..), DocDecl(..) + , DynFlags, FixitySig(..), HsBindLR(..), HsConDetails(..), HsDataDefn(..) + , HsDecl(..), HsDocString, HsGroup(..), HsPatSynDetails, HsValBindsLR(..) + , IE(..), Id, InstDecl(..), LHsDecl, LIEWrappedName, Located, LSig + , ModuleName, Name, NHsValBindsLR(..), NewOrData(..) + , RealSrcSpan(..), Sig(..), SrcSpan(..), TyClDecl(..) + , TyThing(..), collectHsBindBinders, getConNames, getLoc, hsGroupInstDecls + , hsSigWcType, hst_body, idType, ieLWrappedName, isDataFamilyDecl + , isExternalName, isGoodSrcSpan, isLocalId, moduleNameString + , nameSrcSpan, recordPatSynPatVar, srcSpanEndCol, srcSpanEndLine + , srcSpanFile, srcSpanStartCol, srcSpanStartLine, tfid_eqn + , tcdName, tyClGroupTyClDecls, tyFamInstDeclName, unpackHDSC) +import GHC.Builtin.Types (unitTy) +import GHC.Core.ConLike (ConLike(..)) +import GHC.Core.Coercion (coercionType) +import GHC.Core.DataCon (dataConWorkId, flSelector) +import GHC.Core.InstEnv (ClsInst(..)) +import GHC.Core.PatSyn (PatSyn, patSynMatcher, patSynSig) +import GHC.Core.TyCo.Ppr (pprType) +import GHC.Core.TyCo.Rep (scaledThing, Type(..)) +import GHC.Core.TyCon (tyConName, tyConKind) +import GHC.Core.Type (coreView, expandTypeSynonyms, mkForAllTy, mkInvisForAllTys + , mkScaledFunTys, mkVisFunTyMany, piResultTy, splitFunTy_maybe + , tidyOpenType) +import GHC.CoreToIface (toIfaceType) +import GHC.Data.Bag (bagToList) +import GHC.Data.FastString (fsLit, mkFastString, unpackFS) +import GHC.Data.Pair (pSnd) +import GHC.Data.StringBuffer (StringBuffer(..), stringToStringBuffer) +import GHC.Driver.Config.Diagnostic (initDiagOpts) +import GHC.Driver.Config.Parser (initParserOpts) +import GHC.Driver.Session (DynFlags(..), extensionFlags) +import GHC.Hs (collectPatBinders, ConDeclField(..), feqn_pats, feqn_rhs, feqn_tycon + , FieldOcc(..), ForeignExport, ForeignImport, GhcPass, GhcPs, GhcRn, IdP + , LIdP, locA, noExtField, XRec, unXRec) +import GHC.Hs.Decls (HsDataDefn(..), ForeignDecl(..), ForeignImport(..), ForeignExport(..)) +import GHC.Hs.Doc (LHsDoc, renderHsDocString, WithHsDocIdentifiers(..)) +import GHC.Hs.Utils (CollectFlag(..)) +import GHC.Parser (parseIdentifier) +import GHC.Parser.Lexer (initParserState, mkParserOpts, ParseResult(POk), PState + , unP) +import GHC.Parser.Annotation (AnnListItem, EpAnn, getLocA, SrcSpanAnnA, noLocA) +import GHC.Tc.Types.Evidence (HsWrapper(..)) +import GHC.Tc.Utils.TcType (evVarPred) +import GHC.Types.Id (mkVanillaGlobal) +import GHC.Types.Id.Info (IdDetails(..)) +import GHC.Types.Name (isDataConNameSpace, isDerivedOccName, isInternalName + , isSystemName, isTvNameSpace, isTyConName, isValNameSpace + , isWiredInName, mkInternalName, mkOccName, nameModule_maybe + , nameOccName, nameUnique, OccName, occNameFS, occNameSpace + , occNameString, wiredInNameTyThing_maybe) +import GHC.Types.Name.Reader ( GlobalRdrEnv, RdrName(..), gre_name, LookupGRE(..) + , lookupGRE, mkRdrUnqual, rdrNameOcc, WhichGREs(..)) +import GHC.Types.Name.Occurrence (mkVarOcc, mkDataOcc, mkTcOcc) +import GHC.Types.PkgQual (PkgQual(..)) +import GHC.Types.SrcLoc ( GenLocated(..), isGoodSrcSpan, mkRealSrcLoc, noLoc, RealSrcLoc + , realSrcSpanStart , SrcSpan(..), UnhelpfulSpanReason(..) + , unLoc) +import GHC.Types.TypeEnv (TypeEnv, lookupTypeEnv) +import GHC.Types.Unique (getKey) +import GHC.Types.Unique.FM (lookupUFM) +import GHC.Types.Unique.Set (emptyUniqSet, nonDetEltsUniqSet, unionUniqSets) +import GHC.Types.Var ( ForAllTyFlag(..), idDetails, isId, mkTyVar, mkTyVarBinder + , setVarType, Specificity(..), varName, varType, varUnique) +import GHC.Types.Var.Env (TidyEnv) +import GHC.Types.Var.Set (VarSet, emptyVarSet, unionVarSet, unitVarSet) +import qualified GHC.Unit.Module as Mod +import GHC.Unit.Module (Module, moduleUnitId) +import GHC.Unit.Env (ue_units, UnitEnv) +import GHC.Unit.Info (unitPackageName, unitPackageNameString, unitPackageVersion) +import GHC.Unit.State (LookupResult(..), lookupModuleWithSuggestions, lookupUnit + , lookupUnitId, UnitInfo(..), unitInfoMap, UnitState(..)) +import GHC.Unit.Types (Unit) +import GHC.Utils.Outputable (Outputable, ppr, showPprUnsafe, showSDocUnsafe) import qualified HaskellCodeExplorer.Types as HCE -import HscTypes (TypeEnv, lookupTypeEnv) -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -import HsExtension (GhcRn,IdP) -#endif -import IdInfo (IdDetails(..)) -import InstEnv (ClsInst(..)) -import Lexer (ParseResult(POk), mkPState, unP) -import Module (Module(..)) -import Name - ( isDataConNameSpace - , isDerivedOccName - , isInternalName - , isSystemName - , isTvNameSpace - , isTyConName - , isValNameSpace - , isWiredInName - , mkInternalName - , mkOccName - , nameModule_maybe - , nameOccName - , nameUnique - , occNameFS - , occNameSpace - , occNameString - , wiredInNameTyThing_maybe - ) -import OccName (OccName) -import Outputable (Outputable, ppr, showPpr, showSDoc) -import PackageConfig (packageVersion) -import Packages - ( LookupResult(..) - , lookupModuleWithSuggestions - , lookupPackage - , packageNameString - ) -import Pair (pSnd) -import Parser (parseIdentifier) -import PatSyn (PatSyn, patSynMatcher, patSynSig) -import Prelude hiding (id, span) -import RdrName (GlobalRdrEnv, RdrName(..), gre_name, lookupGRE_RdrName) -import RnEnv (dataTcOccs) -import SrcLoc (GenLocated(..), mkRealSrcLoc, unLoc) -import StringBuffer (StringBuffer(..), stringToStringBuffer) -import System.FilePath (normalise) -import TcEvidence (HsWrapper(..), tcCoercionKind) -import TcType (evVarPred) -import TyCoRep (Type(..), -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) - ArgFlag(..) -#else - VisibilityFlag(..) -#endif - ) -import TyCon (tyConName) -import Type - ( coreView - , expandTypeSynonyms - , mkForAllTy - , mkFunTy - , mkFunTys - , mkInvForAllTys -#if !MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) - , mkNamedBinder -#endif - , piResultTy - , pprSigmaType - , splitFunTy_maybe - , tidyOpenType - ) -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) -import ToIface -import IfaceType -#endif -import TysWiredIn (unitTy) -import UniqSet (emptyUniqSet, unionUniqSets, -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) - nonDetEltsUniqSet -#else - uniqSetToList -#endif - ) -import Unique (getKey) -import Var - ( idDetails - , isId - , mkTyVar - , setVarType - , varName - , varType - , varUnique - ) -import VarEnv (TidyEnv) -import VarSet (VarSet, emptyVarSet, unionVarSet, unitVarSet -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) -#else - ,varSetElems -#endif - ) +import Prelude hiding (span) +import System.FilePath (normalise) -------------------------------------------------------------------------------- -- Pretty-printing -------------------------------------------------------------------------------- -toText :: (Outputable a) => DynFlags -> a -> T.Text -toText flags = T.pack . showSDoc flags . ppr +toText :: (Outputable a) => a -> T.Text +toText x = T.pack $ showSDocUnsafe (ppr x) instanceToText :: DynFlags -> ClsInst -> T.Text instanceToText flags ClsInst {..} = - T.append "instance " $ T.pack . showSDoc flags $ pprSigmaType (idType is_dfun) + T.append "instance " $ T.pack . showSDocUnsafe $ pprType (idType is_dfun) -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) instanceDeclToText :: DynFlags -> InstDecl GhcRn -> T.Text -#else -instanceDeclToText :: DynFlags -> InstDecl Name -> T.Text -#endif instanceDeclToText flags decl = case decl of -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) XInstDecl _ -> "" ClsInstD _ (XClsInstDecl _) -> "" ClsInstD _ ClsInstDecl {..} -> -#else - ClsInstD ClsInstDecl {..} -> -#endif - T.append "instance " (toText flags cid_poly_ty) + T.append "instance " (toText cid_poly_ty) -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) DataFamInstD _ di -> let args = - T.intercalate " " . map (toText flags) . feqn_pats . hsib_body . dfid_eqn $ di + T.intercalate " " . map toText . feqn_pats . dfid_eqn $ di in T.concat - ["data instance ", toText flags (unLoc $ feqn_tycon . hsib_body . dfid_eqn $ di), " ", args] + ["data instance ", toText (unLoc $ feqn_tycon . dfid_eqn $ di), " ", args] TyFamInstD _ ti -> let args = T.intercalate " " . - map (toText flags) . feqn_pats . hsib_body . tfid_eqn $ - ti - in T.concat - ["type instance ", toText flags $ tyFamInstDeclName ti, " ", args] -#elif MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) - DataFamInstD di -> - let args = - T.intercalate " " . map (toText flags) . feqn_pats . hsib_body . dfid_eqn $ di - in T.concat - ["data instance ", toText flags (unLoc $ feqn_tycon . hsib_body . dfid_eqn $ di), " ", args] - TyFamInstD ti -> - let args = - T.intercalate " " . - map (toText flags) . feqn_pats . hsib_body . tfid_eqn $ + map toText . feqn_pats . tfid_eqn $ ti in T.concat - ["type instance ", toText flags $ tyFamInstDeclName ti, " ", args] -#else - DataFamInstD di -> - let args = - T.intercalate " " . map (toText flags) . hsib_body $ dfid_pats di - in T.concat - ["data instance ", toText flags (unLoc $ dfid_tycon di), " ", args] - TyFamInstD ti -> - let args = - T.intercalate " " . - map (toText flags) . hsib_body . tfe_pats . unLoc . tfid_eqn $ - ti - in T.concat - ["type instance ", toText flags $ tyFamInstDeclName ti, " ", args] -#endif + ["type instance ", toText $ tyFamInstDeclName ti, " ", args] nameToText :: Name -> T.Text nameToText = T.pack . unpackFS . occNameFS . nameOccName tyClDeclPrefix :: TyClDecl a -> T.Text tyClDeclPrefix tyClDecl = - let isNewTy :: TyClDecl a -> Bool - isNewTy DataDecl {tcdDataDefn = HsDataDefn {dd_ND = NewType}} = True - isNewTy _ = False + let isNewTy :: TyClDecl pass -> Bool + isNewTy DataDecl{ tcdDataDefn = HsDataDefn{ dd_cons = NewTypeCon{} } } = True + isNewTy _ = False in case tyClDecl of FamDecl {} | isDataFamilyDecl tyClDecl -> "data family " @@ -359,9 +201,7 @@ tyClDeclPrefix tyClDecl = | isNewTy tyClDecl -> "newtype " | otherwise -> "data " ClassDecl {} -> "class " -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) XTyClDecl _ -> "" -#endif demangleOccName :: Name -> T.Text demangleOccName name @@ -413,7 +253,7 @@ identifierKey flags id T.concat [ T.pack . show . getKey . varUnique $ id , "_" - , T.pack . show . hash . showSDoc flags . ppr . varType $ id + , T.pack . show . hash . showSDocUnsafe . ppr . varType $ id ] identifierKey _ id = T.pack . show . getKey . varUnique $ id @@ -429,98 +269,42 @@ mbIdDetails v RecSelId {sel_naughty = True} -> Just HCE.RecSelIdNaughty DataConWorkId _ -> Just HCE.DataConWorkId DataConWrapId _ -> Just HCE.DataConWrapId - ClassOpId _ -> Just HCE.ClassOpId - PrimOpId _ -> Just HCE.PrimOpId + ClassOpId _ _ -> Just HCE.ClassOpId + PrimOpId _ _ -> Just HCE.PrimOpId FCallId _ -> Just HCE.FCallId TickBoxOpId _ -> Just HCE.TickBoxOpId DFunId _ -> Just HCE.DFunId CoVarId -> Just HCE.CoVarId -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) - JoinId _ -> Just HCE.JoinId -#endif + JoinId _ _ -> Just HCE.JoinId mbIdDetails _ = Nothing -------------------------------------------------------------------------------- -- Syntax transformation -------------------------------------------------------------------------------- -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -hsGroupVals :: HsGroup GhcRn -> [GenLocated SrcSpan (HsBindLR GhcRn GhcRn)] -#else -hsGroupVals :: HsGroup Name -> [GenLocated SrcSpan (HsBindLR Name Name)] -#endif +hsGroupVals :: HsGroup GhcRn -> [GenLocated (EpAnn AnnListItem) (HsBindLR GhcRn GhcRn)] hsGroupVals hsGroup = - filter (isGoodSrcSpan . getLoc) $ - case hs_valds hsGroup of -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) - XValBindsLR (NValBinds binds _) -> concatMap (bagToList . snd) binds -#else - ValBindsOut binds _ -> concatMap (bagToList . snd) binds -#endif - _ -> [] + filter (isGoodSrcSpan . locA . getLoc) $ + case hs_valds hsGroup of + XValBindsLR (NValBinds binds _) -> concatMap (bagToList . snd) binds + _ -> [] -hsPatSynDetails :: HsPatSynDetails a -> [a] +hsPatSynDetails :: HsPatSynDetails a -> [LIdP a] hsPatSynDetails patDetails = -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) case patDetails of InfixCon name1 name2 -> [name1, name2] - PrefixCon fields -> fields - RecCon fields -> concatMap - (\field -> [recordPatSynSelectorId field, recordPatSynPatVar field]) - fields -#else - case patDetails of - InfixPatSyn name1 name2 -> [name1, name2] - PrefixPatSyn name -> name - RecordPatSyn fields -> - concatMap - (\field -> [recordPatSynSelectorId field, recordPatSynPatVar field]) - fields -#endif - + PrefixCon _ fields -> fields + RecCon fields -> map recordPatSynPatVar fields -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -unwrapName :: LIEWrappedName a -> Located a +unwrapName :: LIEWrappedName (GhcPass p) -> LIdP (GhcPass p) unwrapName = ieLWrappedName -#elif MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) -unwrapName :: LIEWrappedName Name -> Located Name -unwrapName = ieLWrappedName -#else -unwrapName :: Located Name -> Located Name -unwrapName n = n -#endif - -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -ieLocNames :: IE pass -> [Located (IdP pass)] -#else -ieLocNames :: IE Name -> [Located Name] -#endif - -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) + +ieLocNames :: IE (GhcPass p) -> [LIdP (GhcPass p)] ieLocNames (XIE _) = [] -ieLocNames (IEVar _ n) = -#else -ieLocNames (IEVar n) = -#endif - [unwrapName n] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -ieLocNames (IEThingAbs _ n) = -#else -ieLocNames (IEThingAbs n) = -#endif - [unwrapName n] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -ieLocNames (IEThingAll _ n) = -#else -ieLocNames (IEThingAll n) = -#endif - [unwrapName n] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -ieLocNames (IEThingWith _ n _ ns labels) = -#else -ieLocNames (IEThingWith n _ ns labels) = -#endif - unwrapName n : (map unwrapName ns ++ map (fmap flSelector) labels) +ieLocNames (IEVar _ n _) = [unwrapName n] +ieLocNames (IEThingAbs _ n _) = [unwrapName n] +ieLocNames (IEThingAll _ n _) = [unwrapName n] +ieLocNames (IEThingWith _ n _ ns _) = unwrapName n : (map unwrapName ns) ieLocNames IEModuleContents {} = [] ieLocNames IEGroup {} = [] ieLocNames IEDoc {} = [] @@ -543,28 +327,27 @@ lookupIdInTypeEnv typeEnv name = do _ -> Nothing lookupNameModuleAndPackage :: - DynFlags + UnitState -> HCE.PackageId -> Name -> Either T.Text (HCE.HaskellModuleName, HCE.PackageId) -lookupNameModuleAndPackage flags currentPackageId name = +lookupNameModuleAndPackage unitState currentPackageId name = case nameModule_maybe name of - Just Module {..} -> - case lookupPackage flags moduleUnitId of + Just m -> + case lookupUnit unitState (Mod.moduleUnit m) of Just packageConfig -> let packageId = - if (T.pack . packageNameString $ packageConfig) == - HCE.name (currentPackageId :: HCE.PackageId) + if (T.pack $ unitPackageNameString packageConfig) == currentPackageId.name then currentPackageId else HCE.PackageId - (T.pack $ packageNameString packageConfig) - (PackageConfig.packageVersion packageConfig) + (T.pack $ (unitPackageNameString packageConfig)) + packageConfig.unitPackageVersion in Right - ( HCE.HaskellModuleName . T.pack . moduleNameString $ moduleName + ( HCE.HaskellModuleName . T.pack . moduleNameString $ Mod.moduleName m , packageId) Nothing -> Right - ( HCE.HaskellModuleName . T.pack . moduleNameString $ moduleName + ( HCE.HaskellModuleName . T.pack . moduleNameString $ Mod.moduleName m , currentPackageId) Nothing -> Left $ T.concat ["nameModule_maybe ", nameToText name, " is Nothing"] @@ -577,13 +360,14 @@ isHsBoot :: HCE.HaskellModulePath -> Bool isHsBoot = T.isSuffixOf "-boot" . HCE.getHaskellModulePath moduleLocationInfo :: - DynFlags + UnitState + -> DynFlags -> HM.HashMap HCE.HaskellModuleName (HM.HashMap HCE.ComponentId HCE.HaskellModulePath) -> HCE.PackageId -> HCE.ComponentId -> ModuleName -> HCE.LocationInfo -moduleLocationInfo flags moduleNameMap currentPackageId compId moduleName = +moduleLocationInfo unitState flags moduleNameMap currentPackageId compId moduleName = let moduleNameText = T.pack . moduleNameString $ moduleName currentPackageLocation = HCE.ApproximateLocation @@ -605,14 +389,15 @@ moduleLocationInfo flags moduleNameMap currentPackageId compId moduleName = 1 1 _ -> - case lookupModuleWithSuggestions flags moduleName Nothing of - LookupFound Module {moduleUnitId = unitId} _ -> - case lookupPackage flags unitId of + case lookupModuleWithSuggestions unitState moduleName NoPkgQual of + LookupFound m _ -> + let unitId = Mod.moduleUnit m in + case lookupUnit unitState unitId of Just packInfo -> let packageId = HCE.PackageId - (T.pack $ packageNameString packInfo) - (PackageConfig.packageVersion packInfo) + (T.pack $ unitPackageNameString packInfo) + (unitPackageVersion packInfo) in HCE.ApproximateLocation packageId (HCE.HaskellModuleName . T.pack . moduleNameString $ @@ -626,17 +411,15 @@ moduleLocationInfo flags moduleNameMap currentPackageId compId moduleName = Nothing -> currentPackageLocation _ -> currentPackageLocation -isDefinedInCurrentModule :: - HCE.SourceCodeTransformation -> HCE.HaskellFilePath -> Bool +isDefinedInCurrentModule :: HCE.SourceCodeTransformation -> HCE.HaskellFilePath -> Bool isDefinedInCurrentModule transformation file = let includedFiles = HM.keys $ HCE.fileIndex transformation - modPath = - HCE.getHaskellModulePath $ - HCE.filePath (transformation :: HCE.SourceCodeTransformation) + modPath = HCE.getHaskellModulePath transformation.filePath in HCE.getHaskellFilePath file == modPath || (file `elem` includedFiles) nameLocationInfo :: - DynFlags + UnitState + -> DynFlags -> HCE.PackageId -> HCE.ComponentId -> HCE.SourceCodeTransformation @@ -646,18 +429,12 @@ nameLocationInfo :: -> Maybe SrcSpan -- ^ Only for wired-in names -> Name -> HCE.LocationInfo -nameLocationInfo flags currentPackageId compId transformation fileMap defSiteMap mbInstanceHead mbSrcSpan name +nameLocationInfo unitState flags currentPackageId compId transformation fileMap defSiteMap mbInstanceHead mbSrcSpan name | Just srcSpan <- realSrcSpan name mbSrcSpan = let filePath = HCE.HaskellFilePath . T.pack . normalise . unpackFS . srcSpanFile $ srcSpan - approximateLocation = - mkApproximateLocation - flags - currentPackageId - compId - mbInstanceHead - name + approximateLocation = mkApproximateLocation unitState flags currentPackageId compId mbInstanceHead name in if isDefinedInCurrentModule transformation filePath then let eitherStart = HCE.fromOriginalLineNumber @@ -669,12 +446,12 @@ nameLocationInfo flags currentPackageId compId transformation fileMap defSiteMap (filePath, srcSpanEndLine srcSpan) in case (,) eitherStart eitherEnd of (Right startLine,Right endLine) -> - let modulePath = HCE.filePath (transformation :: HCE.SourceCodeTransformation) + let modulePath = (transformation :: HCE.SourceCodeTransformation).filePath moduleName = either (const $ HCE.HaskellModuleName "") fst - (lookupNameModuleAndPackage flags currentPackageId name) + (lookupNameModuleAndPackage unitState currentPackageId name) in HCE.ExactLocation { packageId = currentPackageId , modulePath = modulePath @@ -700,30 +477,31 @@ nameLocationInfo flags currentPackageId compId transformation fileMap defSiteMap realSrcSpan :: Name -> Maybe SrcSpan -> Maybe RealSrcSpan realSrcSpan n mbSpan = case nameSrcSpan n of - RealSrcSpan span -> Just span + RealSrcSpan span _ -> Just span _ | isWiredInName n -> case mbSpan of Just span -> case span of - RealSrcSpan s -> Just s + RealSrcSpan s _ -> Just s _ -> Nothing _ -> Nothing _ -> Nothing -nameLocationInfo flags currentPackageId compId _transformation _fileMap _defSiteMap mbInstanceHead _mbSrcSpan name = - mkApproximateLocation flags currentPackageId compId mbInstanceHead name +nameLocationInfo unitState flags currentPackageId compId _transformation _fileMap _defSiteMap mbInstanceHead _mbSrcSpan name = + mkApproximateLocation unitState flags currentPackageId compId mbInstanceHead name mkApproximateLocation :: - DynFlags + UnitState + -> DynFlags -> HCE.PackageId -> HCE.ComponentId -> Maybe T.Text -> Name -> HCE.LocationInfo -mkApproximateLocation flags currentPackageId compId mbInstanceHead name = +mkApproximateLocation unitState flags currentPackageId compId mbInstanceHead name = let haddockAnchor = Just . T.pack . makeAnchorId . T.unpack . nameToText $ name - in case lookupNameModuleAndPackage flags currentPackageId name of + in case lookupNameModuleAndPackage unitState currentPackageId name of Right (moduleName, packageId) -> HCE.ApproximateLocation { moduleName = moduleName @@ -756,15 +534,15 @@ occNameLocationInfo :: occNameLocationInfo flags packageId componentId (modName, occName) = HCE.ApproximateLocation { packageId = packageId - , moduleName = HCE.HaskellModuleName $ toText flags modName + , moduleName = HCE.HaskellModuleName $ toText modName , entity = case occNameNameSpace occName of HCE.VarName -> HCE.Val HCE.DataName -> HCE.Val _ -> HCE.Typ - , name = toText flags occName + , name = toText occName , haddockAnchorId = - Just . T.pack . makeAnchorId . T.unpack $ toText flags occName + Just . T.pack . makeAnchorId . T.unpack $ toText occName , componentId = componentId } @@ -778,19 +556,18 @@ lookupEntityLocation defSiteMap locatableEntity text = , " " , text ] - defSiteLocation = HCE.location :: HCE.DefinitionSite -> HCE.LocationInfo lookupLocation :: (Eq a, Hashable a) => (HCE.DefinitionSiteMap -> HM.HashMap a HCE.DefinitionSite) -> (T.Text -> a) -> HCE.LocationInfo lookupLocation selector toKey = - maybe (HCE.UnknownLocation errorMessage) defSiteLocation $ + maybe (HCE.UnknownLocation errorMessage) (\siteMap -> siteMap.location) $ HM.lookup (toKey text) (selector defSiteMap) in case locatableEntity of - HCE.Val -> lookupLocation HCE.values HCE.OccName - HCE.Typ -> lookupLocation HCE.types HCE.OccName - HCE.Inst -> lookupLocation HCE.instances (\t -> t) + HCE.Val -> lookupLocation (\siteMap -> siteMap.values) HCE.OccName + HCE.Typ -> lookupLocation (\siteMap -> siteMap.types) HCE.OccName + HCE.Inst -> lookupLocation (\siteMap -> siteMap.instances) (\t -> t) HCE.Mod -> HCE.UnknownLocation errorMessage nameDocumentation :: @@ -823,12 +600,12 @@ lookupNameDocumentation name defSiteMap = maybe Nothing HCE.documentation $ HM.lookup key (selector (defSiteMap :: HCE.DefinitionSiteMap)) in case occNameNameSpace . nameOccName $ name of - HCE.VarName -> lookupDoc HCE.values - HCE.DataName -> lookupDoc HCE.values - _ -> lookupDoc HCE.types + HCE.VarName -> lookupDoc (\siteMap -> siteMap.values) + HCE.DataName -> lookupDoc (\siteMap -> siteMap.values) + _ -> lookupDoc (\siteMap -> siteMap.types) srcSpanToFilePath :: SrcSpan -> Maybe HCE.HaskellFilePath -srcSpanToFilePath (RealSrcSpan s) = +srcSpanToFilePath (RealSrcSpan s _) = Just . HCE.HaskellFilePath . T.pack . normalise . unpackFS . srcSpanFile $ s srcSpanToFilePath (UnhelpfulSpan _) = Nothing @@ -836,7 +613,7 @@ srcSpanToLineAndColNumbers :: HCE.SourceCodeTransformation -> SrcSpan -> Maybe (HCE.HaskellFilePath, (Int, Int), (Int, Int)) -srcSpanToLineAndColNumbers transformation (RealSrcSpan s) = +srcSpanToLineAndColNumbers transformation (RealSrcSpan s _) = let filePath = HCE.HaskellFilePath . T.pack . normalise . unpackFS . srcSpanFile $ s eitherStart = @@ -872,6 +649,9 @@ tidyIdentifierType tidyEnv identifier = let (tidyEnv', typ') = tidyOpenType tidyEnv (varType identifier) in (tidyEnv', setVarType identifier typ') +mkFunTys :: [Type] -> Type -> Type +mkFunTys ts init = foldr mkVisFunTyMany init ts + patSynId :: PatSyn -> Id patSynId patSyn = let (univTvs, reqTheta, exTvs, provTheta, argTys, resTy) = patSynSig patSyn @@ -879,43 +659,40 @@ patSynId patSyn = | null reqTheta && not (null provTheta && null exTvs) = [unitTy] | otherwise = reqTheta -- required => provided => arg_1 -> ... -> arg_n -> res + ubinders = map (mkTyVarBinder SpecifiedSpec) univTvs + xbinders = map (mkTyVarBinder SpecifiedSpec) exTvs patSynTy = - mkInvForAllTys univTvs $ + mkInvisForAllTys ubinders $ mkFunTys reqTheta' $ - mkInvForAllTys exTvs $ mkFunTys provTheta $ mkFunTys argTys resTy - in flip setVarType patSynTy . fst . patSynMatcher $ patSyn + mkInvisForAllTys xbinders $ + mkFunTys provTheta $ mkScaledFunTys argTys resTy + in + let (matcherName, _, _) = patSynMatcher patSyn + in mkVanillaGlobal matcherName patSynTy + applyWrapper :: HsWrapper -> Type -> Type applyWrapper wp ty | Just ty' <- coreView ty = applyWrapper wp ty' applyWrapper WpHole t = t applyWrapper (WpCompose w1 w2) t = applyWrapper w1 . applyWrapper w2 $ t -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) -applyWrapper (WpFun w1 w2 t1 _doc) t = mkFunTy t1 (applyWrapper w2 $ piResultTy t (applyWrapper w1 t1)) -#else -applyWrapper (WpFun w1 w2 t1) t = mkFunTy t1 (applyWrapper w2 $ piResultTy t (applyWrapper w1 t1)) -#endif -applyWrapper (WpCast coercion) _t = pSnd $ tcCoercionKind coercion -applyWrapper (WpEvLam v) t = mkFunTy (evVarPred v) t +applyWrapper (WpFun w1 w2 t1) t = + let argTy = applyWrapper w1 (scaledThing t1) + resTy = piResultTy t argTy + in mkScaledFunTys [t1] (applyWrapper w2 resTy) +applyWrapper (WpCast coercion) _t = coercionType coercion +applyWrapper (WpEvLam v) t = mkVisFunTyMany (evVarPred v) t applyWrapper (WpEvApp _ev) t = case splitFunTy_maybe t of - Just (_arg,res) -> res + Just (_, _, _,res) -> res Nothing -> t -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) -applyWrapper (WpTyLam v) t = mkForAllTy v Required t -#else -applyWrapper (WpTyLam v) t = mkForAllTy (mkNamedBinder Invisible v) t -#endif +applyWrapper (WpTyLam v) t = mkInvisForAllTys [mkTyVarBinder SpecifiedSpec v] t applyWrapper (WpTyApp t') t = piResultTy t t' applyWrapper (WpLet _) t = t wrapperTypes :: HsWrapper -> [Type] wrapperTypes WpHole = [] wrapperTypes (WpCompose w1 w2) = wrapperTypes w2 ++ wrapperTypes w1 -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) -wrapperTypes (WpFun w1 w2 _ _) = wrapperTypes w2 ++ wrapperTypes w1 -#else wrapperTypes (WpFun w1 w2 _) = wrapperTypes w2 ++ wrapperTypes w1 -#endif wrapperTypes (WpCast _) = [] wrapperTypes (WpEvLam _) = [] wrapperTypes (WpEvApp _) = [] @@ -934,13 +711,8 @@ mkType flags typ = then Just typeComponentsExpanded else Nothing) -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) -typeToText :: DynFlags -> Type -> T.Text -typeToText flags = T.pack . showSDoc flags . pprIfaceType . toIfaceType -#else typeToText :: DynFlags -> Type -> T.Text -typeToText = toText -#endif +typeToText flags = T.pack . showSDocUnsafe . ppr . toIfaceType toTypeComponents :: DynFlags -> Type -> [HCE.TypeComponent] toTypeComponents flags typ = @@ -994,22 +766,14 @@ updateOccNames update = everywhere (mkT updateType) -- | This function doesn't look through type synonyms tyConsOfType :: Type -> [Id] tyConsOfType = -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) nonDetEltsUniqSet . everything unionUniqSets (emptyVarSet `mkQ` tyCon) -#else - uniqSetToList . everything unionUniqSets (emptyVarSet `mkQ` tyCon) -#endif where tyCon :: Type -> VarSet tyCon (TyConApp tc _) = unitVarSet $ mkTyVar (tyConName tc) (tyConKind tc) tyCon _ = emptyUniqSet tyVarsOfType :: (Data a) => a -> [Id] -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) tyVarsOfType = nonDetEltsUniqSet . everything unionVarSet (emptyVarSet `mkQ` tyVar) -#else -tyVarsOfType = varSetElems . everything unionVarSet (emptyVarSet `mkQ` tyVar) -#endif where tyVar :: Type -> VarSet tyVar (TyVarTy ty) = unitVarSet ty @@ -1020,304 +784,172 @@ tyVarsOfType = varSetElems . everything unionVarSet (emptyVarSet `mkQ` tyVar) -- Some functions are copied from haddock-api package -------------------------------------------------------------------------------- -collectDocs :: [LHsDecl a] -> [(LHsDecl a, [HsDocString])] +collectDocs :: [LHsDecl GhcRn] -> [(LHsDecl GhcRn, [LHsDoc GhcRn])] collectDocs = go Nothing [] where go Nothing _ [] = [] go (Just prev) docs [] = finished prev docs [] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) go prev docs (L _ (DocD _ (DocCommentNext str)):ds) -#else - go prev docs (L _ (DocD (DocCommentNext str)):ds) -#endif - | Nothing <- prev = go Nothing (str : docs) ds | Just decl <- prev = finished decl docs (go Nothing [str] ds) -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) go prev docs (L _ (DocD _ (DocCommentPrev str)):ds) = go prev (str : docs) ds -#else - go prev docs (L _ (DocD (DocCommentPrev str)):ds) = go prev (str : docs) ds -#endif go Nothing docs (d:ds) = go (Just d) docs ds go (Just prev) docs (d:ds) = finished prev docs (go (Just d) [] ds) finished decl docs rest = (decl, reverse docs) : rest -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) ungroup :: HsGroup GhcRn -> [LHsDecl GhcRn] -#else -ungroup :: HsGroup Name -> [LHsDecl Name] -#endif ungroup group_ = -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) - mkDecls (tyClGroupTyClDecls . hs_tyclds) (TyClD NoExt) group_ ++ -#elif MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) - mkDecls (tyClGroupTyClDecls . hs_tyclds) TyClD group_ ++ -#else - mkDecls (tyClGroupConcat . hs_tyclds) TyClD group_ ++ -#endif - -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) - mkDecls hs_derivds (DerivD NoExt) group_ ++ - mkDecls hs_defds (DefD NoExt) group_ ++ - mkDecls hs_fords (ForD NoExt) group_ ++ - mkDecls hs_docs (DocD NoExt) group_ ++ -#else - mkDecls hs_derivds DerivD group_ ++ - mkDecls hs_defds DefD group_ ++ - mkDecls hs_fords ForD group_ ++ - mkDecls hs_docs DocD group_ ++ -#endif - -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) - mkDecls hsGroupInstDecls (InstD NoExt) group_ ++ -#elif MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) - mkDecls hsGroupInstDecls InstD group_ ++ -#else - mkDecls hs_instds InstD group_ ++ -#endif - -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) - mkDecls (typesigs . hs_valds) (SigD NoExt) group_ ++ - mkDecls (valbinds . hs_valds) (ValD NoExt) group_ -#else - mkDecls (typesigs . hs_valds) SigD group_ ++ - mkDecls (valbinds . hs_valds) ValD group_ -#endif - - + mkDecls (tyClGroupTyClDecls . hs_tyclds) (TyClD noExtField) group_ ++ + mkDecls hs_derivds (DerivD noExtField) group_ ++ + mkDecls hs_defds (DefD noExtField) group_ ++ + mkDecls hs_fords (ForD noExtField) group_ ++ + mkDecls hs_docs (DocD noExtField) group_ ++ + mkDecls hsGroupInstDecls (InstD noExtField) group_ ++ + mkDecls (typesigs . hs_valds) (SigD noExtField) group_ ++ + mkDecls (valbinds . hs_valds) (ValD noExtField) group_ where -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) typesigs (XValBindsLR (NValBinds _ sigs)) = filter isUserLSig sigs -#else - typesigs (ValBindsOut _ sigs) = filter isUserLSig sigs -#endif typesigs _ = [] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) valbinds (XValBindsLR (NValBinds binds _)) = concatMap (bagToList . snd) binds -#else - valbinds (ValBindsOut binds _) = concatMap (bagToList . snd) binds -#endif valbinds _ = [] -mkDecls :: (a -> [Located b]) -> (b -> c) -> a -> [Located c] +mkDecls :: (a -> [GenLocated (EpAnn AnnListItem) b]) -> (b -> HsDecl GhcRn) -> a -> [LHsDecl GhcRn] mkDecls field con struct = [L loc (con decl) | L loc decl <- field struct] -sortByLoc :: [Located a] -> [Located a] -sortByLoc = L.sortOn getLoc +srcSpanStartOrDummy :: SrcSpan -> RealSrcLoc +srcSpanStartOrDummy (RealSrcSpan realSpan _) = realSrcSpanStart realSpan +srcSpanStartOrDummy (UnhelpfulSpan _) = mkRealSrcLoc (mkFastString "") 0 0 -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -classDeclDocs :: TyClDecl GhcRn -> [(LHsDecl GhcRn, [HsDocString])] -#else -classDeclDocs :: TyClDecl Name -> [(LHsDecl Name, [HsDocString])] -#endif -classDeclDocs class_ = collectDocs . sortByLoc $ decls +sortByLocA :: [GenLocated SrcSpanAnnA a] -> [GenLocated SrcSpanAnnA a] +sortByLocA = L.sortOn (srcSpanStartOrDummy . locA . getLoc) + +classDeclDocs :: TyClDecl GhcRn -> [(LHsDecl GhcRn, [LHsDoc GhcRn])] +classDeclDocs class_ = collectDocs . sortByLocA $ decls where decls = docs ++ defs ++ sigs ++ ats -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) - docs = mkDecls tcdDocs (DocD NoExt) class_ - defs = mkDecls (bagToList . tcdMeths) (ValD NoExt) class_ - sigs = mkDecls tcdSigs (SigD NoExt) class_ - ats = mkDecls tcdATs ((TyClD NoExt) . (FamDecl NoExt)) class_ -#else - docs = mkDecls tcdDocs DocD class_ - defs = mkDecls (bagToList . tcdMeths) ValD class_ - sigs = mkDecls tcdSigs SigD class_ - ats = mkDecls tcdATs (TyClD . FamDecl) class_ -#endif - - -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) + docs = mkDecls tcdDocs (DocD noExtField) class_ + defs = mkDecls (bagToList . tcdMeths) (ValD noExtField) class_ + sigs = mkDecls tcdSigs (SigD noExtField) class_ + ats = mkDecls tcdATs ((TyClD noExtField) . (FamDecl noExtField)) class_ + conDeclDocs :: ConDecl GhcRn -> [(Name, [HsDocString], SrcSpan)] -#else -conDeclDocs :: ConDecl Name -> [(Name, [HsDocString], SrcSpan)] -#endif conDeclDocs conDecl = - map (\(L span n) -> (n, maybe [] ((: []) . unLoc) $ con_doc conDecl, span)) . - getConNames $ - conDecl + map (\(L loc n) -> (n, maybe [] (\(L _ (WithHsDocIdentifiers doc _)) -> [doc]) $ con_doc conDecl, locA loc)) $ + getConNames conDecl -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) selectorDocs :: ConDecl GhcRn -> [(Name, [HsDocString], SrcSpan)] -#else -selectorDocs :: ConDecl Name -> [(Name, [HsDocString], SrcSpan)] -#endif selectorDocs con = -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) - case getConArgs con of -#else - case getConDetails con of -#endif + case con_args con of RecCon (L _ flds) -> concatMap -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) (\(L _ (ConDeclField _ fieldOccs _ mbDoc)) -> -#else - (\(L _ (ConDeclField fieldOccs _ mbDoc)) -> -#endif map - (\(L span f) -> -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) - (extFieldOcc f, maybe [] ((: []) . unLoc) mbDoc, span)) -#else - (selectorFieldOcc f, maybe [] ((: []) . unLoc) mbDoc, span)) -#endif + (\(L loc f) -> + ( foExt f + , maybe [] (\(L _ (WithHsDocIdentifiers doc _)) -> [doc]) mbDoc + , locA loc + )) fieldOccs) flds _ -> [] -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -subordinateNamesWithDocs :: [GenLocated SrcSpan (HsDecl GhcRn)] -> [(Name, [HsDocString], SrcSpan)] -#else -subordinateNamesWithDocs :: [GenLocated SrcSpan (HsDecl Name)] -> [(Name, [HsDocString], SrcSpan)] -#endif +subordinateNamesWithDocs :: [GenLocated SrcSpan (HsDecl GhcRn)] -> [(Name, [LHsDoc GhcRn], SrcSpan)] subordinateNamesWithDocs = - concatMap - (\(L span tyClDecl) -> - case tyClDecl of -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) - TyClD _ classDecl@ClassDecl {..} -> -#else - TyClD classDecl@ClassDecl {..} -> -#endif - concatMap - (\(L _ decl, docs) -> map (, docs, span) $ getMainDeclBinder decl) $ - classDeclDocs classDecl -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) - TyClD _ DataDecl {..} -> -#else - TyClD DataDecl {..} -> -#endif - concatMap (\(L _ con) -> conDeclDocs con ++ selectorDocs con) $ - dd_cons tcdDataDefn -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) - InstD _ (DataFamInstD _ DataFamInstDecl {..}) -> -#else - InstD (DataFamInstD DataFamInstDecl {..}) -> -#endif - -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) - concatMap (conDeclDocs . unLoc) . dd_cons . feqn_rhs . hsib_body $ dfid_eqn -#else - concatMap (conDeclDocs . unLoc) . dd_cons $ dfid_defn -#endif - _ -> []) - - -isUserLSig :: LSig name -> Bool -isUserLSig (L _ TypeSig {}) = True -isUserLSig (L _ ClassOpSig {}) = True -isUserLSig _ = False - -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) + concatMap $ \(L span tyClDecl) -> + case tyClDecl of + -- classDeclDocs already yields [LHsDoc GhcRn] + TyClD _ classDecl@ClassDecl {..} -> + concatMap + (\(L _ decl, docs) -> + map (\name -> (name, docs, span)) $ getMainDeclBinder decl + ) + (classDeclDocs classDecl) + -- conDeclDocs / selectorDocs return [(Name,[HsDocString],SrcSpan)] + -- Wrap HsDocString → LHsDoc GhcRn at this boundary + TyClD _ DataDecl {..} -> + let conv :: (Name, [HsDocString], SrcSpan) -> (Name, [LHsDoc GhcRn], SrcSpan) + conv (n, ds, sp) = (n, map (\s -> noLocA (WithHsDocIdentifiers s mempty)) ds, sp) + in concatMap + (\(L _ con) -> + map conv (conDeclDocs con) ++ map conv (selectorDocs con) + ) + (dd_cons tcdDataDefn) + InstD _ (DataFamInstD _ DataFamInstDecl {..}) -> + let conv (n, ds, sp) = (n, map (\s -> noLocA (WithHsDocIdentifiers s mempty)) ds, sp) + in map conv (concatMap (conDeclDocs . unLoc) (dd_cons (feqn_rhs dfid_eqn))) + _ -> [] + +isUserLSig :: LSig GhcRn -> Bool +isUserLSig (L _ s) = case s of + TypeSig{} -> True + ClassOpSig{} -> True + _ -> False + getMainDeclBinder :: HsDecl GhcRn -> [IdP GhcRn] -#else -getMainDeclBinder :: HsDecl name -> [name] -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -getMainDeclBinder (TyClD _ d) = -#else -getMainDeclBinder (TyClD d) = -#endif - [tcdName d] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -getMainDeclBinder (ValD _ d) = -#else -getMainDeclBinder (ValD d) = -#endif - case collectHsBindBinders d of - [] -> [] - (name:_) -> [name] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) +getMainDeclBinder (TyClD _ d) = [tcdName d] +getMainDeclBinder (ValD _ bind) = + case bind of + FunBind { fun_id = L _ name } -> [name] + PatBind { pat_lhs = pat } -> collectPatBinders CollNoDictBinders pat + _ -> [] getMainDeclBinder (SigD _ d) = sigNameNoLoc d -#else -getMainDeclBinder (SigD d) = sigNameNoLoc d -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) getMainDeclBinder (ForD _ (ForeignImport _ name _ _)) = [unLoc name] -#else -getMainDeclBinder (ForD (ForeignImport name _ _ _)) = [unLoc name] -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) getMainDeclBinder (ForD _ ForeignExport {}) = [] -#else -getMainDeclBinder (ForD ForeignExport {}) = [] -#endif getMainDeclBinder _ = [] -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -sigNameNoLoc :: Sig pass -> [IdP pass] -#else -sigNameNoLoc :: Sig name -> [name] -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) +sigNameNoLoc :: Sig GhcRn -> [IdP GhcRn] sigNameNoLoc (TypeSig _ ns _) = map unLoc ns -#else -sigNameNoLoc (TypeSig ns _) = map unLoc ns -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) sigNameNoLoc (ClassOpSig _ _ ns _) = map unLoc ns -#else -sigNameNoLoc (ClassOpSig _ ns _) = map unLoc ns -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) sigNameNoLoc (PatSynSig _ ns _) = map unLoc ns -#elif MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) -sigNameNoLoc (PatSynSig ns _) = map unLoc ns -#else -sigNameNoLoc (PatSynSig n _) = [unLoc n] -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) sigNameNoLoc (SpecSig _ n _ _) = [unLoc n] -#else -sigNameNoLoc (SpecSig n _ _) = [unLoc n] -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) sigNameNoLoc (InlineSig _ n _) = [unLoc n] -#else -sigNameNoLoc (InlineSig n _) = [unLoc n] -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) sigNameNoLoc (FixSig _ (FixitySig _ ns _)) = map unLoc ns -#else -sigNameNoLoc (FixSig (FixitySig ns _)) = map unLoc ns -#endif sigNameNoLoc _ = [] -clsInstDeclSrcSpan :: ClsInstDecl a -> SrcSpan -clsInstDeclSrcSpan ClsInstDecl {cid_poly_ty = ty} = getLoc (hsSigType ty) -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) -clsInstDeclSrcSpan (XClsInstDecl _) = UnhelpfulSpan "XClsinstdecl" -#endif - -hsDocsToDocH :: DynFlags -> GlobalRdrEnv -> [HsDocString] -> Doc Name -hsDocsToDocH flags rdrEnv = - rename flags rdrEnv . - overIdentifier (parseIdent flags) . - _doc -#if MIN_VERSION_haddock_library(1,6,0) - . parseParas Nothing -#else - . parseParas -#endif -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) - . concatMap unpackHDS -#else - . concatMap (unpackFS . (\(HsDocString s) -> s)) -#endif +clsInstDeclSrcSpan :: ClsInstDecl GhcPs -> SrcSpan +clsInstDeclSrcSpan ClsInstDecl {cid_poly_ty = ty} = locA (getLoc ty) +clsInstDeclSrcSpan (XClsInstDecl _) = UnhelpfulSpan (UnhelpfulOther (fsLit "XClsInstDecl")) + +toHsDocString :: LHsDoc GhcRn -> HsDocString +toHsDocString (L _ d) = + case d of + WithHsDocIdentifiers s _idents -> s + +toHsDocStrings :: [LHsDoc GhcRn] -> [HsDocString] +toHsDocStrings = map toHsDocString + +hsDocsToDocH :: UnitState -> DynFlags -> GlobalRdrEnv -> [HsDocString] -> Doc Name +hsDocsToDocH unitState flags rdrEnv chunks = + let docRdr = + overIdentifier (\_ -> parseIdent flags) + . _doc + . parseParas Nothing + . concatMap renderHsDocString + $ chunks + in rename unitState flags rdrEnv docRdr parseIdent :: DynFlags -> String -> Maybe RdrName parseIdent dflags str0 = - let buffer = stringToStringBuffer str0 - realSrcLc = mkRealSrcLoc (mkFastString "") 0 0 - pstate = mkPState dflags buffer realSrcLc - in case unP parseIdentifier pstate of + case unP parseIdentifier $ + initParserState + (mkParserOpts (extensionFlags dflags) (initDiagOpts dflags) [] False False False False) + (stringToStringBuffer str0) + (mkRealSrcLoc (mkFastString "") 0 0) of POk _ name -> Just (unLoc name) - _ -> Nothing + _ -> Nothing type Doc id = DocH (ModuleName, OccName) id -rename :: DynFlags -> GlobalRdrEnv -> Doc RdrName -> Doc Name -rename dflags gre = rn +dataTcOccs :: RdrName -> [RdrName] +dataTcOccs x = + let str = occNameString (rdrNameOcc x) + in [ mkRdrUnqual (mkVarOcc str) + , mkRdrUnqual (mkDataOcc str) + , mkRdrUnqual (mkTcOcc str) + ] + +rename :: UnitState -> DynFlags -> GlobalRdrEnv -> Doc RdrName -> Doc Name +rename unitState dflags gre = rn where rn d = case d of DocAppend a b -> DocAppend (rn a) (rn b) @@ -1328,13 +960,12 @@ rename dflags gre = rn let choices = dataTcOccs x -- Try to look up all the names in the GlobalRdrEnv that match -- the names. - let names = concatMap (\c -> map gre_name (lookupGRE_RdrName c gre)) choices - + let names = concatMap (\r -> map gre_name (lookupGRE gre (LookupRdrName r AllRelevantGREs))) choices case names of -- We found no names in the env so we start guessing. [] -> case choices of - [] -> DocMonospaced (DocString (showPpr dflags x)) + [] -> DocMonospaced (DocString (showPprUnsafe (rdrNameOcc x))) -- There was nothing in the environment so we need to -- pick some default from what's available to us. We -- diverge here from the old way where we would default @@ -1359,12 +990,12 @@ rename dflags gre = rn DocBold doc -> DocBold (rn doc) DocMonospaced doc -> DocMonospaced (rn doc) DocUnorderedList docs -> DocUnorderedList (map rn docs) - DocOrderedList docs -> DocOrderedList (map rn docs) + DocOrderedList docs -> DocOrderedList (map (\(i,d) -> (i, rn d)) docs) DocDefList list -> DocDefList [ (rn a, rn b) | (a, b) <- list ] DocCodeBlock doc -> DocCodeBlock (rn doc) DocIdentifierUnchecked x -> DocIdentifierUnchecked x - DocModule str -> DocModule str - DocHyperlink l -> DocHyperlink l + DocModule lnk -> DocModule (fmap rn lnk) + DocHyperlink l -> DocHyperlink (fmap rn l) DocPic str -> DocPic str DocMathInline str -> DocMathInline str DocMathDisplay str -> DocMathDisplay str @@ -1374,9 +1005,7 @@ rename dflags gre = rn DocEmpty -> DocEmpty DocString str -> DocString str DocHeader (Header l t) -> DocHeader $ Header l (rn t) -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) DocTable t -> DocTable (rn <$> t) -#endif -- | Wrap an identifier that's out of scope (i.e. wasn't found in -- 'GlobalReaderEnv' during 'rename') in an appropriate doc. Currently @@ -1387,15 +1016,15 @@ rename dflags gre = rn -- #253 and #375 on the confusion this causes depending on which -- default we pick in 'rename'. outOfScope :: DynFlags -> RdrName -> Doc a -outOfScope dflags x = +outOfScope _ x = case x of Unqual occ -> monospaced occ Qual mdl occ -> DocIdentifierUnchecked (mdl, occ) Orig _ occ -> monospaced occ Exact name -> monospaced name -- Shouldn't happen since x is out of scope where - monospaced :: (Outputable a) => a -> Doc b - monospaced a = DocMonospaced (DocString (showPpr dflags a)) + monospaced :: Outputable a => a -> Doc b + monospaced a = DocMonospaced (DocString (showPprUnsafe a)) makeAnchorId :: String -> String makeAnchorId [] = [] @@ -1408,10 +1037,5 @@ makeAnchorId (f:r) = escape isAlpha f ++ concatMap (escape isLegal) r isLegal '.' = True isLegal c = isAscii c && isAlphaNum c -#if MIN_VERSION_ghc(8,8,0) -ghcDL :: GHC.HasSrcSpan a => a -> GHC.Located (GHC.SrcSpanLess a) -ghcDL = GHC.dL -#else -ghcDL :: GHC.Located a -> GHC.Located a -ghcDL x = x -#endif +ghcDL :: a -> GHC.Located a +ghcDL = noLoc diff --git a/src/HaskellCodeExplorer/ModuleInfo.hs b/src/HaskellCodeExplorer/ModuleInfo.hs index fd8f61a..96ae883 100644 --- a/src/HaskellCodeExplorer/ModuleInfo.hs +++ b/src/HaskellCodeExplorer/ModuleInfo.hs @@ -8,6 +8,7 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE StrictData #-} +{-# LANGUAGE TypeApplications #-} module HaskellCodeExplorer.ModuleInfo ( createModuleInfo @@ -15,6 +16,7 @@ module HaskellCodeExplorer.ModuleInfo ) where import qualified Data.Generics.Uniplate.Data as U +import GHC.Unit.State (UnitState) import Control.Monad.State.Strict (execState,evalState,get,put,State) import qualified Data.Aeson as Aeson import Data.Aeson.Text(encodeToLazyText) @@ -23,20 +25,33 @@ import qualified Data.HashMap.Strict as HM import qualified Data.Map.Strict as M import qualified Data.IntMap.Strict as IM import qualified Data.IntervalMap.Strict as IVM +import GHC.Hs.Binds (HsBindLR, LHsBindLR) import qualified Data.List as L hiding (span) import Data.Maybe (fromMaybe, mapMaybe) -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -import HsExtension (GhcRn) -#endif +import GHC.Hs.Extension (GhcRn) +import GHC.Types.SrcLoc + ( SrcSpan(..) -- 关键:带入 RealSrcSpan/UnhelpfulSpan 构造子 + , RealSrcSpan + , srcSpanStartLine + , srcSpanStartCol + ) import qualified Data.Set as S +import GHC.Hs.Utils (collectHsBindBinders, CollectFlag(..)) import qualified Data.Text as T +import GHC.Driver.Env(hsc_unit_env, HscEnv) +import GHC.Unit.Env (ue_units) import qualified Data.Text.Encoding as TE +import GHC.Types.Unique.DFM ( eltsUDFM ) import Data.Text.Lazy (toStrict) import Documentation.Haddock.Types (DocH) -import DynFlags(DynFlags) +import GHC.Driver.Session + ( DynFlags + , targetPlatform ) import GHC ( GenLocated(..) , ModSummary + , locA + , getLocA , ModuleInfo , ModuleName , SrcSpan @@ -56,63 +71,61 @@ import GHC , tm_typechecked_source , unLoc ) -import Type(expandTypeSynonyms) -import TyCon (isFamInstTyCon,tyConName) +import GHC.Core.Type(expandTypeSynonyms) +import GHC.Core.TyCon (isFamInstTyCon,tyConName) import HaskellCodeExplorer.AST.RenamedSource import HaskellCodeExplorer.AST.TypecheckedSource import HaskellCodeExplorer.GhcUtils import HaskellCodeExplorer.Preprocessor (createSourceCodeTransformation) import qualified HaskellCodeExplorer.Types as HCE -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -import HsBinds (HsBindLR) -#endif -import HsDecls +import GHC.Hs.Binds (HsBindLR) +import GHC.Hs.Decls ( ForeignDecl(..) , HsDecl(..) + , LForeignDecl(..) + , LInstDecl(..) + , LTyClDecl(..) + , LHsDecl , HsGroup(..) -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) , InstDecl , TyClDecl -#endif , InstDecl(..) , group_tyclds , tyClDeclLName , tcdName -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) , hsGroupInstDecls -#endif ) -import HsDoc(HsDocString) -import HsImpExp (IE(..), ImportDecl(..)) -import HsUtils(collectHsBindBinders) -import HscTypes +import GHC.Hs.Doc + ( HsDocString + , LHsDoc(..) + , WithHsDocIdentifiers(..) ) +import GHC.Hs.ImpExp (IE(..), ImportDecl(..), ideclImplicit) +import GHC.Hs.Utils(collectHsBindBinders) +import GHC.Unit.External ( ExternalPackageState - , HomePackageTable - , TypeEnv , eps_PTE - , eps_inst_env - , hm_details - , md_types + , eps_inst_env) +import GHC.Unit.Home.ModInfo + ( HomePackageTable + , hm_details) +import GHC.Unit.Module.ModDetails + ( md_types ) +import GHC.Types.TypeEnv + ( TypeEnv , mkTypeEnv - , typeEnvElts - ) -import InstEnv (InstEnvs(..), is_dfun) -import Module(Module(..)) -import Name (Name, OccName, getSrcSpan, nameOccName, nameSrcSpan, nameUnique) + , typeEnvElts ) +import GHC.Core.InstEnv (InstEnvs(..), is_dfun) +import GHC.Unit.Module(Module(..), moduleName) +import GHC.Types.Name (Name, OccName, getSrcSpan, nameOccName, nameSrcSpan, nameUnique) import Prelude hiding(id,span) -import RdrName(GlobalRdrEnv) -import SrcLoc (isOneLineSpan) -import TcRnTypes (tcVisibleOrphanMods, tcg_inst_env, tcg_rdr_env, tcg_type_env) +import GHC.Types.Name.Reader(GlobalRdrEnv) +import GHC.Types.SrcLoc (isOneLineSpan, RealSrcSpan(..), srcSpanStartLine, srcSpanStartCol) +import GHC.Tc.Types (tcVisibleOrphanMods, tcg_inst_env, tcg_rdr_env, tcg_type_env) import qualified Text.Blaze.Html5 as H import qualified Text.Blaze.Html5.Attributes as A -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) -import UniqDFM (eltsUDFM) -#else -import UniqFM (eltsUFM) -#endif -import Unique (getKey) -import Var (varName, varType,Id) -import VarEnv (emptyTidyEnv) +import GHC.Types.Unique (getKey) +import GHC.Types.Var (varName, varType,Id) +import GHC.Types.Var.Env (emptyTidyEnv) type ModuleDependencies = ( HM.HashMap HCE.HaskellFilePath HCE.HaskellModulePath @@ -127,17 +140,18 @@ type ModuleGhcData , ModSummary) createModuleInfo :: - ModuleDependencies -- ^ Modules that have already been indexed + ModuleDependencies -- ^ Modules that have already been indexed -> ModuleGhcData -- ^ Data types from GHC -> HCE.HaskellModulePath -- ^ Current module path -> HCE.PackageId -- ^ Current package id -> HCE.ComponentId -- ^ Current build component id -> (T.Text, HCE.SourceCodePreprocessing) -- ^ Source code + -> HscEnv -> (HCE.ModuleInfo, ModuleDependencies, [TypeError]) -createModuleInfo (fileMap, defSiteMap, moduleNameMap) (flags, typecheckedModule, homePackageTable, externalPackageState, modSum) modulePath currentPackageId compId (originalSourceCode, sourceCodePreprocessing) = +createModuleInfo (fileMap, defSiteMap, moduleNameMap) (flags, typecheckedModule, homePackageTable, externalPackageState, modSum) modulePath currentPackageId compId (originalSourceCode, sourceCodePreprocessing) hscEnv= let globalRdrEnv = tcg_rdr_env . fst . tm_internals_ $ typecheckedModule modInfo = moduleInfo typecheckedModule - (Just (hsGroup, _, _, _)) = renamedSource typecheckedModule + (Just (hsGroup, _, _, _, _)) = renamedSource typecheckedModule exportedNamesSet = S.fromList $ modInfoExportsWithSelectors modInfo -------------------------------------------------------------------------------- -- Preprocessed source @@ -156,11 +170,7 @@ createModuleInfo (fileMap, defSiteMap, moduleNameMap) (flags, typecheckedModule, currentModuleTyThings = typeEnvElts $ tcg_type_env tcGblEnv homePackageTyThings = concatMap (typeEnvElts . md_types . hm_details) $ -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) eltsUDFM homePackageTable -#else - eltsUFM homePackageTable -#endif externalPackagesTyThings = typeEnvElts $ eps_PTE externalPackageState typeEnv = mkTypeEnv @@ -178,6 +188,7 @@ createModuleInfo (fileMap, defSiteMap, moduleNameMap) (flags, typecheckedModule, currentModuleTyThings (defSites, allNames) = createDefinitionSiteMap + unitState flags currentPackageId compId @@ -198,6 +209,7 @@ createModuleInfo (fileMap, defSiteMap, moduleNameMap) (flags, typecheckedModule, -------------------------------------------------------------------------------- declarations = createDeclarations flags hsGroup typeEnv exportedNamesSet transformation + unitState = ue_units (hsc_unit_env hscEnv) environment = Environment { envDynFlags = flags @@ -211,6 +223,7 @@ createModuleInfo (fileMap, defSiteMap, moduleNameMap) (flags, typecheckedModule, , envPackageId = currentPackageId , envComponentId = compId , envExportedNames = exportedNamesSet + , envUnitState = unitState } externalIds = L.foldl' @@ -222,11 +235,15 @@ createModuleInfo (fileMap, defSiteMap, moduleNameMap) (flags, typecheckedModule, [] allNames currentModuleName = - (\(Module _ name) -> - HCE.HaskellModuleName . T.pack . moduleNameString $ name) . - ms_mod $ - modSum - SourceInfo {..} = foldAST environment typecheckedModule + HCE.HaskellModuleName . T.pack + . moduleNameString . moduleName . ms_mod + $ modSum + -- currentModuleName = + -- (\(Module _ name) -> + -- HCE.HaskellModuleName . T.pack . moduleNameString $ name) . + -- ms_mod $ + -- modSum + SourceInfo {..} = foldAST unitState environment typecheckedModule in (tidyInternalIds HCE.ModuleInfo { id = modulePath , transformation = transformation @@ -307,7 +324,8 @@ prepareSourceCode sourceCodePreprocessing originalSourceCode modSum modulePath = sourceCodeAfterPreprocessing createDefinitionSiteMap :: - DynFlags + UnitState + -> DynFlags -> HCE.PackageId -> HCE.ComponentId -> HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap @@ -316,45 +334,49 @@ createDefinitionSiteMap :: -> HCE.SourceCodeTransformation -> ModuleInfo -> [Name] -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -> HsGroup GhcRn -#else - -> HsGroup Name -#endif -> (HCE.DefinitionSiteMap, [Name]) -createDefinitionSiteMap flags currentPackageId compId defSiteMap fileMap globalRdrEnv transformation modInfo dataFamTyCons hsGroup = +createDefinitionSiteMap unitState flags currentPackageId compId defSiteMap fileMap globalRdrEnv transformation modInfo dataFamTyCons hsGroup = let -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) - allDecls :: [GenLocated SrcSpan (HsDecl GhcRn)] -#endif - allDecls = L.sortOn getLoc . ungroup $ hsGroup + -------------------------------------------------------------------------------- + -- Collect declarations + -------------------------------------------------------------------------------- + allDecls :: [LHsDecl GhcRn] + allDecls = + L.sortOn + (\d -> case locA (getLocA d) of + RealSrcSpan r _ -> (srcSpanStartLine r, srcSpanStartCol r) + _ -> (maxBound :: Int, maxBound :: Int)) + (ungroup hsGroup) + (instanceDeclsWithDocs, valueAndTypeDeclsWithDocs) = L.partition (\(L _ decl, _) -> case decl of InstD {} -> True - _ -> False) $ - collectDocs allDecls + _ -> False) + (collectDocs allDecls) + -------------------------------------------------------------------------------- -- Instances -------------------------------------------------------------------------------- - -- No type instances or data instances here for now - instanceDocMap :: M.Map SrcSpan [HsDocString] + instanceDocMap :: M.Map RealSrcSpan [LHsDoc GhcRn] instanceDocMap = - M.fromList . - mapMaybe - (\(L _n decl, docs) -> - case decl of -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) - InstD _ (ClsInstD _ inst) -> Just (clsInstDeclSrcSpan inst, docs) -#else - InstD (ClsInstD inst) -> Just (clsInstDeclSrcSpan inst, docs) -#endif - _ -> Nothing) $ - instanceDeclsWithDocs + M.fromList $ + mapMaybe + (\(L nSpan decl, docs) -> + case decl of + InstD _ (ClsInstD _ _inst) -> + case locA nSpan of + RealSrcSpan r _ -> Just (r, docs) + _ -> Nothing + _ -> Nothing) + instanceDeclsWithDocs + nameLocation :: Maybe SrcSpan -> Name -> HCE.LocationInfo - nameLocation = + nameLocation mbSrcSpan name = nameLocationInfo + unitState flags currentPackageId compId @@ -362,74 +384,93 @@ createDefinitionSiteMap flags currentPackageId compId defSiteMap fileMap globalR fileMap defSiteMap Nothing + Nothing + name + docHToHtml :: DocH (ModuleName, OccName) Name -> HCE.HTML docHToHtml = docWithNamesToHtml + unitState flags currentPackageId compId transformation fileMap defSiteMap + instancesWithDocumentation = - HM.fromList . - map - (\clsInst -> - ( instanceToText flags clsInst - , let location = - nameLocation Nothing (Var.varName . is_dfun $ clsInst) - in case M.lookup (getSrcSpan clsInst) instanceDocMap of - Just hsDocString -> - HCE.DefinitionSite - location - (Just . docHToHtml . hsDocsToDocH flags globalRdrEnv $ - hsDocString) - Nothing -> HCE.DefinitionSite location Nothing)) $ - modInfoInstances modInfo -- all instances (including derived) + HM.fromList $ + map + (\clsInst -> + ( instanceToText flags clsInst + , let location = nameLocation Nothing (varName . is_dfun $ clsInst) + in case getSrcSpan clsInst of + RealSrcSpan r _ -> + case M.lookup r instanceDocMap of + Just hsDocs -> + let hsDocStrings = [ s | L _ (WithHsDocIdentifiers s _) <- hsDocs ] + doc = hsDocsToDocH unitState flags globalRdrEnv hsDocStrings + in HCE.DefinitionSite location (Just (docHToHtml doc)) + Nothing -> HCE.DefinitionSite location Nothing + _ -> HCE.DefinitionSite location Nothing + )) + (modInfoInstances modInfo) + -------------------------------------------------------------------------------- -- Values and types -------------------------------------------------------------------------------- mainDeclNamesWithDocumentation = concatMap - (\(L span decl, docs) -> map (, docs, span) $ getMainDeclBinder decl) + (\(L spanA decl, docs) -> map (, docs, locA spanA) $ getMainDeclBinder decl) valueAndTypeDeclsWithDocs + dataFamTyConsWithoutDocs = map (\name -> (name, [], nameSrcSpan name)) dataFamTyCons + + allDeclsSrc :: [GenLocated SrcSpan (HsDecl GhcRn)] + allDeclsSrc = map (\(L la d) -> L (locA la) d) allDecls + allNamesWithDocumentation = - mainDeclNamesWithDocumentation ++ - subordinateNamesWithDocs allDecls ++ dataFamTyConsWithoutDocs + mainDeclNamesWithDocumentation + ++ subordinateNamesWithDocs allDeclsSrc + ++ dataFamTyConsWithoutDocs + (valuesWithDocumentation, typesWithDocumentation) = L.partition - (\(name, _doc, _srcSpan) -> + (\(name, _, _) -> case occNameNameSpace . nameOccName $ name of - HCE.VarName -> True + HCE.VarName -> True HCE.DataName -> True - _ -> False) + _ -> False) allNamesWithDocumentation + toHashMap :: - [(Name, [HsDocString], SrcSpan)] + [(Name, [LHsDoc GhcRn], SrcSpan)] -> HM.HashMap HCE.OccName HCE.DefinitionSite toHashMap = HM.fromListWith (\(HCE.DefinitionSite loc newDoc) (HCE.DefinitionSite _ oldDoc) -> - (HCE.DefinitionSite loc $ mappend newDoc oldDoc)) . + HCE.DefinitionSite loc (mappend newDoc oldDoc)) . map (\(name, docs, srcSpan) -> let location = nameLocation (Just srcSpan) name htmlDoc = - if not . null $ docs - then Just . docHToHtml . hsDocsToDocH flags globalRdrEnv $ - docs + if not (null docs) + then let hsDocStrings = [ s | L _ (WithHsDocIdentifiers s _) <- docs ] + doc = hsDocsToDocH unitState flags globalRdrEnv hsDocStrings + in Just (docHToHtml doc) else Nothing - in (HCE.OccName $ toText flags name, HCE.DefinitionSite location htmlDoc)) - -------------------------------------------------------------------------------- - in ( HCE.DefinitionSiteMap - { HCE.values = toHashMap valuesWithDocumentation - , HCE.types = - toHashMap $ typesWithDocumentation ++ dataFamTyConsWithoutDocs + in (HCE.OccName $ toText name, HCE.DefinitionSite location htmlDoc)) + + + in ( HCE.DefinitionSiteMap + { HCE.values = toHashMap valuesWithDocumentation + , HCE.types = toHashMap (typesWithDocumentation ++ dataFamTyConsWithoutDocs) , HCE.instances = instancesWithDocumentation } - , map (\(n, _, _) -> n) allNamesWithDocumentation) + , map (\(n, _, _) -> n) allNamesWithDocumentation + ) + occNameToHtml :: DynFlags @@ -442,10 +483,11 @@ occNameToHtml flags packageId compId (modName, occName) = H.textValue . toStrict . encodeToLazyText . Aeson.toJSON $ occNameLocationInfo flags packageId compId (modName, occName) in (H.span H.! H.dataAttribute "location" location) H.! A.class_ "link" $ - H.toHtml (toText flags occName) + H.toHtml (toText occName) nameToHtml :: - DynFlags + UnitState + -> DynFlags -> HCE.PackageId -> HCE.ComponentId -> HCE.SourceCodeTransformation @@ -453,10 +495,11 @@ nameToHtml :: -> HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap -> Name -> H.Html -nameToHtml flags packageId compId transformation files defSiteMap name = +nameToHtml unitState flags packageId compId transformation files defSiteMap name = let location = H.textValue . toStrict . encodeToLazyText . Aeson.toJSON $ nameLocationInfo + unitState flags packageId compId @@ -470,7 +513,8 @@ nameToHtml flags packageId compId transformation files defSiteMap name = H.toHtml (nameToText name) docWithNamesToHtml :: - DynFlags + UnitState + -> DynFlags -> HCE.PackageId -> HCE.ComponentId -> HCE.SourceCodeTransformation @@ -478,18 +522,14 @@ docWithNamesToHtml :: -> HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap -> DocH (ModuleName, OccName) Name -> HCE.HTML -docWithNamesToHtml flags packageId compId transformation fileMap defSiteMap = +docWithNamesToHtml unitState flags packageId compId transformation fileMap defSiteMap = HCE.docToHtml (occNameToHtml flags packageId compId) - (nameToHtml flags packageId compId transformation fileMap defSiteMap) + (nameToHtml unitState flags packageId compId transformation fileMap defSiteMap) createDeclarations :: DynFlags -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -> HsGroup GhcRn -#else - -> HsGroup Name -#endif -> TypeEnv -> S.Set Name -> HCE.SourceCodeTransformation @@ -505,78 +545,73 @@ createDeclarations flags hsGroup typeEnv exportedSet transformation = case lookupIdInTypeEnv typeEnv n of Just i -> Just . mkType flags . varType $ i Nothing -> Nothing - -- | Top-level functions - -------------------------------------------------------------------------------- -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) - valToDeclarations :: GenLocated SrcSpan (HsBindLR GhcRn GhcRn) -> [HCE.Declaration] -#endif - valToDeclarations (L loc bind) = - map - (\name -> - HCE.Declaration - HCE.ValD - (toText flags name) - (nameType name) - (S.member name exportedSet) - (lineNumber loc)) $ - collectHsBindBinders bind + valToDeclarations :: LHsBindLR GhcRn GhcRn -> [HCE.Declaration] + valToDeclarations (L locAnn bind) = + let + names :: [Name] + names = collectHsBindBinders CollNoDictBinders bind + loc :: SrcSpan + loc = locA locAnn + in + map + (\name -> + HCE.Declaration + HCE.ValD + (toText name) + (nameType name) + (S.member name exportedSet) + (lineNumber loc)) + names vals = concatMap valToDeclarations $ hsGroupVals hsGroup -- | Data, newtype, type, type family, data family or class declaration -------------------------------------------------------------------------------- -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) - tyClToDeclaration :: GenLocated SrcSpan (TyClDecl GhcRn) -> HCE.Declaration -#endif - tyClToDeclaration (L loc tyClDecl) = + tyClToDeclaration :: LTyClDecl GhcRn -> HCE.Declaration + tyClToDeclaration (L locA' tyClDecl) = HCE.Declaration HCE.TyClD - (T.append (tyClDeclPrefix tyClDecl) (toText flags $ tcdName tyClDecl)) + (T.append (tyClDeclPrefix tyClDecl) (toText $ tcdName tyClDecl)) (nameType $ tcdName tyClDecl) (S.member (unLoc $ tyClDeclLName tyClDecl) exportedSet) - (lineNumber loc) + (lineNumber (locA locA')) tyclds = - map tyClToDeclaration . - filter (isGoodSrcSpan . getLoc) . concatMap group_tyclds . hs_tyclds $ - hsGroup + map tyClToDeclaration + . filter (isGoodSrcSpan . locA . getLocA) + . concatMap group_tyclds . hs_tyclds + $ hsGroup -- | Instances -------------------------------------------------------------------------------- -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) - instToDeclaration :: GenLocated SrcSpan (InstDecl GhcRn) -> HCE.Declaration -#endif - instToDeclaration (L loc inst) = + instToDeclaration :: LInstDecl GhcRn -> HCE.Declaration + instToDeclaration (L locA' inst) = HCE.Declaration HCE.InstD (instanceDeclToText flags inst) Nothing True - (lineNumber loc) + (lineNumber (locA locA')) insts = -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) - map instToDeclaration . filter (isGoodSrcSpan . getLoc) . hsGroupInstDecls $ -#else - map instToDeclaration . filter (isGoodSrcSpan . getLoc) . hs_instds $ -#endif - hsGroup + map instToDeclaration + . filter (isGoodSrcSpan . locA . getLoc) + . hsGroupInstDecls + $ hsGroup -- | Foreign functions -------------------------------------------------------------------------------- -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) foreignFunToDeclaration :: - GenLocated SrcSpan (ForeignDecl GhcRn) -> HCE.Declaration -#endif - foreignFunToDeclaration (L loc fd) = + LForeignDecl GhcRn -> HCE.Declaration + foreignFunToDeclaration (L locA' fd) = let name = unLoc $ fd_name fd - in HCE.Declaration - HCE.ForD - (toText flags name) - (nameType name) - True - (lineNumber loc) + in HCE.Declaration + HCE.ForD + (toText name) + (nameType name) + True + (lineNumber (locA locA')) fords = map foreignFunToDeclaration $ hs_fords hsGroup -------------------------------------------------------------------------------- in L.sortOn HCE.lineNumber $ vals ++ tyclds ++ insts ++ fords -foldAST :: Environment -> TypecheckedModule -> SourceInfo -foldAST environment typecheckedModule = - let (Just renamed@(_, importDecls, mbExported, _)) = +foldAST :: UnitState -> Environment -> TypecheckedModule -> SourceInfo +foldAST unitState environment typecheckedModule = + let (Just renamed@(_hsGroupRn, importDecls, mbExported, _mbTopDoc, _mbModuleName)) = renamedSource typecheckedModule emptyASTState = ASTState IVM.empty IM.empty M.empty emptyTidyEnv Nothing environment [] @@ -584,15 +619,6 @@ foldAST environment typecheckedModule = execState (foldTypecheckedSource $ tm_typechecked_source typecheckedModule) emptyASTState - -- A few things that are not in the output of the typechecker: - -- - the export list - -- - the imports - -- - type signatures - -- - type/data/newtype declarations - -- - class declarations - - -- Both typechecked source and renamed source are used to populate - -- 'IdentifierInfoMap' and 'IdentifierOccurrenceMap' (idInfoMap, idOccMap) = L.foldl' (addIdentifierToMaps environment astStateIdSrcSpanMap) @@ -603,43 +629,37 @@ foldAST environment typecheckedModule = compId = envComponentId environment importedModules = map - ((\(L span modName) -> + ((\(L ann modName) -> ( modName - , span + , locA ann , moduleLocationInfo + unitState flags (envModuleNameMap environment) packageId compId modName)) . - ideclName . unLoc) . - filter (not . ideclImplicit . unLoc) $ + ideclName . unLoc) . + filter (not . (ideclImplicit . ideclExt . unLoc)) $ importDecls exportedModules = case mbExported of Just lieNames -> mapMaybe -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) - (\(L span ie,_) -> -#else - (\(L span ie) -> -#endif - case ie of -#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0) - IEModuleContents _ (L _ modName) -> -#else - IEModuleContents (L _ modName) -> -#endif - Just - ( modName - , span - , moduleLocationInfo - flags - (envModuleNameMap environment) - packageId - compId - modName) - _ -> Nothing) + (\(L ann ie, _) -> + case ie of + IEModuleContents _ (L _ modName) -> + Just + ( modName + , locA ann + , moduleLocationInfo + unitState + flags + (envModuleNameMap environment) + packageId + compId + modName) + _ -> Nothing) lieNames Nothing -> [] addImportedAndExportedModulesToIdOccMap :: @@ -660,7 +680,7 @@ foldAST environment typecheckedModule = -- from typechecked source and renamed source addIdentifierToMaps :: Environment - -> M.Map SrcSpan (Id, Maybe (Type, [Type])) + -> M.Map RealSrcSpan (Id, Maybe (Type, [Type])) -> (HCE.IdentifierInfoMap, HCE.IdentifierOccurrenceMap) -> NameOccurrence -> (HCE.IdentifierInfoMap, HCE.IdentifierOccurrenceMap) @@ -687,7 +707,7 @@ addIdentifierToMaps environment idSrcSpanMap idMaps@(idInfoMap, idOccMap) nameOc Just (identifier, mbTypes) -> let name = fromMaybe - (Var.varName identifier) + (varName identifier) (unLoc $ locatedName nameOcc) identifierType = varType identifier identifierTypeExpanded = expandTypeSynonyms identifierType @@ -787,25 +807,30 @@ addNameToMaps environment (idInfoMap, idOccMap) mbKind mbName descr lineNumber c lookupIdByNameOccurrence :: Environment - -> M.Map SrcSpan (Id, Maybe (Type, [Type])) + -> M.Map RealSrcSpan (Id, Maybe (Type, [Type])) -> NameOccurrence -> Maybe (Id, Maybe (Type, [Type])) lookupIdByNameOccurrence environment idSrcSpanMap (NameOccurrence (L span mbName) _ _) = - case M.lookup span idSrcSpanMap of - Just (identifier, mbTypes) -> Just (identifier, mbTypes) - Nothing -> + case lookupBySrcSpan span of + Just hit -> Just hit + Nothing -> case mbName of Just name -> - case M.lookup (nameSrcSpan name) idSrcSpanMap of - -- LHS of a Match - Just (identifier, mbTypes) -> Just (identifier, mbTypes) - Nothing -> - -- Things that are not in the typechecked source + case lookupBySrcSpan (nameSrcSpan name) of + Just hit -> Just hit -- LHS of a Match 等 + Nothing -> + -- 不在 typechecked 源里的名字,退回 TypeEnv case lookupIdInTypeEnv (envTypeEnv environment) name of - Just t -> Just (t, Nothing) + Just t -> Just (t, Nothing) Nothing -> Nothing Nothing -> Nothing -lookupIdByNameOccurrence _ _ TyLitOccurrence {..} = Nothing + where + lookupBySrcSpan :: SrcSpan -> Maybe (Id, Maybe (Type, [Type])) + lookupBySrcSpan s = + case s of + RealSrcSpan real _ -> M.lookup real idSrcSpanMap + _ -> Nothing +lookupIdByNameOccurrence _ _ TyLitOccurrence{} = Nothing updateIdMap :: Environment diff --git a/src/HaskellCodeExplorer/PackageInfo.hs b/src/HaskellCodeExplorer/PackageInfo.hs index 466b518..8b2b92b 100644 --- a/src/HaskellCodeExplorer/PackageInfo.hs +++ b/src/HaskellCodeExplorer/PackageInfo.hs @@ -6,6 +6,7 @@ {-# LANGUAGE Rank2Types #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE DuplicateRecordFields #-} +{-# LANGUAGE OverloadedRecordDot #-} {-# OPTIONS_GHC -fno-warn-orphans #-} module HaskellCodeExplorer.PackageInfo @@ -42,33 +43,34 @@ import qualified Data.Set as S import qualified Data.Text as T import qualified Data.Text.Encoding as TE import Data.Version (Version(..), showVersion, makeVersion) -import Digraph (flattenSCCs) -import Distribution.Helper - ( ChComponentName(..) - , ChEntrypoint(..) - , ChModuleName(..) - , components - , entrypoints - , ghcOptions - , mkQueryEnv - , packageId - , runQuery - , sourceDirs - , compilerVersion - ) -import DynFlags +import GHC.Driver.Phases (Phase) +import GHC.Utils.Logger + ( getLogger + , LogFlags(..) + , pushLogHook ) +import GHC.Utils.Error + ( Severity + , MessageClass(..) ) +import GHC.Types.SrcLoc (SrcSpan) +import GHC.Utils.Outputable (SDoc, showSDocUnsafe) +import GHC.Unit.Module.Graph (ModuleGraphNode(..)) +import Data.Maybe (mapMaybe) +import GHC.Unit.Types (UnitId) +import GHC.Data.Graph.Directed (flattenSCCs) +import qualified GHC.Utils.Exception as GHCEx +import GHC.Driver.Session ( DynFlags(..) , GeneralFlag(..) , GhcMode(..) - , WarnReason(..) , gopt_set , parseDynamicFlagsCmdLine ) -import Exception (ExceptionMonad(..), ghandle) +import GHC.Utils.Exception (ExceptionMonad(..), handle) +import GHC.Driver.Backend (Backend(..)) import GHC ( GhcLink(..) - , HscTarget(..) , LoadHowMuch(..) + , Phase(..) , ModLocation(..) , ModSummary(..) , Severity @@ -89,13 +91,24 @@ import GHC , moduleName ) import GHC.Paths (libdir) -import GhcMonad (GhcT(..), liftIO) +import GHC.Driver.Monad + ( GhcT(..) + , liftIO + , setSession ) import HaskellCodeExplorer.GhcUtils (isHsBoot,toText) import HaskellCodeExplorer.ModuleInfo (ModuleDependencies, createModuleInfo) import qualified HaskellCodeExplorer.Types as HCE -import HscTypes (hsc_EPS, hsc_HPT) -import Outputable (PprStyle, SDoc, neverQualify, showSDocForUser) -import Packages (initPackages) +import GHC.Driver.Env + ( hscEPS + , hsc_HPT + , hsc_logger) +import GHC.Utils.Outputable + ( PprStyle + , SDoc + , neverQualify + , showSDocUnsafe + , ppr) +import GHC.Unit.State (initUnits) import Prelude hiding (id) import System.Directory ( doesFileExist @@ -110,6 +123,7 @@ import System.Exit (exitFailure) import System.FilePath ( () , addTrailingPathSeparator + , isAbsolute , joinPath , normalise , replaceExtension @@ -122,192 +136,266 @@ import System.FilePath ) import System.FilePath.Find (find,always,(==?),fileName) import System.Process (readProcess) +import qualified Data.Set as Set +import Distribution.PackageDescription +import Distribution.PackageDescription.Configuration (flattenPackageDescription) +import Distribution.PackageDescription.Parsec (parseGenericPackageDescription, runParseResult) +import qualified Data.ByteString as BS +import Distribution.Verbosity (normal) +import Distribution.ModuleName (toFilePath) +import Distribution.Simple.Compiler (CompilerFlavor(..)) +import Distribution.Pretty (prettyShow) +import Distribution.Utils.Path (getSymbolicPath) +import Distribution.PackageDescription (package) +import Distribution.Types.PackageId (pkgName, pkgVersion) +import Distribution.Pretty (prettyShow) +import Control.Monad.Catch (MonadCatch, MonadThrow, MonadMask, catch, throwM, mask) +import qualified Data.Version as BaseV +import qualified Distribution.Types.Version as CabalV createPackageInfo :: - FilePath -- ^ Path to a Cabal package - -> Maybe FilePath -- ^ Relative path to a dist directory - -> HCE.SourceCodePreprocessing -- ^ Before or after preprocessor - -> [String] -- ^ Options for GHC - -> [String] -- ^ Directories to ignore + FilePath + -> Maybe FilePath + -> HCE.SourceCodePreprocessing + -> [String] + -> [String] -> LoggingT IO (HCE.PackageInfo HCE.ModuleInfo) createPackageInfo packageDirectoryPath mbDistDirRelativePath sourceCodePreprocessing additionalGhcOptions ignoreDirectories = do packageDirectoryAbsPath <- liftIO $ makeAbsolute packageDirectoryPath currentDirectory <- liftIO getCurrentDirectory liftIO $ setCurrentDirectory packageDirectoryAbsPath + distDir <- case mbDistDirRelativePath of - Just path -> return $ packageDirectoryAbsPath path + Just path -> pure (packageDirectoryAbsPath path) Nothing -> do eitherDistDir <- findDistDirectory packageDirectoryAbsPath case eitherDistDir of - Right distDir -> return distDir - Left errorMessage -> - logErrorN (T.pack errorMessage) >> liftIO exitFailure + Right d -> pure d + Left err -> logErrorN (T.pack err) >> liftIO exitFailure + cabalFiles <- liftIO $ - length . - filter - (\path -> takeFileName path /= ".cabal" && takeExtension path == ".cabal") <$> - getDirectoryContents packageDirectoryAbsPath + length . + filter (\p -> takeFileName p /= ".cabal" && takeExtension p == ".cabal") + <$> getDirectoryContents packageDirectoryAbsPath _ <- if cabalFiles == 0 - then do - logErrorN $ - T.concat ["No .cabal file found in ", T.pack packageDirectoryAbsPath] - liftIO exitFailure + then logErrorN (T.concat ["No .cabal file found in ", T.pack packageDirectoryAbsPath]) >> liftIO exitFailure else when (cabalFiles >= 2) $ do - logErrorN $ - T.concat - [ "Found more than one .cabal file in " - , T.pack packageDirectoryAbsPath - ] + logErrorN (T.concat ["Found more than one .cabal file in ", T.pack packageDirectoryAbsPath]) liftIO exitFailure - let cabalHelperQueryEnv = mkQueryEnv packageDirectoryAbsPath distDir - ((packageName, packageVersion), (_packageCompilerName, packageCompilerVersion), compInfo) <- - liftIO $ - runQuery - cabalHelperQueryEnv - ((,,) <$> packageId <*> compilerVersion <*> - (zip3 <$> components ((,) <$> ghcOptions) <*> - components ((,) <$> entrypoints) <*> - components ((,) <$> sourceDirs))) - let currentPackageId = HCE.PackageId (T.pack packageName) packageVersion - unless - (take 3 (versionBranch packageCompilerVersion) == - take 3 (versionBranch ghcVersion)) $ do - logErrorN $ - T.concat - [ "GHC version mismatch. haskell-code-indexer: " - , T.pack $ showVersion ghcVersion - , ", package: " - , T.pack $ showVersion packageCompilerVersion - ] - liftIO exitFailure + + cabalFile <- liftIO $ findSingleCabalFile packageDirectoryAbsPath + bs <- liftIO $ BS.readFile cabalFile + let (_warnings, res) = runParseResult (parseGenericPackageDescription bs) + gpd <- case res of + Right g -> pure g + Left err -> do + logErrorN (T.pack ("Failed to parse cabal file: " <> show err)) + liftIO exitFailure + let pd = flattenPackageDescription gpd + pkgId = package pd + currentPackageId = + HCE.PackageId + (T.pack (prettyShow (pkgName pkgId))) + (makeVersion (CabalV.versionNumbers (pkgVersion pkgId))) logInfoN $ T.append "Indexing " $ HCE.packageIdToText currentPackageId - let buildComponents = - L.map - (\((options, compName), (entrypoint, _), (srcDirs, _)) -> - ( chComponentNameToComponentId compName - , options - , chEntrypointsToModules entrypoint - , srcDirs - , chComponentNameToComponentType compName)) . - L.sortBy - (\((_, compName1), _, _) ((_, compName2), _, _) -> - compare compName1 compName2) $ - compInfo + + let buildComponents :: [(HCE.ComponentId, [String], (Maybe FilePath, [String]), [FilePath], HCE.ComponentType)] + buildComponents = libs pd ++ subLibs pd ++ flibs pd ++ exes pd ++ tests pd ++ benches pd + + libs Distribution.PackageDescription.PackageDescription{library = Just lib} = + [ mkLib "lib" lib ] + libs _ = [] + + subLibs Distribution.PackageDescription.PackageDescription{subLibraries = xs} = + [ mkLib ("sublib-" <> unUnqualComponentName uqn) l + | l <- xs + , LSubLibName uqn <- [libName l] + ] + + flibs Distribution.PackageDescription.PackageDescription{foreignLibs = xs} = + [ mkFLib ("flib-" <> unUnqualComponentName (foreignLibName f)) f | f <- xs ] + + exes Distribution.PackageDescription.PackageDescription{executables = xs} = + [ mkExe ("exe-" <> unUnqualComponentName (exeName e)) e | e <- xs ] + + tests Distribution.PackageDescription.PackageDescription{testSuites = xs} = + [ mkTest ("test-" <> unUnqualComponentName (testName t)) t | t <- xs ] + + benches Distribution.PackageDescription.PackageDescription{benchmarks = xs} = + [ mkBench ("bench-" <> unUnqualComponentName (benchmarkName b)) b | b <- xs ] + + -- helpers + + mkLib cid lib = + let bi = libBuildInfo lib + srcDirs = hsDirs bi + exposeds = map Distribution.Pretty.prettyShow (exposedModules lib) + others = map Distribution.Pretty.prettyShow (otherModules bi) + sigs = map Distribution.Pretty.prettyShow (signatures lib) + mods = exposeds ++ others ++ sigs + in ( HCE.ComponentId (T.pack cid) + , ghcOptionsForBI packageDirectoryAbsPath bi + , (Nothing, mods) + , srcDirs + , HCE.Lib + ) + + mkFLib cid fl = + let bi = foreignLibBuildInfo fl + srcDirs = hsDirs bi + in ( HCE.ComponentId (T.pack cid) + , ghcOptionsForBI packageDirectoryAbsPath bi + , (Nothing, []) + , srcDirs + , HCE.FLib (T.pack (unUnqualComponentName (foreignLibName fl))) + ) + + mkExe cid e = + let bi = buildInfo e + srcDirs = hsDirs bi + mainFP = modulePath e + in ( HCE.ComponentId (T.pack cid) + , ghcOptionsForBI packageDirectoryAbsPath bi + , (Just mainFP, []) + , srcDirs + , HCE.Exe (T.pack (unUnqualComponentName (exeName e))) + ) + + mkTest cid t = + case testInterface t of + TestSuiteExeV10 _ mainFP -> + let bi = testBuildInfo t + srcDirs = hsDirs bi + in ( HCE.ComponentId (T.pack cid) + , ghcOptionsForBI packageDirectoryAbsPath bi + , (Just mainFP, []) + , srcDirs + , HCE.Test (T.pack (unUnqualComponentName (testName t))) + ) + _ -> + let bi = testBuildInfo t + in ( HCE.ComponentId (T.pack cid) + , ghcOptionsForBI packageDirectoryAbsPath bi + , (Nothing, []) + , hsDirs bi + , HCE.Test (T.pack (unUnqualComponentName (testName t))) + ) + + mkBench cid b = + case benchmarkInterface b of + BenchmarkExeV10 _ mainFP -> + let bi = benchmarkBuildInfo b + srcDirs = hsDirs bi + in ( HCE.ComponentId (T.pack cid) + , ghcOptionsForBI packageDirectoryAbsPath bi + , (Just mainFP, []) + , srcDirs + , HCE.Bench (T.pack (unUnqualComponentName (benchmarkName b))) + ) + _ -> + let bi = benchmarkBuildInfo b + in ( HCE.ComponentId (T.pack cid) + , ghcOptionsForBI packageDirectoryAbsPath bi + , (Nothing, []) + , hsDirs bi + , HCE.Bench (T.pack (unUnqualComponentName (benchmarkName b))) + ) + + unUnqualComponentName = Distribution.Pretty.prettyShow + libSrcDirs = - concatMap (\(_, _, _, srcDirs, _) -> srcDirs) . - filter (\(_, _, _, _, compType) -> HCE.isLibrary compType) $ - buildComponents + concatMap (\(_,_,_,dirs,_) -> dirs) + $ filter (\(_,_,_,_,ct) -> HCE.isLibrary ct) buildComponents + (indexedModules, (_fileMapResult, _defSiteMapResult, modNameMapResult)) <- foldM - (\(modules, (fileMap, defSiteMap, modNameMap)) (compId, options, (mbMain, moduleNames), srcDirs, _) -> do - mbMainPath <- - case mbMain of - Just mainPath -> - liftIO $ - findM doesFileExist $ - mainPath : - map (\srcDir -> normalise $ srcDir mainPath) srcDirs - Nothing -> return Nothing - (modules', (fileMap', defSiteMap', modNameMap')) <- - indexBuildComponent - sourceCodePreprocessing - currentPackageId - compId - (fileMap, defSiteMap, modNameMap) - srcDirs - libSrcDirs - (options ++ additionalGhcOptions) - (maybe moduleNames (: moduleNames) mbMainPath) - return (modules ++ modules', (fileMap', defSiteMap', modNameMap'))) + (\(modules, (fileMap, defSiteMap, modNameMap)) + (compId, options, (mbMain, moduleNames), srcDirs, _compType) -> do + mbMainPath <- + case mbMain of + Just mainPath -> + liftIO $ + findM doesFileExist + (mainPath : map (\d -> normalise (d mainPath)) srcDirs) + Nothing -> pure Nothing + (modules', (fileMap', defSiteMap', modNameMap')) <- + indexBuildComponent + sourceCodePreprocessing + currentPackageId + compId + (fileMap, defSiteMap, modNameMap) + srcDirs + libSrcDirs + (options ++ additionalGhcOptions) + (maybe moduleNames (: moduleNames) mbMainPath) + pure (modules ++ modules', (fileMap', defSiteMap', modNameMap'))) ([], (HM.empty, HM.empty, HM.empty)) buildComponents - let modId = HCE.id :: HCE.ModuleInfo -> HCE.HaskellModulePath - moduleMap = - HM.fromList . map (\modInfo -> (modId modInfo, modInfo)) $ - indexedModules - references = L.foldl' addReferencesFromModule HM.empty indexedModules - moduleId = HCE.id :: HCE.ModuleInfo -> HCE.HaskellModulePath + + let moduleMap = + HM.fromList $ map (\m -> (m.id, m)) indexedModules + references = + L.foldl' addReferencesFromModule HM.empty indexedModules topLevelIdentifiersTrie = - L.foldl' addTopLevelIdentifiersFromModule HCE.emptyTrie . - L.filter (not . isHsBoot . moduleId) $ - indexedModules + L.foldl' addTopLevelIdentifiersFromModule HCE.emptyTrie + $ L.filter (not . isHsBoot . (\m -> m.id)) indexedModules + directoryTree <- liftIO $ - buildDirectoryTree - packageDirectoryAbsPath - ignoreDirectories - (\path -> HM.member (HCE.HaskellModulePath . T.pack $ path) moduleMap) + buildDirectoryTree + packageDirectoryAbsPath + ignoreDirectories + (\p -> HM.member (HCE.HaskellModulePath . T.pack $ p) moduleMap) + liftIO $ setCurrentDirectory currentDirectory - return - HCE.PackageInfo - { id = currentPackageId - , moduleMap = moduleMap - , moduleNameMap = modNameMapResult - , directoryTree = directoryTree - , externalIdOccMap = references - , externalIdInfoMap = topLevelIdentifiersTrie - } + pure HCE.PackageInfo + { id = currentPackageId + , moduleMap = moduleMap + , moduleNameMap = modNameMapResult + , directoryTree = directoryTree + , externalIdOccMap = references + , externalIdInfoMap = topLevelIdentifiersTrie + } where - chEntrypointsToModules :: ChEntrypoint -> (Maybe String, [String]) - chEntrypointsToModules (ChLibEntrypoint modules otherModules signatures) = - ( Nothing - , L.map chModuleToString modules ++ - L.map chModuleToString otherModules ++ L.map chModuleToString signatures) - chEntrypointsToModules (ChExeEntrypoint mainModule _otherModules) = - (Just mainModule, []) - chEntrypointsToModules ChSetupEntrypoint = (Nothing, []) - chModuleToString :: ChModuleName -> String - chModuleToString (ChModuleName n) = n - chComponentNameToComponentType :: ChComponentName -> HCE.ComponentType - chComponentNameToComponentType ChSetupHsName = HCE.Setup - chComponentNameToComponentType ChLibName = HCE.Lib - chComponentNameToComponentType (ChSubLibName name) = - HCE.SubLib $ T.pack name - chComponentNameToComponentType (ChFLibName name) = HCE.FLib $ T.pack name - chComponentNameToComponentType (ChExeName name) = HCE.Exe $ T.pack name - chComponentNameToComponentType (ChTestName name) = HCE.Test $ T.pack name - chComponentNameToComponentType (ChBenchName name) = HCE.Bench $ T.pack name - chComponentNameToComponentId :: ChComponentName -> HCE.ComponentId - chComponentNameToComponentId ChLibName = HCE.ComponentId "lib" - chComponentNameToComponentId (ChSubLibName name) = - HCE.ComponentId . T.append "sublib-" . T.pack $ name - chComponentNameToComponentId (ChFLibName name) = - HCE.ComponentId . T.append "flib-" . T.pack $ name - chComponentNameToComponentId (ChExeName name) = - HCE.ComponentId . T.append "exe-" . T.pack $ name - chComponentNameToComponentId (ChTestName name) = - HCE.ComponentId . T.append "test-" . T.pack $ name - chComponentNameToComponentId (ChBenchName name) = - HCE.ComponentId . T.append "bench-" . T.pack $ name - chComponentNameToComponentId ChSetupHsName = HCE.ComponentId "setup" - - - -#if MIN_VERSION_GLASGOW_HASKELL(8,6,5,0) -ghcVersion :: Version -ghcVersion = makeVersion [8, 6, 5, 0] -#elif MIN_VERSION_GLASGOW_HASKELL(8,6,4,0) -ghcVersion :: Version -ghcVersion = makeVersion [8, 6, 4, 0] -#elif MIN_VERSION_GLASGOW_HASKELL(8,6,3,0) -ghcVersion :: Version -ghcVersion = makeVersion [8, 6, 3, 0] -#elif MIN_VERSION_GLASGOW_HASKELL(8,4,4,0) -ghcVersion :: Version -ghcVersion = makeVersion [8, 4, 4, 0] -#elif MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -ghcVersion :: Version -ghcVersion = makeVersion [8, 4, 3, 0] -#elif MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) -ghcVersion :: Version -ghcVersion = makeVersion [8, 2, 2, 0] -#else + ghcOptionsForBI :: FilePath -> BuildInfo -> [String] + ghcOptionsForBI pkgDir bi = + hcOptions GHC bi + ++ langOpts + ++ extOpts + ++ includeOpts + ++ srcDirOpts + where + langOpts = + maybe [] (\l -> ["-X" <> Distribution.Pretty.prettyShow l]) (defaultLanguage bi) + extOpts = + let exts = map Distribution.Pretty.prettyShow (defaultExtensions bi ++ otherExtensions bi) + in map ("-X" <>) exts + includeOpts = + concat + [ concatMap (\d -> ["-I" <> absJoin d]) (includeDirs bi) + , cppOptions bi + ] + srcDirOpts = + concatMap (\d -> ["-i" <> absJoin d]) (hsDirs bi) + absJoin d = + if isAbsolute d then d else normalise (pkgDir d) + + hsDirs :: BuildInfo -> [FilePath] + hsDirs bi = map getSymbolicPath (hsSourceDirs bi) + +findSingleCabalFile :: FilePath -> IO FilePath +findSingleCabalFile dir = do + xs <- filter (\p -> takeExtension p == ".cabal") <$> getDirectoryContents dir + case xs of + [x] -> pure (dir x) + [] -> ioError (userError ("No .cabal file found in " <> dir)) + _ -> ioError (userError ("Multiple .cabal files in " <> dir)) + ghcVersion :: Version -ghcVersion = makeVersion [8, 0, 2, 0] -#endif +ghcVersion = makeVersion [9, 10, 2, 0] buildDirectoryTree :: FilePath -> [FilePath] -> (FilePath -> Bool) -> IO HCE.DirTree buildDirectoryTree path ignoreDirectories isHaskellModule = do @@ -364,7 +452,7 @@ addReferencesFromModule references modInfo@HCE.ModuleInfo {..} = maybe Nothing (`HM.lookup` idInfoMap) - (HCE.internalId (occ :: HCE.IdentifierOccurrence)) + occ.internalId idSrcSpan = HCE.IdentifierSrcSpan { modulePath = id @@ -445,16 +533,6 @@ eachIdentifierOccurrence accumulator HCE.ModuleInfo {..} f = accumulator idOccMap -instance ExceptionMonad (LoggingT IO) where - gcatch act h = - LoggingT $ \logFn -> - runLoggingT act logFn `gcatch` \e -> runLoggingT (h e) logFn - gmask f = - LoggingT $ \logFn -> - gmask $ \io_restore -> - let g_restore (LoggingT m) = LoggingT $ \lf -> io_restore (m lf) - in runLoggingT (f g_restore) logFn - instance MonadLoggerIO (GhcT (LoggingT IO)) where askLoggerIO = GhcT $ const askLoggerIO @@ -465,13 +543,12 @@ instance MonadLogger (GhcT (LoggingT IO)) where gtrySync :: (ExceptionMonad m) => m a -> m (Either SomeException a) gtrySync action = ghandleSync (return . Left) (fmap Right action) -ghandleSync :: (ExceptionMonad m) => (SomeException -> m a) -> m a -> m a -ghandleSync onError = - ghandle - (\ex -> - case fromException ex of - Just (asyncEx :: SomeAsyncException) -> throw asyncEx - _ -> onError ex) +ghandleSync :: ExceptionMonad m => (SomeException -> m a) -> m a -> m a +ghandleSync onError action = + catch action $ \ex -> + case fromException ex of + Just (asyncEx :: SomeAsyncException) -> throwM asyncEx + _ -> onError ex indexBuildComponent :: HCE.SourceCodePreprocessing -- ^ Before or after preprocessor @@ -495,9 +572,10 @@ indexBuildComponent sourceCodePreprocessing currentPackageId componentId deps@(f return ([], deps) ghandleSync onError $ runGhcT (Just libdir) $ do - logDebugN (T.append "Component id : " $ HCE.getComponentId componentId) - logDebugN (T.append "Modules : " $ T.pack $ show modules) - logDebugN + liftIO $ print $ "----------------------------------------------------------------------------------------" + liftIO $ print $ (T.append "Component id : " $ HCE.getComponentId componentId) + liftIO $ print $ (T.append "Modules : " $ T.pack $ show modules) + liftIO $ print $ (T.append "GHC command line options : " $ T.pack $ L.unwords (options ++ modules)) flags <- getSessionDynFlags @@ -505,49 +583,55 @@ indexBuildComponent sourceCodePreprocessing currentPackageId componentId deps@(f parseDynamicFlagsCmdLine flags (L.map noLoc . L.filter ("-Werror" /=) $ options) -- -Werror flag makes warnings fatal - (flags'', _) <- liftIO $ initPackages flags' + -- flags'' <- liftIO $ initUnits flags' logFn <- askLoggerIO - let logAction :: - DynFlags - -> WarnReason - -> Severity - -> SrcSpan - -> Outputable.PprStyle - -> SDoc - -> IO () - logAction fs _reason _severity srcSpan _stype msg = + let logAction :: LogFlags -> MessageClass -> SrcSpan -> SDoc -> IO () + logAction _ msgClass srcSpan msg = runLoggingT - (logDebugN - (T.append "GHC message : " $ - T.pack $ - showSDocForUser fs neverQualify msg ++ - " , SrcSpan : " ++ show srcSpan)) + (logDebugN $ + T.append "GHC message : " $ + T.pack $ + showSDocUnsafe msg ++ + " , MessageClass: " ++ + " , SrcSpan : " ++ show srcSpan) logFn mbTmpDir = - case hiDir flags'' of + case hiDir flags' of Just buildDir -> Just $ buildDir (takeBaseName buildDir ++ "-tmp") Nothing -> Nothing + env <- getSession -- :: Ghc HscEnv + let oldLogger = hsc_logger env -- 提取当前 Logger + newLogger = pushLogHook (const logAction) oldLogger + env' = env { hsc_logger = newLogger } + setSession env' -- 把更新回写回当前会话 _ <- setSessionDynFlags $ L.foldl' gopt_set - (flags'' - { hscTarget = HscAsm - , ghcLink = LinkInMemory + (flags' + { ghcLink = LinkInMemory , ghcMode = CompManager - , log_action = logAction - , importPaths = importPaths flags'' ++ maybeToList mbTmpDir + , importPaths = importPaths flags' ++ maybeToList mbTmpDir }) [Opt_Haddock] - targets <- mapM (`guessTarget` Nothing) modules + targets <- mapM (\m -> guessTarget m (Nothing :: Maybe UnitId) (Nothing :: Maybe Phase)) modules + liftIO $ print "begin target" + liftIO $ print $ showSDocUnsafe $ ppr targets + liftIO $ print "after target" setTargets targets + liftIO $ print "begin load LoadAllTargets" _ <- load LoadAllTargets + liftIO $ print "after load LoadAllTargets" modGraph <- getModuleGraph - let topSortMods = flattenSCCs (topSortModuleGraph False modGraph Nothing) + let topSortNodes = flattenSCCs (topSortModuleGraph False modGraph Nothing) + toModSummary :: ModuleGraphNode -> Maybe ModSummary + toModSummary (ModuleNode _ ms) = Just ms + toModSummary _ = Nothing -- 忽略非源码节点(如 Backpack/instantiation) + topSortMods = mapMaybe toModSummary topSortNodes buildDir = addTrailingPathSeparator . normalise . fromMaybe "" . hiDir $ - flags'' + flags' pathsModuleName = "Paths_" ++ map @@ -555,7 +639,7 @@ indexBuildComponent sourceCodePreprocessing currentPackageId componentId deps@(f if c == '-' then '_' else c) - (T.unpack (HCE.name (currentPackageId :: HCE.PackageId))) + (T.unpack currentPackageId.name) (modSumWithPath, modulesNotFound) <- (\(mods, notFound) -> ( L.reverse . @@ -583,7 +667,7 @@ indexBuildComponent sourceCodePreprocessing currentPackageId componentId deps@(f logErrorN $ T.append "Cannot find module path : " - (toText flags'' $ map ms_mod modulesNotFound) + (toText (map ms_mod modulesNotFound)) foldM (\(indexedModules, (fileMap', defSiteMap', modNameMap')) (modulePath, modSum) -> do result <- @@ -591,7 +675,7 @@ indexBuildComponent sourceCodePreprocessing currentPackageId componentId deps@(f sourceCodePreprocessing componentId currentPackageId - flags'' + flags' (fileMap', defSiteMap', modNameMap') (modulePath, modSum) case result of @@ -662,9 +746,9 @@ indexModule sourceCodePreprocessing componentId currentPackageId flags deps (mod gtrySync $ do logDebugN (T.append "Indexing " $ HCE.getHaskellModulePath modulePath) parsedModule <- parseModule modSum - typecheckedModule <- typecheckModule parsedModule + typecheckedModule <- typecheckModule parsedModule -- If module has import error. here will throw exception hscEnv <- getSession - externalPackageState <- liftIO . readIORef . hsc_EPS $ hscEnv + externalPackageState <- liftIO (hscEPS hscEnv) originalSourceCode <- liftIO $ T.replace "\t" " " . TE.decodeUtf8 <$> @@ -681,6 +765,7 @@ indexModule sourceCodePreprocessing componentId currentPackageId flags deps (mod currentPackageId componentId (originalSourceCode, sourceCodePreprocessing) + hscEnv unless (null typeErrors) $ logInfoN $ T.append "Type errors : " $ T.pack $ show typeErrors deepseq modInfo $ return (modInfo, (fileMap', exportMap', moduleNameMap')) diff --git a/src/HaskellCodeExplorer/Preprocessor.hs b/src/HaskellCodeExplorer/Preprocessor.hs index d998976..25633ba 100644 --- a/src/HaskellCodeExplorer/Preprocessor.hs +++ b/src/HaskellCodeExplorer/Preprocessor.hs @@ -1,6 +1,7 @@ {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE OverloadedRecordDot #-} module HaskellCodeExplorer.Preprocessor ( createSourceCodeTransformation @@ -46,7 +47,6 @@ createSourceCodeTransformation currentModulePath originalSourceCode sourceCodeAf Left _ -> acc totalLines = length numberedLines pragmas = L.reverse . L.foldl' addPragma [] $ numberedLines - pragmaPath = filePath :: LinePragma -> HaskellFilePath currentFileExtension = takeExtension . T.unpack . getHaskellFilePath $ currentFilePath standardHeaderFiles = @@ -66,7 +66,7 @@ createSourceCodeTransformation currentModulePath originalSourceCode sourceCodeAf (path /= HaskellFilePath "") && not ("ghc_" `L.isPrefixOf` fileName) && (fileName `notElem` standardHeaderFiles)) . - pragmaPath) + (\lineParam -> lineParam.filePath)) pragmas in if hasIncludedFiles || currentFileExtension `elem` haskellPreprocessorExtensions diff --git a/src/HaskellCodeExplorer/Types.hs b/src/HaskellCodeExplorer/Types.hs index b42db87..f1b0680 100644 --- a/src/HaskellCodeExplorer/Types.hs +++ b/src/HaskellCodeExplorer/Types.hs @@ -12,6 +12,7 @@ {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE DuplicateRecordFields #-} +{-# LANGUAGE OverloadedRecordDot #-} {-# OPTIONS_GHC -fno-warn-orphans #-} module HaskellCodeExplorer.Types where @@ -48,11 +49,10 @@ import Documentation.Haddock.Types , Header(..) , Hyperlink(..) , Picture(..) -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) + , ModLink(..) , Table(..) , TableCell(..) , TableRow(..) -#endif ) import GHC.Generics (Generic) import Prelude hiding (id) @@ -85,8 +85,7 @@ packageIdToText (PackageId name version) = T.concat [name, "-", T.pack $ showVersion version] packageName :: PackageInfo a -> T.Text -packageName = - (name :: (PackageId -> T.Text)) . (id :: PackageInfo a -> PackageId) +packageName pkgInfo = pkgInfo.id.name data IdentifierSrcSpan = IdentifierSrcSpan { modulePath :: HaskellModulePath @@ -323,9 +322,7 @@ instance Ord ExternalIdentifierInfo where GT -> GT LT -> LT EQ -> - compare - (internalId (i1 :: IdentifierInfo)) - (internalId (i2 :: IdentifierInfo)) + compare i1.internalId i2.internalId data ExpressionInfo = ExpressionInfo { description :: T.Text @@ -481,7 +478,7 @@ instance (Data k, Data v, Eq k, Ord k, Data (IVM.Interval k)) => 1 -> k (z IVM.fromList) _ -> error "gunfold" dataTypeOf _ = intervalMapDataType - dataCast2 = gcast2 + dataCast2 f = gcast2 f fromListConstr :: Constr fromListConstr = mkConstr intervalMapDataType "fromList" [] Prefix @@ -699,7 +696,7 @@ lineToHtml lineNumber tokens = "identifier" (Html.textValue $ maybe "" getInternalId $ - internalId (idOcc :: IdentifierOccurrence)) $ + idOcc.internalId) $ Html.toHtml content Nothing -> addPositionAttrs . Html.span . Html.toHtml $ content) tokens @@ -757,16 +754,16 @@ docToHtml modToHtml idToHtml = toStrict . renderHtml . toH toH (DocMonospaced doc) = Html.span Html.! Attr.class_ "source-code-font" $ toH doc toH (DocUnorderedList docs) = Html.ul $ mapM_ (Html.li . toH) docs - toH (DocOrderedList docs) = Html.ol $ mapM_ (Html.li . toH) docs + toH (DocOrderedList docs) = Html.ol $ mapM_ (Html.li . toH . snd) docs toH (DocDefList docs) = Html.dl $ mapM_ (\(doc1, doc2) -> Html.dt (toH doc1) >> Html.dd (toH doc2)) docs toH (DocCodeBlock doc) = Html.div Html.! Attr.class_ "source-code" $ toH doc toH (DocIdentifierUnchecked modName) = modToHtml modName - toH (DocModule str) = Html.span . Html.toHtml . T.pack $ str + toH (DocModule modelLink) = Html.span . Html.toHtml . T.pack $ (modLinkName modelLink) toH (DocHyperlink (Hyperlink url mbTitle)) = Html.a Html.! (Attr.href . Html.textValue . T.pack $ url) $ - Html.toHtml $ fromMaybe url mbTitle + fromMaybe (Html.toHtml url) $ toH <$> mbTitle toH (DocPic (Picture uri mbTitle)) = Html.img Html.! (Attr.src . Html.textValue . T.pack $ uri) Html.! (Attr.title . Html.textValue . T.pack $ fromMaybe "" mbTitle) @@ -796,7 +793,6 @@ docToHtml modToHtml idToHtml = toStrict . renderHtml . toH toHeader 4 = Html.h4 toHeader 5 = Html.h5 toHeader _ = Html.h6 -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) toH (DocTable (Table hs bs)) = let tableRowToH tdOrTh (TableRow cells) = Html.tr $ mapM_ (tableCellToH tdOrTh) cells @@ -807,7 +803,6 @@ docToHtml modToHtml idToHtml = toStrict . renderHtml . toH in Html.table $ Html.thead (mapM_ (tableRowToH Html.th) hs) >> Html.tbody (mapM_ (tableRowToH Html.td) bs) -#endif instance A.ToJSON HaskellModuleName where toJSON (HaskellModuleName name) = A.String name diff --git a/stack-8.0.2.yaml b/stack-8.0.2.yaml deleted file mode 100644 index 591dbd7..0000000 --- a/stack-8.0.2.yaml +++ /dev/null @@ -1,7 +0,0 @@ -resolver: lts-9.14 -packages: -- '.' -extra-deps: - - servant-0.12.1 - - servant-server-0.12 - - cabal-helper-0.8.0.2 diff --git a/stack-8.2.2.yaml b/stack-8.2.2.yaml deleted file mode 100644 index 3815030..0000000 --- a/stack-8.2.2.yaml +++ /dev/null @@ -1,7 +0,0 @@ -resolver: lts-11.3 -packages: -- '.' -- 'vendor/cabal-helper-0.8.1.2' -extra-deps: - - cabal-plan-0.4.0.0 - - pretty-show-1.8.2 diff --git a/stack-8.4.3.yaml b/stack-8.4.3.yaml deleted file mode 100644 index d766956..0000000 --- a/stack-8.4.3.yaml +++ /dev/null @@ -1,7 +0,0 @@ -resolver: lts-12.12 -packages: -- '.' -- 'vendor/cabal-helper-0.8.1.2' -allow-newer: true -extra-deps: - - cabal-plan-0.4.0.0 diff --git a/stack-8.4.4.yaml b/stack-8.4.4.yaml deleted file mode 100644 index c7fc9cc..0000000 --- a/stack-8.4.4.yaml +++ /dev/null @@ -1,7 +0,0 @@ -resolver: lts-12.16 -packages: -- '.' -- 'vendor/cabal-helper-0.8.1.2' -allow-newer: true -extra-deps: - - cabal-plan-0.4.0.0 diff --git a/stack-8.6.3.yaml b/stack-8.6.3.yaml deleted file mode 100644 index 498a9da..0000000 --- a/stack-8.6.3.yaml +++ /dev/null @@ -1,7 +0,0 @@ -resolver: lts-13.0 -packages: -- '.' -- 'vendor/cabal-helper-0.8.1.2' -allow-newer: true -extra-deps: - - cabal-plan-0.4.0.0 diff --git a/stack-8.6.4.yaml b/stack-8.6.4.yaml deleted file mode 100644 index 28009ab..0000000 --- a/stack-8.6.4.yaml +++ /dev/null @@ -1,7 +0,0 @@ -resolver: lts-13.12 -packages: -- '.' -- 'vendor/cabal-helper-0.8.1.2' -allow-newer: true -extra-deps: - - cabal-plan-0.4.0.0 diff --git a/stack-8.6.5.yaml b/stack-8.6.5.yaml deleted file mode 100644 index f59b52d..0000000 --- a/stack-8.6.5.yaml +++ /dev/null @@ -1,7 +0,0 @@ -resolver: lts-14.1 -packages: -- '.' -- 'vendor/cabal-helper-0.8.1.2' -allow-newer: true -extra-deps: - - cabal-plan-0.4.0.0 diff --git a/stack-8.8.3.yaml b/stack-8.8.3.yaml deleted file mode 100644 index 4ea255c..0000000 --- a/stack-8.8.3.yaml +++ /dev/null @@ -1,12 +0,0 @@ -resolver: lts-15.4 -packages: -- '.' -- 'vendor/cabal-helper-0.8.1.2' -allow-newer: true -extra-deps: - - haddock-library-1.7.0@sha256:8f230ebb680b559256d9c18ce4942ba5bf220b167804b4ebd5cc9e47cc4973cd - - cabal-install-3.0.0.0@sha256:5e3c4376e53c06521cca2c037074423dbb967e228af6174bf842ff38aa82b035 - - git: https://github.com/haskell/hackage-security - commit: 2057cdf2abba852881cd9d055c96f03cd8c829e7 - subdirs: - - hackage-security diff --git a/stack-9.10.2.yaml b/stack-9.10.2.yaml new file mode 100644 index 0000000..fe2e163 --- /dev/null +++ b/stack-9.10.2.yaml @@ -0,0 +1,8 @@ +resolver: lts-24.11 +packages: +- '.' +allow-newer: true +extra-deps: + - Cabal-3.12.1.0 + - Cabal-syntax-3.12.1.0 + - ghc-9.10.2 \ No newline at end of file diff --git a/stack.yaml b/stack.yaml index f59b52d..eeb6e31 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,7 +1,8 @@ -resolver: lts-14.1 +resolver: lts-24.11 packages: - '.' -- 'vendor/cabal-helper-0.8.1.2' allow-newer: true extra-deps: - - cabal-plan-0.4.0.0 + - Cabal-3.12.1.0 + - Cabal-syntax-3.12.1.0 + - ghc-9.10.2 diff --git a/test/Main.hs b/test/Main.hs index d080135..d445118 100644 --- a/test/Main.hs +++ b/test/Main.hs @@ -3,6 +3,7 @@ {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE DuplicateRecordFields #-} +{-# LANGUAGE OverloadedRecordDot #-} {-# OPTIONS_GHC -fno-warn-type-defaults #-} module Main where @@ -52,7 +53,7 @@ packageInfoSpec currentDir = do Right packageInfo -> do describe "createPackageInfo" $ do it "returns valid package id" $ - HCE.id (packageInfo :: PackageInfo ModuleInfo) `shouldBe` + packageInfo.id `shouldBe` PackageId "test-package" (makeVersion [0, 1, 0, 0]) it "returns valid list of module paths" $ do let paths = @@ -111,7 +112,7 @@ moduleInfoSpec :: ModuleInfo -> Spec moduleInfoSpec modInfo = describe "createModuleInfo" $ do it "returns valid module name" $ - HCE.name (modInfo :: HCE.ModuleInfo) `shouldBe` + modInfo.name `shouldBe` HCE.HaskellModuleName "Lib" it "returns valid list of declarations " $ HCE.declarations (modInfo :: HCE.ModuleInfo) `shouldBe` testDeclarations @@ -133,10 +134,9 @@ moduleInfoSpec modInfo = , "mkTest i = Test i" , "" ] - HCE.source (modInfo :: HCE.ModuleInfo) `shouldBe` sourceCodeLines + modInfo.source `shouldBe` sourceCodeLines it "returns valid map of expressions" $ - HCE.exprInfoMap (modInfo :: HCE.ModuleInfo) `shouldBe` testExprInfoMap -#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) + modInfo.exprInfoMap `shouldBe` testExprInfoMap it "returns valid map of identifiers " $ let removeLocationInfo :: HCE.LocationInfo -> HCE.LocationInfo removeLocationInfo _ = HCE.UnknownLocation "" @@ -150,26 +150,11 @@ moduleInfoSpec modInfo = cleanup = U.transformBi removeLocationInfo . U.transformBi removePackageVersionFromExternalId in cleanup (HCE.idInfoMap (modInfo :: HCE.ModuleInfo)) `shouldBe` cleanup testIdInfoMap -#endif it "returns valid map of identifier occurrences" $ HCE.idOccMap (modInfo :: HCE.ModuleInfo) `shouldBe` testIdOccMap stackYamlArg :: [String] -#if MIN_VERSION_GLASGOW_HASKELL(8,6,5,0) stackYamlArg = [] -#elif MIN_VERSION_GLASGOW_HASKELL(8,6,4,0) -stackYamlArg = ["--stack-yaml=stack-8.6.4.yaml"] -#elif MIN_VERSION_GLASGOW_HASKELL(8,6,3,0) -stackYamlArg = ["--stack-yaml=stack-8.6.3.yaml"] -#elif MIN_VERSION_GLASGOW_HASKELL(8,4,4,0) -stackYamlArg = ["--stack-yaml=stack-8.4.4.yaml"] -#elif MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) -stackYamlArg = ["--stack-yaml=stack-8.4.3.yaml" ] -#elif MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) -stackYamlArg = ["--stack-yaml=stack-8.2.2.yaml" ] -#else -stackYamlArg = ["--stack-yaml=stack-8.0.2.yaml" ] -#endif buildAndIndexTestPackage :: FilePath -> IO (Either String (PackageInfo ModuleInfo)) diff --git a/test/test-package/app/Main.hs b/test/test-package/app/Main.hs index 5185ba4..95dd37b 100644 --- a/test/test-package/app/Main.hs +++ b/test/test-package/app/Main.hs @@ -1,7 +1,4 @@ module Main where -import Lib - main :: IO () -main = someFunc - +main = return () \ No newline at end of file diff --git a/test/test-package/stack-8.0.2.yaml b/test/test-package/stack-8.0.2.yaml deleted file mode 100644 index 4257691..0000000 --- a/test/test-package/stack-8.0.2.yaml +++ /dev/null @@ -1 +0,0 @@ -resolver: lts-9.14 diff --git a/test/test-package/stack-8.2.2.yaml b/test/test-package/stack-8.2.2.yaml deleted file mode 100644 index 5bad591..0000000 --- a/test/test-package/stack-8.2.2.yaml +++ /dev/null @@ -1 +0,0 @@ -resolver: lts-11.3 diff --git a/test/test-package/stack-8.4.3.yaml b/test/test-package/stack-8.4.3.yaml deleted file mode 100644 index 80a9a5a..0000000 --- a/test/test-package/stack-8.4.3.yaml +++ /dev/null @@ -1 +0,0 @@ -resolver: lts-12.12 diff --git a/test/test-package/stack-8.4.4.yaml b/test/test-package/stack-8.4.4.yaml deleted file mode 100644 index 92d07c7..0000000 --- a/test/test-package/stack-8.4.4.yaml +++ /dev/null @@ -1 +0,0 @@ -resolver: lts-12.16 diff --git a/test/test-package/stack-8.6.3.yaml b/test/test-package/stack-8.6.3.yaml deleted file mode 100644 index 6dcd7f8..0000000 --- a/test/test-package/stack-8.6.3.yaml +++ /dev/null @@ -1 +0,0 @@ -resolver: lts-13.0 diff --git a/test/test-package/stack-8.6.4.yaml b/test/test-package/stack-8.6.4.yaml deleted file mode 100644 index 88f5e2c..0000000 --- a/test/test-package/stack-8.6.4.yaml +++ /dev/null @@ -1 +0,0 @@ -resolver: lts-13.12 diff --git a/test/test-package/stack-8.6.5.yaml b/test/test-package/stack-9.10.2.yaml similarity index 100% rename from test/test-package/stack-8.6.5.yaml rename to test/test-package/stack-9.10.2.yaml diff --git a/test/test-package/stack.yaml b/test/test-package/stack.yaml index f9ebe57..59d5884 100644 --- a/test/test-package/stack.yaml +++ b/test/test-package/stack.yaml @@ -1 +1 @@ -resolver: lts-13.20 +resolver: lts-24.11 diff --git a/test/test-package/test-package.cabal b/test/test-package/test-package.cabal index e845fe5..5ec6e25 100644 --- a/test/test-package/test-package.cabal +++ b/test/test-package/test-package.cabal @@ -12,7 +12,6 @@ library Lib other-modules: Types - Paths_test_package default-language: Haskell2010 executable test-package-exe main-is: Main.hs diff --git a/vendor/cabal-helper-0.8.1.2/.gitignore b/vendor/cabal-helper-0.8.1.2/.gitignore deleted file mode 100644 index 9fbdd14..0000000 --- a/vendor/cabal-helper-0.8.1.2/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -dist/ -*~ -/.cabal-sandbox/ -add-source-timestamps -package.cache -cabal.sandbox.config -# Mac OS generates -# .DS_Store -*.o -*.dyn_o -*.hi -*.dyn_hi - -# Emacs lock files -.#* diff --git a/vendor/cabal-helper-0.8.1.2/.gitlab-ci.yml b/vendor/cabal-helper-0.8.1.2/.gitlab-ci.yml deleted file mode 100644 index 1a32e12..0000000 --- a/vendor/cabal-helper-0.8.1.2/.gitlab-ci.yml +++ /dev/null @@ -1,27 +0,0 @@ -stages: - - build - -job-ghc8.4.3-cabal-install2.2.0.0: - image: registry.gitlab.com/dxld/ghc-mod:ghc8.4.3-cabal-install2.2.0.0 - stage: build - script: "$CI_PROJECT_DIR/scripts/ci/build.sh" - -job-ghc8.2.2-cabal-install2.0.0.0: - image: registry.gitlab.com/dxld/ghc-mod:ghc8.2.2-cabal-install2.0.0.0 - stage: build - script: "$CI_PROJECT_DIR/scripts/ci/build.sh" - -job-ghc8.0.2-cabal-install2.0.0.0: - image: registry.gitlab.com/dxld/ghc-mod:ghc8.0.2-cabal-install2.0.0.0 - stage: build - script: "$CI_PROJECT_DIR/scripts/ci/build.sh" - -job-ghc7.10.3-cabal-install2.0.0.0: - image: registry.gitlab.com/dxld/ghc-mod:ghc7.10.3-cabal-install2.0.0.0 - stage: build - script: "$CI_PROJECT_DIR/scripts/ci/build.sh" - -job-ghc7.8.4-cabal-install2.0.0.0: - image: registry.gitlab.com/dxld/ghc-mod:ghc7.8.4-cabal-install2.0.0.0 - stage: build - script: "$CI_PROJECT_DIR/scripts/ci/build.sh" diff --git a/vendor/cabal-helper-0.8.1.2/.travis.yml b/vendor/cabal-helper-0.8.1.2/.travis.yml deleted file mode 100644 index 12113c2..0000000 --- a/vendor/cabal-helper-0.8.1.2/.travis.yml +++ /dev/null @@ -1,46 +0,0 @@ -language: haskell -ghc: - - 7.4 - - 7.6 - - 7.8 - -sudo: false - -addons: - apt: - packages: - - zlib1g-dev - -cache: - apt: true - directories: - - ~/.cabal - - ~/.ghc - - ~/.stack - -install: - - export HOME=/tmp - - cabal update - - echo $PATH - - which cabal - - cabal install -j --only-dependencies --enable-tests - - if [ -n "$(ghc --version | awk '{ print $8 }' | sed -n '/^7.4/p')" ]; then cabal install Cabal --constraint "Cabal == 1.16.*"; fi - - -before_script: - - rm -f ~/.ghc-mod cabal-helper-*-Cabal-* - -script: - - touch ChangeLog # Create ChangeLog if we're not on the release branch - - cabal check - - - cabal sdist - - export SRC_TGZ="$PWD/dist/$(cabal info . | awk '{print $2 ".tar.gz";exit}')" - - rm -rf /tmp/cabal-helper* && cd /tmp - - tar -xf $SRC_TGZ && cd cabal-helper*/ - - - if [ -n "$(ghc --version | awk '{ print $8 }' | sed -n '/^7.8/p')" ]; then export WERROR="--ghc-option=-Werror"; fi - - cabal configure --enable-tests $WERROR - - cabal build - - ./dist/build/cabal-helper-wrapper-v0.7/cabal-helper-wrapper-v0.7 . dist "compiler-version" "entrypoints" "source-dirs" "ghc-options" "ghc-src-options" "ghc-pkg-options" "ghc-lang-options" - - ./dist/build/spec/spec diff --git a/vendor/cabal-helper-0.8.1.2/LICENSE b/vendor/cabal-helper-0.8.1.2/LICENSE deleted file mode 100644 index 94a9ed0..0000000 --- a/vendor/cabal-helper-0.8.1.2/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/vendor/cabal-helper-0.8.1.2/README.md b/vendor/cabal-helper-0.8.1.2/README.md deleted file mode 100644 index a333d29..0000000 --- a/vendor/cabal-helper-0.8.1.2/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# cabal-helper -[![build status](https://gitlab.com/dxld/cabal-helper/badges/master/build.svg)](https://gitlab.com/dxld/cabal-helper/commits/master) - -Cabal's little helper provides access to build information gathered by `cabal` -when configuring a project. Specifically we're interested in retrieving enough -information to bring up a compiler session, using the GHC API, which is similar -to running `cabal repl` in a project. - -While simple in principle this is complicated by the fact that the information -Cabal writes to disk is in an unstable format and only really accessible through -the Cabal API itself. - -Since we do not want to bind the user of a development tool which utilises this -library to a specific version of Cabal we compile the code which interfaces with -the Cabal library's API on the user's machine, at runtime, against whichever -version of Cabal was used to write the on disk information for a given project. - -If this version of Cabal is not available on the users machine anymore, which is -fairly likely since cabal-install is usually linked statically, we have support -for compiling the Cabal library also. In this case the library is installed into -a private, isolated, package database in `$XDG_CACHE_HOME/cabal-helper` so as to -not interfere with the user's package database. - -## IRC - -If you have any problems, suggestions, comments swing by -[\#ghc-mod (web client)](https://kiwiirc.com/client/irc.freenode.org/ghc-mod) on -Freenode. If you're reporting a bug please also create an issue -[here](https://github.com/DanielG/cabal-helper/issues) so we have a way to -contact you if you don't have time to stay. - -Do hang around for a while if no one answers and repeat your question if you -still haven't gotten any answer after a day or so. You're most likely to get an -answer during the day in GMT+1. diff --git a/vendor/cabal-helper-0.8.1.2/Setup.hs b/vendor/cabal-helper-0.8.1.2/Setup.hs deleted file mode 100644 index 9a994af..0000000 --- a/vendor/cabal-helper-0.8.1.2/Setup.hs +++ /dev/null @@ -1,2 +0,0 @@ -import Distribution.Simple -main = defaultMain diff --git a/vendor/cabal-helper-0.8.1.2/cabal-helper.cabal b/vendor/cabal-helper-0.8.1.2/cabal-helper.cabal deleted file mode 100644 index 18d5066..0000000 --- a/vendor/cabal-helper-0.8.1.2/cabal-helper.cabal +++ /dev/null @@ -1,291 +0,0 @@ -name: cabal-helper -version: 0.8.1.2 -synopsis: - Simple interface to some of Cabal's configuration state, mainly used by ghc-mod -description: - Cabal's little helper provides access to build information gathered by - @cabal@ when configuring a project. Specifically we're interested in - retrieving enough information to bring up a compiler session, using the GHC - API, which is similar to running @cabal repl@ in a project. - . - While simple in principle this is complicated by the fact that the - information Cabal writes to disk is in an unstable format and only really - accessible through the Cabal API itself. - . - Since we do not want to bind the user of a development tool which utilises - this library to a specific version of Cabal we compile the code which - interfaces with the Cabal library's API on the user's machine, at runtime, - against whichever version of Cabal was used to write the on disk information - for a given project. - . - If this version of Cabal is not available on the users machine anymore, - which is fairly likely since cabal-install is usually linked statically, we - have support for compiling the Cabal library also. In this case the library - is installed into a private, isolated, package database in - @$XDG_CACHE_HOME/cabal-helper@ so as to not interfere with the user's - package database. -license: GPL-3 -license-file: LICENSE -author: Daniel Gröber -maintainer: cabal-helper@dxld.at -category: Distribution -build-type: Custom -cabal-version: 2.0 -extra-source-files: README.md - src/CabalHelper/Runtime/*.hs - - tests/*.hs - - tests/exelib/*.hs - tests/exelib/*.cabal - tests/exelib/lib/*.hs - - tests/exeintlib/*.hs - tests/exeintlib/*.cabal - tests/exeintlib/lib/*.hs - tests/exeintlib/intlib/*.hs - - tests/fliblib/*.hs - tests/fliblib/*.cabal - tests/fliblib/lib/*.hs - - tests/bkpregex/*.cabal - tests/bkpregex/*.hs - tests/bkpregex/regex-example/*.hs - tests/bkpregex/regex-indef/*.hs - tests/bkpregex/regex-indef/*.hsig - tests/bkpregex/regex-types/Regex/*.hs - tests/bkpregex/str-impls/Str/*.hs - -source-repository head - type: git - location: https://github.com/DanielG/cabal-helper.git - -flag dev - description: Build development components - default: False - manual: True - -custom-setup - setup-depends: base - , Cabal < 3 && >= 2.0.0.0 - --- [Note test dependencies] Vaious tests need access to modules used in other --- components, unfortunately we can't use Cabal 2.0's new internal libraries for --- this because we'd like to support ancient Cabal versions. Instead we just --- copy 'hs-source-dirs', 'build-depends' and 'other-modules' fields as --- appropriate. --- --- The following awk command will copy paragraphs starting with: --- -- Common some-name --- to following paragraphs starting with: --- -- Instantiate common some-name --- --- $ gawk -i inplace -f scripts/update-cabal-common-section-instantiations.awk cabal-helper.cabal --- --- FIXME: We can use Cabal 2.0 features now, yey! - -library - default-language: Haskell2010 - default-extensions: NondecreasingIndentation - hs-source-dirs: lib, src - exposed-modules: Distribution.Helper - other-modules: - CabalHelper.Shared.InterfaceTypes - CabalHelper.Shared.Sandbox - Paths_cabal_helper - autogen-modules: Paths_cabal_helper - - ghc-options: -Wall - - -- well actually this is a "runtime"-tool-depends :) - -- build-tool-depends: cabal-helper:cabal-helper-wrapper - - build-depends: base < 5 && >= 4.7 - build-depends: Cabal < 2.5 && >= 2.0 || < 1.26 && >= 1.14 - , cabal-plan < 0.5 && >= 0.3.0.0 - , containers < 1 && >= 0.5.5.1 - , directory < 1.4 && >= 1.2.1.0 - , filepath < 1.5 && >= 1.3.0.0 - , transformers < 0.6 && >= 0.3.0.0 - , mtl < 2.3 && >= 2.0 - , process < 1.7 && >= 1.1.0.1 - if !os(windows) - build-depends: unix < 2.8 && >= 2.5.1.1 - build-depends: unix-compat < 0.6 && >= 0.4.3.1 - , semigroupoids < 5.3 && >= 5.2 - - - -executable cabal-helper-wrapper - main-is: CabalHelper/Compiletime/Wrapper.hs - if flag(dev) - ghc-options: -Wall - scope: private - - -- Common c-h-wrapper-fields -- See [Note test dependencies] - default-language: Haskell2010 - default-extensions: NondecreasingIndentation - other-extensions: TemplateHaskell - hs-source-dirs: src - other-modules: - CabalHelper.Compiletime.Compat.Environment - CabalHelper.Compiletime.Compat.ProgramDb - CabalHelper.Compiletime.Compat.Version - CabalHelper.Compiletime.Compile - CabalHelper.Compiletime.Data - CabalHelper.Compiletime.Log - CabalHelper.Compiletime.Types - CabalHelper.Shared.Common - CabalHelper.Shared.InterfaceTypes - CabalHelper.Shared.Sandbox - Paths_cabal_helper - build-tool-depends: cabal-install:cabal - build-depends: base < 5 && >= 4.7 - if os(windows) - build-depends: base >= 4.7 - build-depends: Cabal < 2.5 && >= 2.0 || < 1.26 && >= 1.14 - , cabal-plan < 0.5 && >= 0.3.0.0 - , containers < 1 && >= 0.5.5.1 - , bytestring < 0.11 && >= 0.9.2.1 - , directory < 1.4 && >= 1.2.1.0 - , filepath < 1.5 && >= 1.3.0.0 - , mtl < 2.3 && >= 2.0 - , process < 1.7 && >= 1.1.0.1 - , pretty-show < 1.9 && >= 1.8.1 - , text < 1.3 && >= 1.0.0.0 - , template-haskell < 2.14 && >= 2.7.0.0 - , temporary < 1.3 && >= 1.2.1 - , transformers < 0.6 && >= 0.3.0.0 - if !os(windows) - build-depends: unix < 2.8 && >= 2.5.1.1 - build-depends: unix-compat < 0.6 && >= 0.4.3.1 - , utf8-string < 1.1 && >= 1.0.1.1 - build-tools: cabal - - -test-suite compile-test - type: exitcode-stdio-1.0 - main-is: CompileTest.hs - hs-source-dirs: tests - ghc-options: -Wall - build-tools: cabal - - -- Instantiate common c-h-wrapper-fields -- See [Note test dependencies] - default-language: Haskell2010 - default-extensions: NondecreasingIndentation - other-extensions: TemplateHaskell - hs-source-dirs: src - other-modules: - CabalHelper.Compiletime.Compat.Environment - CabalHelper.Compiletime.Compat.ProgramDb - CabalHelper.Compiletime.Compat.Version - CabalHelper.Compiletime.Compile - CabalHelper.Compiletime.Data - CabalHelper.Compiletime.Log - CabalHelper.Compiletime.Types - CabalHelper.Shared.Common - CabalHelper.Shared.InterfaceTypes - CabalHelper.Shared.Sandbox - Paths_cabal_helper - build-tool-depends: cabal-install:cabal - build-depends: base < 5 && >= 4.7 - if os(windows) - build-depends: base >= 4.7 - build-depends: Cabal < 2.5 && >= 2.0 || < 1.26 && >= 1.14 - , cabal-plan < 0.5 && >= 0.3.0.0 - , containers < 1 && >= 0.5.5.1 - , bytestring < 0.11 && >= 0.9.2.1 - , directory < 1.4 && >= 1.2.1.0 - , filepath < 1.5 && >= 1.3.0.0 - , mtl < 2.3 && >= 2.0 - , process < 1.7 && >= 1.1.0.1 - , pretty-show < 1.9 && >= 1.8.1 - , text < 1.3 && >= 1.0.0.0 - , template-haskell < 2.14 && >= 2.7.0.0 - , temporary < 1.3 && >= 1.2.1 - , transformers < 0.6 && >= 0.3.0.0 - if !os(windows) - build-depends: unix < 2.8 && >= 2.5.1.1 - build-depends: unix-compat < 0.6 && >= 0.4.3.1 - , utf8-string < 1.1 && >= 1.0.1.1 - build-tools: cabal - - -test-suite ghc-session - type: exitcode-stdio-1.0 - main-is: GhcSession.hs - hs-source-dirs: tests - ghc-options: -Wall - build-depends: base < 5 && >= 4.7 - , ghc < 8.5 && >= 7.8 - , ghc-paths < 0.2 && >= 0.1.0.9 - , cabal-helper - - -- Instantiate common c-h-wrapper-fields -- See [Note test dependencies] - default-language: Haskell2010 - default-extensions: NondecreasingIndentation - other-extensions: TemplateHaskell - hs-source-dirs: src - other-modules: - CabalHelper.Compiletime.Compat.Environment - CabalHelper.Compiletime.Compat.ProgramDb - CabalHelper.Compiletime.Compat.Version - CabalHelper.Compiletime.Compile - CabalHelper.Compiletime.Data - CabalHelper.Compiletime.Log - CabalHelper.Compiletime.Types - CabalHelper.Shared.Common - CabalHelper.Shared.InterfaceTypes - CabalHelper.Shared.Sandbox - Paths_cabal_helper - build-tool-depends: cabal-install:cabal - build-depends: base < 5 && >= 4.7 - if os(windows) - build-depends: base >= 4.7 - build-depends: Cabal < 2.5 && >= 2.0 || < 1.26 && >= 1.14 - , cabal-plan < 0.5 && >= 0.3.0.0 - , containers < 1 && >= 0.5.5.1 - , bytestring < 0.11 && >= 0.9.2.1 - , directory < 1.4 && >= 1.2.1.0 - , filepath < 1.5 && >= 1.3.0.0 - , mtl < 2.3 && >= 2.0 - , process < 1.7 && >= 1.1.0.1 - , pretty-show < 1.9 && >= 1.8.1 - , text < 1.3 && >= 1.0.0.0 - , template-haskell < 2.14 && >= 2.7.0.0 - , temporary < 1.3 && >= 1.2.1 - , transformers < 0.6 && >= 0.3.0.0 - if !os(windows) - build-depends: unix < 2.8 && >= 2.5.1.1 - build-depends: unix-compat < 0.6 && >= 0.4.3.1 - , utf8-string < 1.1 && >= 1.0.1.1 - build-tools: cabal - - -executable cabal-helper-main - default-language: Haskell2010 - default-extensions: NondecreasingIndentation - main-is: CabalHelper/Runtime/Main.hs - hs-source-dirs: src - other-modules: - CabalHelper.Shared.Common - CabalHelper.Shared.InterfaceTypes - CabalHelper.Shared.Sandbox - - -- This component is usually built at runtime by cabal-helper-wrapper but - -- during development it's convinient to build it via cabal - if flag(dev) - buildable: True - else - buildable: False - - -- Common c-h-main-fields -- See [Note test dependencies] - ghc-options: -Wall -fno-warn-unused-imports - build-depends: base < 5 && >= 4.7 - , Cabal - , containers - , bytestring - , filepath - , directory - , ghc-prim diff --git a/vendor/cabal-helper-0.8.1.2/cabal.project b/vendor/cabal-helper-0.8.1.2/cabal.project deleted file mode 100644 index b764c34..0000000 --- a/vendor/cabal-helper-0.8.1.2/cabal.project +++ /dev/null @@ -1,2 +0,0 @@ -packages: . - diff --git a/vendor/cabal-helper-0.8.1.2/lib/Distribution/Helper.hs b/vendor/cabal-helper-0.8.1.2/lib/Distribution/Helper.hs deleted file mode 100644 index 7606ee7..0000000 --- a/vendor/cabal-helper-0.8.1.2/lib/Distribution/Helper.hs +++ /dev/null @@ -1,591 +0,0 @@ --- cabal-helper: Simple interface to Cabal's configuration state --- Copyright (C) 2015-2018 Daniel Gröber --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see . - -{-# LANGUAGE CPP, RecordWildCards, FlexibleContexts, ConstraintKinds, - GeneralizedNewtypeDeriving, DeriveDataTypeable, DeriveGeneric, DeriveFunctor, - NamedFieldPuns, OverloadedStrings - #-} - -{-| -Module : Distribution.Helper -License : GPL-3 -Maintainer : cabal-helper@dxld.at -Portability : POSIX --} - -module Distribution.Helper ( - -- * Running Queries - Query - , runQuery - - -- * Queries against Cabal\'s on disk state - - -- ** Package queries - , packageId - , packageDbStack - , packageFlags - , compilerVersion - - , ghcMergedPkgOptions - - -- ** cabal-install queries - , configFlags - , nonDefaultConfigFlags - - - -- ** Component queries - , ComponentQuery - , components - - , ghcSrcOptions - , ghcPkgOptions - , ghcLangOptions - , ghcOptions - , sourceDirs - , entrypoints - , needsBuildOutput - - -- * Query environment - , QueryEnv - , mkQueryEnv - , qeReadProcess - , qePrograms - , qeProjectDir - , qeDistDir - , qeCabalPkgDb - , qeCabalVer - - , Programs(..) - , defaultPrograms - - - -- * Result types - , ChModuleName(..) - , ChComponentName(..) - , ChPkgDb(..) - , ChEntrypoint(..) - , NeedsBuildOutput(..) - - -- * General information - , buildPlatform - - -- * Stuff that cabal-install really should export - , Distribution.Helper.getSandboxPkgDb - - -- * Managing @dist/@ - , prepare - , reconfigure - , writeAutogenFiles - - -- * $libexec related error handling - , LibexecNotFoundError(..) - , libexecNotFoundError - - -- * Reexports - , module Data.Functor.Apply - ) where - -import Cabal.Plan hiding (findPlanJson) -import Control.Applicative -import Control.Monad -import Control.Monad.IO.Class -import Control.Monad.State.Strict -import Control.Monad.Reader -import Control.Exception as E -import Data.Char -import Data.List -import Data.Maybe -import qualified Data.Map as Map -import Data.Version -import Data.Typeable -import Data.Function -import Data.Functor.Apply -import Distribution.System (buildOS, OS(Windows)) -import System.Environment -import System.FilePath hiding ((<.>)) -import qualified System.FilePath as FP -import System.Directory -import System.Process -import System.IO.Unsafe -import Text.Printf -import GHC.Generics -import Prelude - -import Paths_cabal_helper (getLibexecDir) -import CabalHelper.Shared.InterfaceTypes -import CabalHelper.Shared.Sandbox - --- | Paths or names of various programs we need. -data Programs = Programs { - -- | The path to the @cabal@ program. - cabalProgram :: FilePath, - - -- | The path to the @ghc@ program. - ghcProgram :: FilePath, - - -- | The path to the @ghc-pkg@ program. If - -- not changed it will be derived from the path to 'ghcProgram'. - ghcPkgProgram :: FilePath - } deriving (Eq, Ord, Show, Read, Generic, Typeable) - --- | Default all programs to their unqualified names, i.e. they will be searched --- for on @PATH@. -defaultPrograms :: Programs -defaultPrograms = Programs "cabal" "ghc" "ghc-pkg" - --- | Environment for running a 'Query'. The real constructor is not exposed, --- the field accessors are however. See below. Use the 'mkQueryEnv' smart --- constructor to construct one. -data QueryEnv = QueryEnv { - -- | Field accessor for 'QueryEnv'. Defines how to start the cabal-helper - -- process. Useful if you need to capture stderr output from the helper. - qeReadProcess :: FilePath -> [String] -> String -> IO String, - - -- | Field accessor for 'QueryEnv'. - qePrograms :: Programs, - - -- | Field accessor for 'QueryEnv'. Defines path to the project directory, - -- i.e. a directory containing a @project.cabal@ file - qeProjectDir :: FilePath, - - - -- | Field accessor for 'QueryEnv'. Defines path to the @dist/@ directory, - -- /builddir/ in Cabal terminology. - qeDistDir :: FilePath, - - -- | Field accessor for 'QueryEnv'. Defines where to look for the Cabal - -- library when linking the helper. - qeCabalPkgDb :: Maybe FilePath, - - -- | Field accessor for 'QueryEnv'. If @dist/setup-config@ wasn\'t written - -- by this version of Cabal an error is thrown when running the query. - qeCabalVer :: Maybe Version - } - --- | @mkQueryEnv projdir distdir@. Smart constructor for 'QueryEnv'. --- Sets fields 'qeProjectDir' and 'qeDistDir' to @projdir@ and @distdir@ --- respectively and provides sensible defaults for the other fields. -mkQueryEnv :: FilePath - -- ^ Path to the project directory, i.e. the directory containing a - -- @project.cabal@ file - -> FilePath - -- ^ Path to the @dist/@ directory, called /builddir/ in Cabal - -- terminology. - -> QueryEnv -mkQueryEnv projdir distdir = QueryEnv { - qeReadProcess = readProcess - , qePrograms = defaultPrograms - , qeProjectDir = projdir - , qeDistDir = distdir - , qeCabalPkgDb = Nothing - , qeCabalVer = Nothing - } - -data SomeLocalBuildInfo = SomeLocalBuildInfo { - slbiPackageDbStack :: [ChPkgDb], - slbiPackageFlags :: [(String, Bool)], - slbiCompilerVersion :: (String, Version), - - slbiGhcMergedPkgOptions :: [String], - - slbiConfigFlags :: [(String, Bool)], - slbiNonDefaultConfigFlags :: [(String, Bool)], - - slbiGhcSrcOptions :: [(ChComponentName, [String])], - slbiGhcPkgOptions :: [(ChComponentName, [String])], - slbiGhcLangOptions :: [(ChComponentName, [String])], - slbiGhcOptions :: [(ChComponentName, [String])], - - slbiSourceDirs :: [(ChComponentName, [String])], - slbiEntrypoints :: [(ChComponentName, ChEntrypoint)], - slbiNeedsBuildOutput :: [(ChComponentName, NeedsBuildOutput)] - } deriving (Eq, Ord, Read, Show) - --- | A lazy, cached, query against a package's Cabal configuration. Use --- 'runQuery' to execute it. -newtype Query m a = Query { unQuery :: StateT (Maybe SomeLocalBuildInfo) - (ReaderT QueryEnv m) a } - deriving (Functor, Applicative, Monad, MonadIO) - -instance MonadTrans Query where - lift = Query . lift . lift - -type MonadQuery m = ( MonadIO m - , MonadState (Maybe SomeLocalBuildInfo) m - , MonadReader QueryEnv m) - --- | A 'Query' to run on all components of a package. Use 'components' to get a --- regular 'Query'. -newtype ComponentQuery m a = ComponentQuery (Query m [(ChComponentName, a)]) - deriving (Functor) - -instance (Functor m, Monad m) => Apply (ComponentQuery m) where - ComponentQuery flab <.> ComponentQuery fla = - ComponentQuery $ liftM2 go flab fla - where - go :: [(ChComponentName, a -> b)] - -> [(ChComponentName, a)] - -> [(ChComponentName, b)] - go lab la = - [ (cn, ab a) - | (cn, ab) <- lab - , (cn', a) <- la - , cn == cn' - ] - -run :: Monad m => QueryEnv -> Maybe SomeLocalBuildInfo -> Query m a -> m a -run e s action = flip runReaderT e (flip evalStateT s (unQuery action)) - --- | @runQuery env query@. Run a 'Query' under a given 'QueryEnv'. -runQuery :: Monad m - => QueryEnv - -> Query m a - -> m a -runQuery qe action = run qe Nothing action - -getSlbi :: MonadQuery m => m SomeLocalBuildInfo -getSlbi = do - s <- get - case s of - Nothing -> do - slbi <- getSomeConfigState - put (Just slbi) - return slbi - Just slbi -> return slbi - --- | List of package databases to use. -packageDbStack :: MonadIO m => Query m [ChPkgDb] - --- | Like @ghcPkgOptions@ but for the whole package not just one component -ghcMergedPkgOptions :: MonadIO m => Query m [String] - --- | Flag definitions from cabal file -packageFlags :: MonadIO m => Query m [(String, Bool)] - --- | Flag assignments from setup-config -configFlags :: MonadIO m => Query m [(String, Bool)] - --- | Flag assignments from setup-config which differ from the default --- setting. This can also include flags which cabal decided to modify, --- i.e. don't rely on these being the flags set by the user directly. -nonDefaultConfigFlags :: MonadIO m => Query m [(String, Bool)] - --- | The version of GHC the project is configured to use -compilerVersion :: MonadIO m => Query m (String, Version) - --- | Package identifier, i.e. package name and version -packageId :: MonadIO m => Query m (String, Version) - --- | Run a ComponentQuery on all components of the package. -components :: Monad m => ComponentQuery m (ChComponentName -> b) -> Query m [b] -components (ComponentQuery sc) = map (\(cn, f) -> f cn) `liftM` sc - --- | Modules or files Cabal would have the compiler build directly. Can be used --- to compute the home module closure for a component. -entrypoints :: MonadIO m => ComponentQuery m ChEntrypoint - --- | The component has a non-default module renaming, so needs build output (). -needsBuildOutput :: MonadIO m => ComponentQuery m NeedsBuildOutput - --- | A component's @source-dirs@ field, beware since if this is empty implicit --- behaviour in GHC kicks in. -sourceDirs :: MonadIO m => ComponentQuery m [FilePath] - --- | All options Cabal would pass to GHC. -ghcOptions :: MonadIO m => ComponentQuery m [String] - --- | Only search path related GHC options. -ghcSrcOptions :: MonadIO m => ComponentQuery m [String] - --- | Only package related GHC options, sufficient for things don't need to --- access any home modules. -ghcPkgOptions :: MonadIO m => ComponentQuery m [String] - --- | Only language related options, i.e. @-XSomeExtension@ -ghcLangOptions :: MonadIO m => ComponentQuery m [String] - -packageId = Query $ getPackageId -packageDbStack = Query $ slbiPackageDbStack `liftM` getSlbi -packageFlags = Query $ slbiPackageFlags `liftM` getSlbi -compilerVersion = Query $ slbiCompilerVersion `liftM` getSlbi -ghcMergedPkgOptions = Query $ slbiGhcMergedPkgOptions `liftM` getSlbi -configFlags = Query $ slbiConfigFlags `liftM` getSlbi -nonDefaultConfigFlags = Query $ slbiNonDefaultConfigFlags `liftM` getSlbi - -ghcSrcOptions = ComponentQuery $ Query $ slbiGhcSrcOptions `liftM` getSlbi -ghcPkgOptions = ComponentQuery $ Query $ slbiGhcPkgOptions `liftM` getSlbi -ghcOptions = ComponentQuery $ Query $ slbiGhcOptions `liftM` getSlbi -ghcLangOptions = ComponentQuery $ Query $ slbiGhcLangOptions `liftM` getSlbi -sourceDirs = ComponentQuery $ Query $ slbiSourceDirs `liftM` getSlbi -entrypoints = ComponentQuery $ Query $ slbiEntrypoints `liftM` getSlbi -needsBuildOutput = ComponentQuery $ Query $ slbiNeedsBuildOutput `liftM` getSlbi - --- | Run @cabal configure@ -reconfigure :: MonadIO m - => (FilePath -> [String] -> String -> IO String) - -> Programs -- ^ Program paths - -> [String] -- ^ Command line arguments to be passed to @cabal@ - -> m () -reconfigure readProc progs cabalOpts = do - let progOpts = - [ "--with-ghc=" ++ ghcProgram progs ] - -- Only pass ghc-pkg if it was actually set otherwise we - -- might break cabal's guessing logic - ++ if ghcPkgProgram progs /= "ghc-pkg" - then [ "--with-ghc-pkg=" ++ ghcPkgProgram progs ] - else [] - ++ cabalOpts - _ <- liftIO $ readProc (cabalProgram progs) ("configure":progOpts) "" - return () - -readHelper :: (MonadIO m, MonadQuery m) => [String] -> m [Maybe ChResponse] -readHelper args = ask >>= \qe -> liftIO $ do - out <- either error id <$> invokeHelper qe args - let res = read out - liftIO $ evaluate res `E.catch` \se@(SomeException _) -> do - md <- lookupEnv' "CABAL_HELPER_DEBUG" - let msg = "readHelper: exception: '" ++ show se ++ "'" - error $ msg ++ case md of - Nothing -> ", for more information set the environment variable CABAL_HELPER_DEBUG" - Just _ -> ", output: '"++ out ++"'" - -invokeHelper :: QueryEnv -> [String] -> IO (Either String String) -invokeHelper QueryEnv {..} args = do - let progArgs = [ "--with-ghc=" ++ ghcProgram qePrograms - , "--with-ghc-pkg=" ++ ghcPkgProgram qePrograms - , "--with-cabal=" ++ cabalProgram qePrograms - ] - exe <- findLibexecExe - let args' = progArgs ++ "v1-style":qeProjectDir:qeDistDir:args - out <- qeReadProcess exe args' "" - (Right <$> evaluate out) `E.catch` \(SomeException _) -> - return $ Left $ concat - ["invokeHelper", ": ", exe, " " - , intercalate " " (map show args') - , " failed" - ] - -getPackageId :: MonadQuery m => m (String, Version) -getPackageId = ask >>= \QueryEnv {..} -> do - helper <- readHelper [ "package-id" ] - case helper of - [ Just (ChResponseVersion pkgName pkgVer) ] -> return (pkgName, pkgVer) - _ -> error "getPackageId : readHelper" - -getSomeConfigState :: MonadQuery m => m SomeLocalBuildInfo -getSomeConfigState = ask >>= \QueryEnv {..} -> do - res <- readHelper - [ "package-db-stack" - , "flags" - , "compiler-version" - - , "ghc-merged-pkg-options" - - , "config-flags" - , "non-default-config-flags" - - , "ghc-src-options" - , "ghc-pkg-options" - , "ghc-lang-options" - , "ghc-options" - - , "source-dirs" - , "entrypoints" - , "needs-build-output" - ] - let [ Just (ChResponsePkgDbs slbiPackageDbStack), - Just (ChResponseFlags slbiPackageFlags), - Just (ChResponseVersion comp compVer), - - Just (ChResponseList slbiGhcMergedPkgOptions), - - Just (ChResponseFlags slbiConfigFlags), - Just (ChResponseFlags slbiNonDefaultConfigFlags), - - Just (ChResponseCompList slbiGhcSrcOptions), - Just (ChResponseCompList slbiGhcPkgOptions), - Just (ChResponseCompList slbiGhcLangOptions), - Just (ChResponseCompList slbiGhcOptions), - - Just (ChResponseCompList slbiSourceDirs), - Just (ChResponseEntrypoints slbiEntrypoints), - Just (ChResponseNeedsBuild slbiNeedsBuildOutput) - ] = res - slbiCompilerVersion = (comp, compVer) - return $ SomeLocalBuildInfo {..} - - --- | Make sure the appropriate helper executable for the given project is --- installed and ready to run queries. -prepare :: MonadIO m => QueryEnv -> m () -prepare qe = - liftIO $ void $ invokeHelper qe [] - --- | Create @cabal_macros.h@ and @Paths_\@ possibly other generated files --- in the usual place. -writeAutogenFiles :: MonadIO m => QueryEnv -> m () -writeAutogenFiles qe = - liftIO $ void $ invokeHelper qe ["write-autogen-files"] - --- | Get the path to the sandbox package-db in a project -getSandboxPkgDb :: (FilePath -> [String] -> String -> IO String) - -> String - -- ^ Cabal build platform, i.e. @buildPlatform@ - -> Version - -- ^ GHC version (@cProjectVersion@ is your friend) - -> IO (Maybe FilePath) -getSandboxPkgDb readProc = - CabalHelper.Shared.Sandbox.getSandboxPkgDb $ unsafePerformIO $ buildPlatform readProc - -buildPlatform :: (FilePath -> [String] -> String -> IO String) -> IO String -buildPlatform readProc = do - exe <- findLibexecExe - CabalHelper.Shared.Sandbox.dropWhileEnd isSpace <$> readProc exe ["print-build-platform"] "" - --- | This exception is thrown by all 'runQuery' functions if the internal --- wrapper executable cannot be found. You may catch this and present the user --- an appropriate error message however the default is to print --- 'libexecNotFoundError'. -data LibexecNotFoundError = LibexecNotFoundError String FilePath - deriving (Typeable) -instance Exception LibexecNotFoundError -instance Show LibexecNotFoundError where - show (LibexecNotFoundError exe dir) = - libexecNotFoundError exe dir "https://github.com/alexwl/haskell-code-explorer/issues" - -findLibexecExe :: IO FilePath -findLibexecExe = do - libexecdir <- getLibexecDir - let exeName = "cabal-helper-wrapper" - exe = libexecdir exeName FP.<.> exeExtension' - - exists <- doesFileExist exe - - if exists - then return exe - else do - mdir <- tryFindCabalHelperTreeDistDir - dir <- case mdir of - Nothing -> - throwIO $ LibexecNotFoundError exeName libexecdir - Just dir -> - return dir - - return $ dir "build" exeName exeName - -findPlanJson :: FilePath -> IO (Maybe FilePath) -findPlanJson base = - findFile (map ( "cache") $ parents base) "plan.json" - -parents :: FilePath -> [FilePath] -parents path = takeWhile (not . (`elem` ["", "."]) . dropDrive) dirs - where dirs = iterate takeDirectory path - -data DistDir = DistDir { ddType :: DistDirType, unDistDir :: FilePath } - deriving (Eq, Ord, Read, Show) -data DistDirType = NewBuildDist | OldBuildDist - deriving (Eq, Ord, Read, Show) - -tryFindCabalHelperTreeDistDir :: IO (Maybe FilePath) -tryFindCabalHelperTreeDistDir = do - exe <- canonicalizePath =<< getExecutablePath' - mplan <- findPlanJson exe - let mdistdir = takeDirectory . takeDirectory <$> mplan - cwd <- getCurrentDirectory - - let candidates = sortBy (compare `on` ddType) $ concat - [ maybeToList $ DistDir NewBuildDist <$> mdistdir - , [ DistDir OldBuildDist $ (!!3) $ iterate takeDirectory exe ] - , if takeFileName exe == "ghc" -- we're probably in ghci; try CWD - then [ DistDir NewBuildDist $ cwd "dist-newstyle" - , DistDir NewBuildDist $ cwd "dist" - , DistDir OldBuildDist $ cwd "dist" - ] - else [] - ] - - distdirs - <- filterM isDistDir candidates - >>= mapM toOldBuildDistDir - - return $ fmap unDistDir $ join $ listToMaybe $ distdirs - -isCabalHelperSourceDir :: FilePath -> IO Bool -isCabalHelperSourceDir dir = - doesFileExist $ dir "cabal-helper.cabal" - -isDistDir :: DistDir -> IO Bool -isDistDir (DistDir NewBuildDist dir) = - doesFileExist (dir "cache" "plan.json") -isDistDir (DistDir OldBuildDist dir) = - doesFileExist (dir "setup-config") - -toOldBuildDistDir :: DistDir -> IO (Maybe DistDir) -toOldBuildDistDir (DistDir NewBuildDist dir) = do - PlanJson {pjUnits} <- decodePlanJson $ dir "cache" "plan.json" - let munit = find isCabalHelperUnit $ Map.elems pjUnits - return $ DistDir OldBuildDist <$> join ((\Unit { uDistDir = mdistdir } -> mdistdir) <$> munit) - where - isCabalHelperUnit - Unit { uPId = PkgId (PkgName n) _ - , uType = UnitTypeLocal - , uComps - } | n == "cabal-helper" && - Map.member (CompNameExe "cabal-helper-wrapper") uComps - = True - isCabalHelperUnit _ = False -toOldBuildDistDir x = return $ Just x - - - - -libexecNotFoundError :: String -- ^ Name of the executable we were trying to - -- find - -> FilePath -- ^ Path to @$libexecdir@ - -> String -- ^ URL the user will be directed towards to - -- report a bug. - -> String -libexecNotFoundError exe dir reportBug = printf - ( "Could not find $libexecdir/%s\n" - ++"\n" - ++"If you are a cabal-helper developer you can set the environment variable\n" - ++"`cabal_helper_libexecdir' to override $libexecdir[1]. The following will\n" - ++"work in the cabal-helper source tree:\n" - ++"\n" - ++" $ export cabal_helper_libexecdir=$PWD/dist/build/%s\n" - ++"\n" - ++"[1]: %s\n" - ++"\n" - ++"If you don't know what I'm talking about something went wrong with your\n" - ++"installation. Please report this problem here:\n" - ++"\n" - ++" %s") exe exe dir reportBug - -getExecutablePath' :: IO FilePath -getExecutablePath' = -#if MIN_VERSION_base(4,6,0) - getExecutablePath -#else - getProgName -#endif - -lookupEnv' :: String -> IO (Maybe String) -lookupEnv' k = lookup k <$> getEnvironment - -exeExtension' :: FilePath -exeExtension' - | Windows <- buildOS = "exe" - | otherwise = "" diff --git a/vendor/cabal-helper-0.8.1.2/scripts/bump.sh b/vendor/cabal-helper-0.8.1.2/scripts/bump.sh deleted file mode 100755 index a5a2ba7..0000000 --- a/vendor/cabal-helper-0.8.1.2/scripts/bump.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -set -e - -if [ -z "$1" ]; then - echo "Usage: $0 VERSION" >&2 - exit 1 -fi - -VERSION=$1 - -if ! echo $VERSION | grep "^[0-9.]"; then - echo "invalid version"; - exit 1 -fi - -cd $(dirname $0)/.. - -sed -r -i 's/^(version:[[:space:]]*)[0-9.]+/\1'"$VERSION"'/' cabal-helper.cabal - -git add cabal-helper.cabal -git commit -m "Bump version to $VERSION" - -git tag "v$VERSION" diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/build.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/build.sh deleted file mode 100755 index 7d2c136..0000000 --- a/vendor/cabal-helper-0.8.1.2/scripts/ci/build.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -set -ex - -CI_SCRIPTS_DIR="$(realpath "$(dirname "$0")")" - -for step in $(printf '%s\n' "$CI_SCRIPTS_DIR"/steps/* | sort); do - . $step -done diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/print-packages.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/print-packages.sh deleted file mode 100644 index 891cea6..0000000 --- a/vendor/cabal-helper-0.8.1.2/scripts/ci/print-packages.sh +++ /dev/null @@ -1,5 +0,0 @@ -if [ -e cabal.sandbox.config ]; then - cabal sandbox hc-pkg list -else - ghc-pkg list -fi diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/retry.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/retry.sh deleted file mode 100755 index 285648e..0000000 --- a/vendor/cabal-helper-0.8.1.2/scripts/ci/retry.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env bash - -# MIT LICENSE -# -# Copyright (c) 2016 Travis CI GmbH -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. -# -# -# Copied from github.com/travis-ci/travis-build and modified to pass shellcheck. -# Copied from https://github.com/cockroachdb/cockroach/blob/b4b7412d1c899a7488a9839eb4e01a616e4de135/scripts/travis_retry.sh and modified slightly - -retry() { - local result=0 - local count=1 - while [ $count -le 3 ]; do - [ $result -ne 0 ] && { - echo -e "\n${ANSI_RED}The command \"$*\" failed. Retrying, $count of 3.${ANSI_RESET}\n" >&2 - } - "$@" - result=$? - [ $result -eq 0 ] && break - count=$((count + 1)) - sleep 10 - done - - [ $count -gt 3 ] && { - echo -e "\n${ANSI_RED}The command \"$*\" failed 3 times.${ANSI_RESET}\n" >&2 - } - - return $result -} - -retry "$@" diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/00-config.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/00-config.sh deleted file mode 100644 index eb8280a..0000000 --- a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/00-config.sh +++ /dev/null @@ -1,12 +0,0 @@ -if [ -w . ]; then - sandbox="$PWD"/.cabal-sandbox - sandbox_config="$PWD"/cabal.sandbox.config -else - sandbox="$HOME"/cabal-sandbox - sandbox_config="$HOME"/cabal.sandbox.config -fi - -source_dir="$(mktemp --tmpdir -d "cabal-helper.sdistXXXXXXXXX")" -build_dir="$(mktemp --tmpdir -d "cabal-helper.distXXXXXXXXX")" - -NPROC=${NPROC:-1} diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/05-print-packages.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/05-print-packages.sh deleted file mode 120000 index 4a3479a..0000000 --- a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/05-print-packages.sh +++ /dev/null @@ -1 +0,0 @@ -../print-packages.sh \ No newline at end of file diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/10-dependencies.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/10-dependencies.sh deleted file mode 100644 index 0d0254c..0000000 --- a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/10-dependencies.sh +++ /dev/null @@ -1,3 +0,0 @@ -"$CI_SCRIPTS_DIR"/retry.sh cabal update -cabal --sandbox-config="$sandbox_config" sandbox init --sandbox="$sandbox" -cabal --sandbox-config="$sandbox_config" install --only-dependencies --enable-tests diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/15-print-packages.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/15-print-packages.sh deleted file mode 120000 index 4a3479a..0000000 --- a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/15-print-packages.sh +++ /dev/null @@ -1 +0,0 @@ -../print-packages.sh \ No newline at end of file diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/20-sdist.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/20-sdist.sh deleted file mode 100644 index bd8fbe1..0000000 --- a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/20-sdist.sh +++ /dev/null @@ -1,6 +0,0 @@ -mkdir -p "$source_dir" -mkdir -p "$build_dir" - -cabal --sandbox-config="$sandbox_config" sdist --builddir="$build_dir" --output-directory="$source_dir" - -cd "$source_dir" diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/30-build.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/30-build.sh deleted file mode 100644 index 8e71aa3..0000000 --- a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/30-build.sh +++ /dev/null @@ -1,4 +0,0 @@ -# -fdev enables building the helper "main" exe directly and enables more warnings -cabal --sandbox-config="$sandbox_config" configure --builddir="$build_dir" --enable-tests -fdev -cabal --sandbox-config="$sandbox_config" build --builddir="$build_dir" -cabal --sandbox-config="$sandbox_config" haddock --builddir="$build_dir" diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/40-test.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/40-test.sh deleted file mode 100644 index cfdf05c..0000000 --- a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/40-test.sh +++ /dev/null @@ -1,2 +0,0 @@ -cabal_helper_libexecdir="$build_dir"/build/cabal-helper-wrapper \ - cabal --sandbox-config="$sandbox_config" test --builddir="$build_dir" --show-details=streaming diff --git a/vendor/cabal-helper-0.8.1.2/scripts/update-cabal-common-section-instantiations.awk b/vendor/cabal-helper-0.8.1.2/scripts/update-cabal-common-section-instantiations.awk deleted file mode 100644 index 0bfacae..0000000 --- a/vendor/cabal-helper-0.8.1.2/scripts/update-cabal-common-section-instantiations.awk +++ /dev/null @@ -1,34 +0,0 @@ -BEGIN { - delete sections; - section=""; - ignoring=0; -} - -/^[[:space:]]*$/ { - section=""; - ignoring=0; -} - -{ - if(section) { - tmp = sections[section]; - sections[section] = tmp (tmp ? RS : "") $0; - } -} - -/^[[:space:]]*-- *Common/ { - section = $3 -} - -/^[[:space:]]*-- *Instantiate *common/ { - ignoring=1 - - print $0; - print sections[$4]; -} - -{ - if(!ignoring) { - print $0; - } -} diff --git a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Compat/Environment.hs b/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Compat/Environment.hs deleted file mode 100644 index 58bb9ee..0000000 --- a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Compat/Environment.hs +++ /dev/null @@ -1,35 +0,0 @@ --- cabal-helper: Simple interface to Cabal's configuration state --- Copyright (C) 2017 Daniel Gröber --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see . - -{-# LANGUAGE CPP #-} -module CabalHelper.Compiletime.Compat.Environment where - -import qualified System.Environment -#ifndef mingw32_HOST_OS -import qualified System.Posix.Env (setEnv) -#endif - -lookupEnv :: String -> IO (Maybe String) -lookupEnv var = - do env <- System.Environment.getEnvironment - return (lookup var env) - -setEnv :: String -> String -> IO () -#ifdef mingw32_HOST_OS -setEnv = System.Environment.setEnv -#else -setEnv k v = System.Posix.Env.setEnv k v True -#endif diff --git a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Compat/ProgramDb.hs b/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Compat/ProgramDb.hs deleted file mode 100644 index 56b033c..0000000 --- a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Compat/ProgramDb.hs +++ /dev/null @@ -1,30 +0,0 @@ --- cabal-helper: Simple interface to Cabal's configuration state --- Copyright (C) 2018 Daniel Gröber --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see . - -{-# LANGUAGE CPP #-} -module CabalHelper.Compiletime.Compat.ProgramDb - ( defaultProgramDb - , programPath - , lookupProgram - , ghcProgram - , ghcPkgProgram - ) where - -import Distribution.Simple.Program - -#if !MIN_VERSION_Cabal(2,0,0) -defaultProgramDb = defaultProgramConfiguration -#endif diff --git a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Compat/Version.hs b/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Compat/Version.hs deleted file mode 100644 index 5d4f5f5..0000000 --- a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Compat/Version.hs +++ /dev/null @@ -1,49 +0,0 @@ --- cabal-helper: Simple interface to Cabal's configuration state --- Copyright (C) 2017-2018 Daniel Gröber --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see . - -{-# LANGUAGE CPP #-} -module CabalHelper.Compiletime.Compat.Version - ( DataVersion - , toDataVersion - , fromDataVersion - , Data.Version.showVersion - , makeDataVersion - ) where - -import qualified Data.Version -import qualified Distribution.Version (Version) -#if MIN_VERSION_Cabal(2,0,0) -import qualified Distribution.Version (versionNumbers, mkVersion) -#endif - -type DataVersion = Data.Version.Version - -toDataVersion :: Distribution.Version.Version -> Data.Version.Version -fromDataVersion :: Data.Version.Version -> Distribution.Version.Version -#if MIN_VERSION_Cabal(2,0,0) -toDataVersion v = Data.Version.Version (Distribution.Version.versionNumbers v) [] -fromDataVersion (Data.Version.Version vs _) = Distribution.Version.mkVersion vs -#else -toDataVersion = id -fromDataVersion = id -#endif - -makeDataVersion :: [Int] -> Data.Version.Version -#if MIN_VERSION_base(4,8,0) -makeDataVersion = Data.Version.makeVersion -#else -makeDataVersion xs = Data.Version.Version xs [] -#endif diff --git a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Compile.hs b/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Compile.hs deleted file mode 100644 index 8da426f..0000000 --- a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Compile.hs +++ /dev/null @@ -1,736 +0,0 @@ --- cabal-helper: Simple interface to Cabal's configuration state --- Copyright (C) 2015-2018 Daniel Gröber --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see . -{-# LANGUAGE RecordWildCards, FlexibleContexts, NamedFieldPuns, DeriveFunctor, -GADTs #-} - -{-| -Module : CabalHelper.Compiletime.Compile -Description : Runtime compilation machinery -License : GPL-3 --} - -module CabalHelper.Compiletime.Compile where - -import Cabal.Plan -import Control.Applicative -import Control.Arrow -import Control.Exception as E -import Control.Monad -import Control.Monad.Trans.Maybe -import Control.Monad.IO.Class -import Data.Char -import Data.List -import Data.Maybe -import Data.String -import Data.Version -import GHC.IO.Exception (IOErrorType(OtherError)) -import Text.Printf -import Text.Read -import System.Directory -import System.FilePath -import System.Process -import System.Exit -import System.Environment -import System.IO -import System.IO.Error -import System.IO.Temp -import Prelude - - -import qualified Data.Text as Text -import qualified Data.Map.Strict as Map - -import Distribution.System (buildPlatform) -import Distribution.Text (display) - -import Paths_cabal_helper (version) -import CabalHelper.Compiletime.Data -import CabalHelper.Compiletime.Log -import CabalHelper.Compiletime.Types -import CabalHelper.Shared.Common -import CabalHelper.Shared.Sandbox (getSandboxPkgDb) - -data Compile - = CompileWithCabalSource - { compCabalSourceDir :: CabalSourceDir - , compCabalSourceVersion :: Version - } - | CompileWithCabalPackage - { compPackageDb :: Maybe PackageDbDir - , compCabalVersion :: CabalVersion - , compPackageDeps :: [String] - , compProductTarget :: CompilationProductScope - } - -data CompPaths = CompPaths - { compSrcDir :: FilePath - , compOutDir :: FilePath - , compExePath :: FilePath - } - --- | The Helper executable we produce as a compilation product can either be --- placed in a per-project location, or a per-user/global location in the user's --- home directory. This type controls where the compilation process places the --- executable. -data CompilationProductScope = CPSGlobal | CPSProject - -compileHelper :: Options -> Version -> FilePath -> Maybe (PlanJson, FilePath) -> FilePath -> IO (Either ExitCode FilePath) -compileHelper opts hdrCabalVersion projdir mnewstyle distdir = do - ghcVer <- ghcVersion opts - Just (prepare, comp) <- runMaybeT $ msum $ - case oCabalPkgDb opts of - Nothing -> - [ compileCabalSource - , compileNewBuild ghcVer - , compileSandbox ghcVer - , compileGlobal - , MaybeT $ Just <$> compileWithCabalInPrivatePkgDb - ] - Just db -> - [ return $ (return (), compileWithPkg (Just db) hdrCabalVersion CPSProject) - ] - - appdir <- appCacheDir - - let cp@CompPaths {compExePath} = compPaths appdir distdir comp - exists <- doesFileExist compExePath - if exists - then do - vLog opts $ "helper already compiled, using exe: "++compExePath - return (Right compExePath) - else do - vLog opts $ "helper exe does not exist, compiling "++compExePath - prepare >> compile comp cp opts - - where - logMsg = "using helper compiled with Cabal from " - --- for relaxed deps: find (sameMajorVersionAs hdrCabalVersion) . reverse . sort - - -- | Check if this version is globally available - compileGlobal :: MaybeT IO (IO (), Compile) - compileGlobal = do - cabal_versions <- listCabalVersions opts - ver <- MaybeT $ return $ find (== hdrCabalVersion) cabal_versions - vLog opts $ logMsg ++ "user/global package-db" - return $ (return (), compileWithPkg Nothing ver CPSGlobal) - - -- | Check if this version is available in the project sandbox - compileSandbox :: Version -> MaybeT IO (IO (), Compile) - compileSandbox ghcVer = do - let mdb_path = getSandboxPkgDb projdir (display buildPlatform) ghcVer - sandbox <- PackageDbDir <$> MaybeT mdb_path - cabal_versions <- listCabalVersions' opts (Just sandbox) - ver <- MaybeT $ return $ find (== hdrCabalVersion) cabal_versions - vLog opts $ logMsg ++ "sandbox package-db" - return $ (return (), compileWithPkg (Just sandbox) ver CPSProject) - - compileNewBuild :: Version -> MaybeT IO (IO (), Compile) - compileNewBuild ghcVer = do - (PlanJson {pjUnits}, distdir_newstyle) <- maybe mzero pure mnewstyle - let cabal_pkgid = - PkgId (PkgName (Text.pack "Cabal")) - (Ver $ versionBranch hdrCabalVersion) - mcabal_unit = listToMaybe $ - Map.elems $ Map.filter (\Unit {..} -> uPId == cabal_pkgid) pjUnits - Unit {} <- maybe mzero pure mcabal_unit - let inplace_db_path = distdir_newstyle - "packagedb" ("ghc-" ++ showVersion ghcVer) - inplace_db = PackageDbDir inplace_db_path - cabal_versions <- listCabalVersions' opts (Just inplace_db) - ver <- MaybeT $ return $ find (== hdrCabalVersion) cabal_versions - vLog opts $ logMsg ++ "v2-build package-db " ++ inplace_db_path - return $ (return (), compileWithPkg (Just inplace_db) ver CPSProject) - - -- | Compile the requested Cabal version into an isolated package-db if it's - -- not there already - compileWithCabalInPrivatePkgDb :: IO (IO (), Compile) - compileWithCabalInPrivatePkgDb = do - db@(PackageDbDir db_path) - <- getPrivateCabalPkgDb opts (CabalVersion hdrCabalVersion) - vLog opts $ logMsg ++ "private package-db in " ++ db_path - return (prepare db, compileWithPkg (Just db) hdrCabalVersion CPSGlobal) - where - prepare db = do - db_exists <- liftIO $ cabalVersionExistsInPkgDb opts hdrCabalVersion db - when (not db_exists) $ - void $ installCabal opts (Right hdrCabalVersion) `E.catch` - \(SomeException _) -> errorInstallCabal hdrCabalVersion distdir - - -- | See if we're in a cabal source tree - compileCabalSource :: MaybeT IO (IO (), Compile) - compileCabalSource = do - let cabalFile = projdir "Cabal.cabal" - cabalSrc <- liftIO $ doesFileExist cabalFile - let projdir' = CabalSourceDir projdir - case cabalSrc of - False -> mzero - True -> do - vLog opts $ "projdir looks like Cabal source tree (Cabal.cabal exists)" - cf <- liftIO $ readFile cabalFile - let buildType = cabalFileBuildType cf - ver = cabalFileVersion cf - - case buildType of - "simple" -> do - vLog opts $ "Cabal source tree is build-type:simple, moving on" - mzero - "custom" -> do - vLog opts $ "compiling helper with local Cabal source tree" - return $ (return (), compileWithCabalSource projdir' ver) - _ -> error $ "compileCabalSource: unknown build-type: '"++buildType++"'" - - compileWithCabalSource srcDir ver = - CompileWithCabalSource - { compCabalSourceDir = srcDir - , compCabalSourceVersion = ver - } - - compileWithPkg mdb ver target = - CompileWithCabalPackage - { compPackageDb = mdb - , compCabalVersion = CabalVersion ver - , compPackageDeps = [cabalPkgId ver] - , compProductTarget = target - } - - cabalPkgId v = "Cabal-" ++ showVersion v - -compile :: Compile -> CompPaths -> Options -> IO (Either ExitCode FilePath) -compile comp paths@CompPaths {..} opts@Options {..} = do - createDirectoryIfMissing True compOutDir - createHelperSources compSrcDir - - vLog opts $ "compSrcDir: " ++ compSrcDir - vLog opts $ "compOutDir: " ++ compOutDir - vLog opts $ "compExePath: " ++ compExePath - - invokeGhc opts $ compGhcInvocation comp paths - -compPaths :: FilePath -> FilePath -> Compile -> CompPaths -compPaths appdir distdir c = - case c of - CompileWithCabalPackage {compProductTarget=CPSGlobal,..} -> CompPaths {..} - where - compSrcDir = appdir exeName compCabalVersion <.> "build" - compOutDir = compSrcDir - compExePath = appdir exeName compCabalVersion - - CompileWithCabalPackage {compProductTarget=CPSProject,..} -> distdirPaths - CompileWithCabalSource {..} -> distdirPaths - where - distdirPaths = CompPaths {..} - where - compSrcDir = distdir "cabal-helper" - compOutDir = compSrcDir - compExePath = compOutDir "cabal-helper" - -data GhcInvocation = GhcInvocation - { giOutDir :: FilePath - , giOutput :: FilePath - , giCPPOptions :: [String] - , giPackageDBs :: [PackageDbDir] - , giIncludeDirs :: [FilePath] - , giHideAllPackages :: Bool - , giPackages :: [String] - , giWarningFlags :: [String] - , giInputs :: [String] - } - -compGhcInvocation :: Compile -> CompPaths -> GhcInvocation -compGhcInvocation comp CompPaths {..} = - case comp of - CompileWithCabalSource {..} -> - GhcInvocation - { giIncludeDirs = [compSrcDir, unCabalSourceDir compCabalSourceDir] - , giPackageDBs = [] - , giHideAllPackages = False - , giPackages = [] - , giCPPOptions = cppOptions compCabalSourceVersion - ++ [cabalVersionMacro compCabalSourceVersion] - , .. - } - CompileWithCabalPackage {..} -> - GhcInvocation - { giIncludeDirs = [compSrcDir] - , giPackageDBs = maybeToList compPackageDb - , giHideAllPackages = True - , giPackages = - [ "base" - , "containers" - , "directory" - , "filepath" - , "process" - , "bytestring" - , "ghc-prim" - ] ++ compPackageDeps - , giCPPOptions = cppOptions (unCabalVersion compCabalVersion) - , .. - } - where - - unCabalVersion (CabalVersion ver) = ver - unCabalVersion (CabalHEAD _) = Version [10000000, 0, 0] [] - - cppOptions cabalVer = - [ "-DCABAL_HELPER=1" - , cabalMinVersionMacro cabalVer - ] - - giOutDir = compOutDir - giOutput = compExePath - giWarningFlags = [ "-w" ] -- no point in bothering end users with warnings - giInputs = [compSrcDir"CabalHelper""Runtime""Main.hs"] - -cabalVersionMacro :: Version -> String -cabalVersionMacro (Version vs _) = - "-DCABAL_VERSION="++intercalate "," (map show vs) - -cabalMinVersionMacro :: Version -> String -cabalMinVersionMacro (Version (mj1:mj2:mi:_) _) = - "-DCH_MIN_VERSION_Cabal(major1,major2,minor)=\ - \( (major1) < "++show mj1++" \ - \|| (major1) == "++show mj1++" && (major2) < "++show mj2++" \ - \|| (major1) == "++show mj1++" && (major2) == "++show mj2++" && (minor) <= "++show mi++ - ")" -cabalMinVersionMacro _ = - error "cabalMinVersionMacro: Version must have at least 3 components" - -invokeGhc :: Options -> GhcInvocation -> IO (Either ExitCode FilePath) -invokeGhc opts@Options {..} GhcInvocation {..} = do - rv <- callProcessStderr' opts Nothing oGhcProgram $ concat - [ [ "-outputdir", giOutDir - , "-o", giOutput - ] - , map ("-optP"++) giCPPOptions - , map ("-package-conf="++) $ unPackageDbDir <$> giPackageDBs - , map ("-i"++) $ nub $ "" : giIncludeDirs - , if giHideAllPackages then ["-hide-all-packages"] else [] - , concatMap (\p -> ["-package", p]) giPackages - , giWarningFlags - , ["--make"] - , giInputs - ] - return $ - case rv of - ExitSuccess -> Right giOutput - e@(ExitFailure _) -> Left e - - --- | Cabal library version we're compiling the helper exe against. -data CabalVersion - = CabalHEAD { cvCommitId :: CommitId } - | CabalVersion { cabalVersion :: Version } - -newtype CommitId = CommitId { unCommitId :: String } - -exeName :: CabalVersion -> String -exeName (CabalHEAD commitid) = intercalate "-" - [ "cabal-helper" ++ showVersion version - , "CabalHEAD" ++ unCommitId commitid - ] -exeName CabalVersion {cabalVersion} = intercalate "-" - [ "cabal-helper" ++ showVersion version - , "Cabal" ++ showVersion cabalVersion - ] - -readProcess' :: Options -> FilePath -> [String] -> String -> IO String -readProcess' opts@Options{..} exe args inp = do - vLog opts $ intercalate " " $ map formatProcessArg (oGhcPkgProgram:args) - outp <- readProcess exe args inp - vLog opts $ unlines $ map ("=> "++) $ lines outp - return outp - -callProcessStderr' - :: Options -> Maybe FilePath -> FilePath -> [String] -> IO ExitCode -callProcessStderr' opts mwd exe args = do - let cd = case mwd of - Nothing -> []; Just wd -> [ "cd", formatProcessArg wd++";" ] - vLog opts $ intercalate " " $ cd ++ map formatProcessArg (exe:args) - (_, _, _, h) <- createProcess (proc exe args) { std_out = UseHandle stderr - , cwd = mwd } - waitForProcess h - -callProcessStderr :: Options -> Maybe FilePath -> FilePath -> [String] -> IO () -callProcessStderr opts mwd exe args = do - rv <- callProcessStderr' opts mwd exe args - case rv of - ExitSuccess -> return () - ExitFailure v -> processFailedException "callProcessStderr" exe args v - -processFailedException :: String -> String -> [String] -> Int -> IO a -processFailedException fn exe args rv = - ioError $ mkIOError OtherError msg Nothing Nothing - where - msg = concat [ fn, ": ", exe, " " - , intercalate " " (map formatProcessArg args) - , " (exit " ++ show rv ++ ")" - ] - -formatProcessArg :: String -> String -formatProcessArg xs - | any isSpace xs = "'"++ xs ++"'" - | otherwise = xs - -data HEAD = HEAD deriving (Eq, Show) - -installCabal :: Options -> Either HEAD Version -> IO (PackageDbDir, CabalVersion) -installCabal opts ever = do - appdir <- appCacheDir - let message ver = do - let sver = showVersion ver - hPutStr stderr $ printf "\ -\cabal-helper-wrapper: Installing a private copy of Cabal because we couldn't\n\ -\find the right version in your global/user package-db, this might take a\n\ -\while but will only happen once per Cabal version you're using.\n\ -\\n\ -\If anything goes horribly wrong just delete this directory and try again:\n\ -\ %s\n\ -\\n\ -\If you want to avoid this automatic installation altogether install\n\ -\version %s of Cabal manually (into your user or global package-db):\n\ -\ $ cabal install Cabal --constraint \"Cabal == %s\"\n\ -\\n\ -\Installing Cabal %s ...\n" appdir sver sver sver - - withSystemTempDirectory "cabal-helper-Cabal-source" $ \tmpdir -> do - (srcdir, cabalVer) <- case ever of - Left HEAD -> do - second CabalHEAD <$> unpackCabalHEAD opts tmpdir - Right ver -> do - message ver - let patch = fromMaybe nopCabalPatchDescription $ - find ((ver`elem`) . cpdVersions) patchyCabalVersions - (,) <$> unpackPatchedCabal opts ver tmpdir patch <*> pure (CabalVersion ver) - - db <- createPkgDb opts cabalVer - - runCabalInstall opts db srcdir ever - - return (db, cabalVer) - -{- -TODO: If the Cabal version we want to install is less than or equal to one we -have available, either through act-as-setup or in a package-db we should be able -to use act-as-setup or build a default Setup.hs exe and patch the Cabal source -to say build-type:simple. This will sidestep bugs in c-i>=1.24 - -See conversation in -https://github.com/haskell/cabal/commit/e2bf243300957321497353a2f85517e464f764ab - -Otherwise we might be able to use the shipped Setup.hs - --} - -runCabalInstall - :: Options -> PackageDbDir -> CabalSourceDir -> Either HEAD Version-> IO () -runCabalInstall opts (PackageDbDir db) (CabalSourceDir srcdir) ever = do - civ@CabalInstallVersion {..} <- cabalInstallVersion opts - cabal_opts <- return $ concat - [ - [ "--package-db=clear" - , "--package-db=global" - , "--package-db=" ++ db - , "--prefix=" ++ db "prefix" - ] - , withGHCProgramOptions opts - , if cabalInstallVer >= Version [1,20,0,0] [] - then ["--no-require-sandbox"] - else [] - , [ "install", srcdir ] - , if oVerbose opts - then ["-v"] - else [] - , [ "--only-dependencies" ] - ] - - callProcessStderr opts (Just "/") (oCabalProgram opts) cabal_opts - - runSetupHs opts db srcdir ever civ - - hPutStrLn stderr "done" - -withGHCProgramOptions :: Options -> [String] -withGHCProgramOptions opts = - concat [ [ "--with-ghc=" ++ oGhcProgram opts ] - , if oGhcPkgProgram opts /= oGhcPkgProgram defaultOptions - then [ "--with-ghc-pkg=" ++ oGhcPkgProgram opts ] - else [] - ] - -runSetupHs - :: Options - -> FilePath - -> FilePath - -> Either HEAD Version - -> CabalInstallVersion - -> IO () -runSetupHs opts@Options {..} db srcdir ever CabalInstallVersion {..} - | cabalInstallVer >= parseVer "1.24" = do - go $ \args -> callProcessStderr opts (Just srcdir) oCabalProgram $ - [ "act-as-setup", "--" ] ++ args - | otherwise = do - SetupProgram {..} <- compileSetupHs opts db srcdir - go $ callProcessStderr opts (Just srcdir) setupProgram - where - parmake_opt :: Maybe Int -> [String] - parmake_opt nproc' - | Left _ <- ever = ["-j"++nproc] - | Right ver <- ever, ver >= Version [1,20] [] = ["-j"++nproc] - | otherwise = [] - where - nproc = fromMaybe "" $ show <$> nproc' - - go :: ([String] -> IO ()) -> IO () - go run = do - run $ [ "configure", "--package-db", db, "--prefix", db "prefix" ] - ++ withGHCProgramOptions opts - mnproc <- join . fmap readMaybe <$> lookupEnv "NPROC" - run $ [ "build" ] ++ parmake_opt mnproc - run [ "copy" ] - run [ "register" ] - - - - -newtype SetupProgram = SetupProgram { setupProgram :: FilePath } -compileSetupHs :: Options -> FilePath -> FilePath -> IO SetupProgram -compileSetupHs opts db srcdir = do - ver <- ghcVersion opts - let no_version_macros - | ver >= Version [8] [] = [ "-fno-version-macros" ] - | otherwise = [] - - file = srcdir "Setup" - - callProcessStderr opts (Just srcdir) (oGhcProgram opts) $ concat - [ [ "--make" - , "-package-conf", db - ] - , no_version_macros - , [ file <.> "hs" - , "-o", file - ] - ] - return $ SetupProgram file - -data CabalPatchDescription = CabalPatchDescription { - cpdVersions :: [Version], - cpdUnpackVariant :: UnpackCabalVariant, - cpdPatchFn :: FilePath -> IO () - } -nopCabalPatchDescription :: CabalPatchDescription -nopCabalPatchDescription = CabalPatchDescription [] LatestRevision (const (return ())) - -patchyCabalVersions :: [CabalPatchDescription] -patchyCabalVersions = [ - let versions = [ Version [1,18,1] [] ] - variant = Pristine - patch = fixArrayConstraint - in CabalPatchDescription versions variant patch, - - let versions = [ Version [1,18,0] [] ] - variant = Pristine - patch dir = do - fixArrayConstraint dir - fixOrphanInstance dir - in CabalPatchDescription versions variant patch, - - let versions = [ Version [1,24,1,0] [] ] - variant = Pristine - patch _ = return () - in CabalPatchDescription versions variant patch - ] - where - fixArrayConstraint dir = do - let cabalFile = dir "Cabal.cabal" - cabalFileTmp = cabalFile ++ ".tmp" - - cf <- readFile cabalFile - writeFile cabalFileTmp $ replace "&& < 0.5" "&& < 0.6" cf - renameFile cabalFileTmp cabalFile - - fixOrphanInstance dir = do - let versionFile = dir "Distribution/Version.hs" - versionFileTmp = versionFile ++ ".tmp" - - let languagePragma = - "{-# LANGUAGE DeriveDataTypeable, StandaloneDeriving #-}" - languagePragmaCPP = - "{-# LANGUAGE CPP, DeriveDataTypeable, StandaloneDeriving #-}" - - derivingDataVersion = - "deriving instance Data Version" - derivingDataVersionCPP = unlines [ - "#if __GLASGOW_HASKELL__ < 707", - derivingDataVersion, - "#endif" - ] - - vf <- readFile versionFile - writeFile versionFileTmp - $ replace derivingDataVersion derivingDataVersionCPP - $ replace languagePragma languagePragmaCPP vf - - renameFile versionFileTmp versionFile - -unpackPatchedCabal - :: Options - -> Version - -> FilePath - -> CabalPatchDescription - -> IO CabalSourceDir -unpackPatchedCabal opts cabalVer tmpdir (CabalPatchDescription _ variant patch) = do - res@(CabalSourceDir dir) <- unpackCabal opts cabalVer tmpdir variant - patch dir - return res - -data UnpackCabalVariant = Pristine | LatestRevision -newtype CabalSourceDir = CabalSourceDir { unCabalSourceDir :: FilePath } -unpackCabal - :: Options -> Version -> FilePath -> UnpackCabalVariant -> IO CabalSourceDir -unpackCabal opts cabalVer tmpdir variant = do - let cabal = "Cabal-" ++ showVersion cabalVer - dir = tmpdir cabal - variant_opts = case variant of Pristine -> [ "--pristine" ]; _ -> [] - args = [ "get", cabal ] ++ variant_opts - callProcessStderr opts (Just tmpdir) (oCabalProgram opts) args - return $ CabalSourceDir dir - -unpackCabalHEAD :: Options -> FilePath -> IO (CabalSourceDir, CommitId) -unpackCabalHEAD opts tmpdir = do - let dir = tmpdir "cabal-head.git" - url = "https://github.com/haskell/cabal.git" - ExitSuccess <- rawSystem "git" [ "clone", "--depth=1", url, dir] - commit <- - withDirectory_ dir $ trim <$> readProcess' opts "git" ["rev-parse", "HEAD"] "" - return (CabalSourceDir $ dir "Cabal", CommitId commit) - where - withDirectory_ :: FilePath -> IO a -> IO a - withDirectory_ dir action = - bracket - (liftIO getCurrentDirectory) - (liftIO . setCurrentDirectory) - (\_ -> liftIO (setCurrentDirectory dir) >> action) - -errorInstallCabal :: Version -> FilePath -> IO a -errorInstallCabal cabalVer _distdir = panicIO $ printf "\ -\Installing Cabal version %s failed.\n\ -\\n\ -\You have the following choices to fix this:\n\ -\\n\ -\- The easiest way to try and fix this is just reconfigure the project and try\n\ -\ again:\n\ -\ $ cabal clean && cabal configure\n\ -\\n\ -\- If that fails you can try to install the version of Cabal mentioned above\n\ -\ into your global/user package-db somehow, you'll probably have to fix\n\ -\ something otherwise it wouldn't have failed above:\n\ -\ $ cabal install Cabal --constraint 'Cabal == %s'\n\ -\\n\ -\- If you're using `Build-Type: Simple`:\n\ -\ - You can see if you can reinstall your cabal-install executable while\n\ -\ having it linked to a version of Cabal that's available in you\n\ -\ package-dbs or can be built automatically:\n\ -\ $ ghc-pkg list | grep Cabal # find an available Cabal version\n\ -\ Cabal-W.X.Y.Z\n\ -\ $ cabal install cabal-install --constraint 'Cabal == W.X.*'\n\ -\ Afterwards you'll have to reconfigure your project:\n\ -\ $ cabal clean && cabal configure\n\ -\\n\ -\- If you're using `Build-Type: Custom`:\n\ -\ - Have cabal-install rebuild your Setup.hs executable with a version of the\n\ -\ Cabal library that you have available in your global/user package-db:\n\ -\ $ cabal clean && cabal configure\n\ -\ You might also have to install some version of the Cabal to do this:\n\ -\ $ cabal install Cabal\n\ -\\n" sver sver - where - sver = showVersion cabalVer - -listCabalVersions :: Options -> MaybeT IO [Version] -listCabalVersions opts = listCabalVersions' opts Nothing - -listCabalVersions' :: Options -> Maybe PackageDbDir -> MaybeT IO [Version] -listCabalVersions' opts@Options {..} mdb = do - case mdb of - Nothing -> mzero - Just (PackageDbDir db_path) -> do - exists <- liftIO $ doesDirectoryExist db_path - case exists of - False -> mzero - True -> MaybeT $ logIOError opts "listCabalVersions'" $ Just <$> do - let mdbopt = ("--package-conf="++) <$> unPackageDbDir <$> mdb - args = ["list", "--simple-output", "Cabal"] ++ maybeToList mdbopt - - catMaybes . map (fmap snd . parsePkgId . fromString) . words - <$> readProcess' opts oGhcPkgProgram args "" - -cabalVersionExistsInPkgDb :: Options -> Version -> PackageDbDir -> IO Bool -cabalVersionExistsInPkgDb opts cabalVer db@(PackageDbDir db_path) = do - exists <- doesDirectoryExist db_path - case exists of - False -> return False - True -> fromMaybe False <$> runMaybeT (do - vers <- listCabalVersions' opts (Just db) - return $ cabalVer `elem` vers) - -ghcVersion :: Options -> IO Version -ghcVersion opts@Options {..} = do - parseVer . trim <$> readProcess' opts oGhcProgram ["--numeric-version"] "" - -ghcPkgVersion :: Options -> IO Version -ghcPkgVersion opts@Options {..} = do - parseVer . trim . dropWhile (not . isDigit) <$> readProcess' opts oGhcPkgProgram ["--version"] "" - -newtype CabalInstallVersion = CabalInstallVersion { cabalInstallVer :: Version } -cabalInstallVersion :: Options -> IO CabalInstallVersion -cabalInstallVersion opts@Options {..} = do - CabalInstallVersion . parseVer . trim - <$> readProcess' opts oCabalProgram ["--numeric-version"] "" - -createPkgDb :: Options -> CabalVersion -> IO PackageDbDir -createPkgDb opts@Options {..} cabalVer = do - db@(PackageDbDir db_path) <- getPrivateCabalPkgDb opts cabalVer - exists <- doesDirectoryExist db_path - when (not exists) $ callProcessStderr opts Nothing oGhcPkgProgram ["init", db_path] - return db - -getPrivateCabalPkgDb :: Options -> CabalVersion -> IO PackageDbDir -getPrivateCabalPkgDb opts cabalVer = do - appdir <- appCacheDir - ghcVer <- ghcVersion opts - let db_path = appdir exeName cabalVer - ++ "-ghc" ++ showVersion ghcVer - ++ ".package-db" - return $ PackageDbDir db_path - --- "Cabal" ++ ver ++ "-ghc" ++ showVersion ghcVer - --- | Find @version: XXX@ delcaration in a cabal file -cabalFileVersion :: String -> Version -cabalFileVersion = parseVer . cabalFileTopField "version" - --- | Find @build-type: XXX@ delcaration in a cabal file -cabalFileBuildType :: String -> String -cabalFileBuildType = cabalFileTopField "build-type" - -cabalFileTopField :: String -> String -> String -cabalFileTopField field cabalFile = value - where - Just value = extract <$> find ((field++":") `isPrefixOf`) ls - ls = map (map toLower) $ lines cabalFile - extract = dropWhile (/=':') >>> drop 1 >>> dropWhile isSpace >>> takeWhile (not . isSpace) diff --git a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Data.hs b/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Data.hs deleted file mode 100644 index 80df962..0000000 --- a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Data.hs +++ /dev/null @@ -1,81 +0,0 @@ --- cabal-helper: Simple interface to Cabal's configuration state --- Copyright (C) 2015-2017 Daniel Gröber --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see . - -{-# LANGUAGE TemplateHaskell, ScopedTypeVariables #-} -{-# OPTIONS_GHC -fforce-recomp #-} - -{-| -Module : CabalHelper.Compiletime.Data -Description : Embeds source code for runtime component using TH -License : GPL-3 --} - -module CabalHelper.Compiletime.Data where - -import Control.Monad -import Control.Monad.IO.Class -import Data.Functor -import qualified Data.ByteString as BS -import qualified Data.ByteString.UTF8 as UTF8 -import Language.Haskell.TH -import System.Directory -import System.FilePath -import System.IO.Temp -import System.PosixCompat.Files -import System.PosixCompat.Time -import System.PosixCompat.Types -import Prelude - -import CabalHelper.Compiletime.Compat.Environment - -withSystemTempDirectoryEnv :: String -> (FilePath -> IO b) -> IO b -withSystemTempDirectoryEnv tpl f = do - m <- liftIO $ lookupEnv "CABAL_HELPER_KEEP_SOURCEDIR" - case m of - Nothing -> withSystemTempDirectory tpl f - Just _ -> do - tmpdir <- getCanonicalTemporaryDirectory - f =<< createTempDirectory tmpdir tpl - -createHelperSources :: FilePath -> IO () -createHelperSources dir = do - let chdir = dir "CabalHelper" - liftIO $ do - createDirectoryIfMissing True $ chdir "Runtime" - createDirectoryIfMissing True $ chdir "Shared" - - let modtime :: EpochTime - modtime = fromIntegral $ (read :: String -> Integer) - -- See https://reproducible-builds.org/specs/source-date-epoch/ - $(runIO $ do - msde :: Maybe Integer - <- fmap read <$> lookupEnv "SOURCE_DATE_EPOCH" - (current_time :: Integer) <- round . toRational <$> epochTime - return $ LitE . StringL $ show $ maybe current_time id msde) - - liftIO $ forM_ sourceFiles $ \(fn, src) -> do - let path = chdir fn - BS.writeFile path $ UTF8.fromString src - setFileTimes path modtime modtime - - -sourceFiles :: [(FilePath, String)] -sourceFiles = - [ ("Runtime/Main.hs", $(LitE . StringL <$> runIO (UTF8.toString <$> BS.readFile "src/CabalHelper/Runtime/Main.hs"))) - , ("Shared/Common.hs", $(LitE . StringL <$> runIO (UTF8.toString <$> BS.readFile "src/CabalHelper/Shared/Common.hs"))) - , ("Shared/Sandbox.hs", $(LitE . StringL <$> runIO (UTF8.toString <$> BS.readFile "src/CabalHelper/Shared/Sandbox.hs"))) - , ("Shared/InterfaceTypes.hs", $(LitE . StringL <$> runIO (UTF8.toString <$> BS.readFile "src/CabalHelper/Shared/InterfaceTypes.hs"))) - ] diff --git a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Log.hs b/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Log.hs deleted file mode 100644 index a329c54..0000000 --- a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Log.hs +++ /dev/null @@ -1,45 +0,0 @@ --- cabal-helper: Simple interface to Cabal's configuration state --- Copyright (C) 2017-2018 Daniel Gröber --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see . - -{-# LANGUAGE ScopedTypeVariables #-} - -{-| -Module : CabalHelper.Compiletime.Log -Description : Basic logging facilities -License : GPL-3 --} - -module CabalHelper.Compiletime.Log where - -import Control.Monad -import Control.Monad.IO.Class -import Control.Exception as E -import Data.String -import System.IO -import Prelude - -import CabalHelper.Compiletime.Types - -vLog :: MonadIO m => Options -> String -> m () -vLog Options { oVerbose = True } msg = - liftIO $ hPutStrLn stderr msg -vLog _ _ = return () - -logIOError :: Options -> String -> IO (Maybe a) -> IO (Maybe a) -logIOError opts label a = do - a `E.catch` \(ex :: IOError) -> do - vLog opts $ label ++ ": " ++ show ex - return Nothing diff --git a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Types.hs b/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Types.hs deleted file mode 100644 index 77c3255..0000000 --- a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Types.hs +++ /dev/null @@ -1,42 +0,0 @@ --- cabal-helper: Simple interface to Cabal's configuration state --- Copyright (C) 2015-2018 Daniel Gröber --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see . - -{-# LANGUAGE DeriveGeneric, DeriveDataTypeable, DefaultSignatures #-} - -{-| -Module : CabalHelper.Compiletime.Types -Description : Types used throughout -License : GPL-3 --} - -module CabalHelper.Compiletime.Types where - -import Data.Version - -data Options = Options { - oHelp :: Bool - , oVerbose :: Bool - , oGhcProgram :: FilePath - , oGhcPkgProgram :: FilePath - , oCabalProgram :: FilePath - , oCabalVersion :: Maybe Version - , oCabalPkgDb :: Maybe PackageDbDir -} - -newtype PackageDbDir = PackageDbDir { unPackageDbDir :: FilePath } - -defaultOptions :: Options -defaultOptions = Options False False "ghc" "ghc-pkg" "cabal" Nothing Nothing diff --git a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Wrapper.hs b/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Wrapper.hs deleted file mode 100644 index 461ef96..0000000 --- a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Wrapper.hs +++ /dev/null @@ -1,227 +0,0 @@ --- cabal-helper: Simple interface to Cabal's configuration state --- Copyright (C) 2015-2018 Daniel Gröber --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see . -{-# LANGUAGE RecordWildCards, NamedFieldPuns, FlexibleContexts, ViewPatterns #-} -module Main where - -import Cabal.Plan -import Control.Applicative -import Control.Monad -import Data.Char -import Data.List -import Data.Maybe -import Data.String -import Text.Printf -import Text.Show.Pretty -import System.Console.GetOpt -import System.Environment -import System.Directory -import System.FilePath -import System.Process -import System.Exit -import System.IO -import Prelude - -import qualified Data.Text as Text -import qualified Data.Map.Strict as Map - -import Distribution.System (buildPlatform) -import Distribution.Text (display) -import Distribution.Verbosity (silent, deafening) -import Distribution.Package (packageName, packageVersion) -import Distribution.Simple.GHC as GHC (configure) - -import Paths_cabal_helper (version) -import CabalHelper.Compiletime.Compat.ProgramDb - ( defaultProgramDb, programPath, lookupProgram, ghcProgram, ghcPkgProgram) -import CabalHelper.Compiletime.Compat.Version -import CabalHelper.Compiletime.Compile -import CabalHelper.Compiletime.Types -import CabalHelper.Shared.Common -import CabalHelper.Shared.InterfaceTypes - -usage :: IO () -usage = do - prog <- getProgName - hPutStr stderr $ "Usage: " ++ prog ++ " " ++ usageMsg - where - usageMsg = "\ -\( print-appcachedir\n\ -\| print-build-platform\n\ -\| [--verbose]\n\ -\ [--with-ghc=GHC_PATH]\n\ -\ [--with-ghc-pkg=GHC_PKG_PATH]\n\ -\ [--with-cabal=CABAL_PATH]\n\ -\ [--with-cabal-version=VERSION]\n\ -\ [--with-cabal-pkg-db=PKG_DB]\n\ -\ v1-style PROJ_DIR DIST_DIR \n\ -\ ( print-exe | package-id | [CABAL_HELPER_ARGS...] )\n\ -\ v2-style PROJ_DIR DIST_NEWSTYLE_DIR DIST_DIR\n\ -\ ( print-exe | package-id | [CABAL_HELPER_ARGS...] )\n\ -\)\n" - -globalArgSpec :: [OptDescr (Options -> Options)] -globalArgSpec = - [ option "h" ["help"] "Display help message" $ - NoArg $ \o -> o { oHelp = True } - , option "" ["verbose"] "Be more verbose" $ - NoArg $ \o -> o { oVerbose = True } - - , option "" ["with-ghc"] "GHC executable to use" $ - reqArg "PROG" $ \p o -> o { oGhcProgram = p } - - , option "" ["with-ghc-pkg"] "ghc-pkg executable to use (only needed when guessing from GHC path fails)" $ - reqArg "PROG" $ \p o -> o { oGhcPkgProgram = p } - - , option "" ["with-cabal"] "cabal-install executable to use" $ - reqArg "PROG" $ \p o -> o { oCabalProgram = p } - - , option "" ["with-cabal-version"] "Cabal library version to use" $ - reqArg "VERSION" $ \p o -> o { oCabalVersion = Just $ parseVer p } - - , option "" ["with-cabal-pkg-db"] "package database to look for Cabal library in" $ - reqArg "PKG_DB" $ \p o -> o { oCabalPkgDb = Just (PackageDbDir p) } - - ] - where - option :: [Char] -> [String] -> String -> ArgDescr a -> OptDescr a - option s l udsc dsc = Option s l dsc udsc - - reqArg :: String -> (String -> a) -> ArgDescr a - reqArg udsc dsc = ReqArg dsc udsc - -parseCommandArgs :: Options -> [String] -> (Options, [String]) -parseCommandArgs opts argv - = case getOpt RequireOrder globalArgSpec argv of - (o,r,[]) -> (foldr id opts o, r) - (_,_,errs) -> - panic $ "Parsing command options failed:\n" ++ concat errs - -guessProgramPaths :: Options -> IO Options -guessProgramPaths opts = do - let v | oVerbose opts = deafening - | otherwise = silent - - mGhcPath0 | same oGhcProgram opts dopts = Nothing - | otherwise = Just $ oGhcProgram opts - mGhcPkgPath0 | same oGhcPkgProgram opts dopts = Nothing - | otherwise = Just $ oGhcPkgProgram opts - - (_compiler, _mplatform, progdb) - <- GHC.configure - v - mGhcPath0 - mGhcPkgPath0 - defaultProgramDb - - let mghcPath1 = programPath <$> lookupProgram ghcProgram progdb - mghcPkgPath1 = programPath <$> lookupProgram ghcPkgProgram progdb - - return $ opts { oGhcProgram = fromMaybe (oGhcProgram opts) mghcPath1 - , oGhcPkgProgram = fromMaybe (oGhcProgram opts) mghcPkgPath1 - } - where - same f o o' = f o == f o' - dopts = defaultOptions - -overrideVerbosityEnvVar :: Options -> IO Options -overrideVerbosityEnvVar opts = do - x <- lookup "CABAL_HELPER_DEBUG" <$> getEnvironment - return $ case x of - Just _ -> opts { oVerbose = True } - Nothing -> opts - -main :: IO () -main = handlePanic $ do - (opts', args) <- parseCommandArgs defaultOptions <$> getArgs - opts <- overrideVerbosityEnvVar =<< guessProgramPaths opts' - case args of - _ | oHelp opts -> usage - [] -> usage - "help":[] -> usage - "version":[] -> putStrLn $ showVersion version - "print-appdatadir":[] -> putStrLn =<< appCacheDir - "print-appcachedir":[] -> putStrLn =<< appCacheDir - "print-build-platform":[] -> putStrLn $ display buildPlatform - - _:projdir:_distdir:"package-id":[] -> do - let v | oVerbose opts = deafening - | otherwise = silent - -- ghc-mod will catch multiple cabal files existing before we get here - [cfile] <- filter isCabalFile <$> getDirectoryContents projdir - gpd <- readPackageDescription v (projdir cfile) - putStrLn $ show $ - [Just $ ChResponseVersion (display (packageName gpd)) (toDataVersion $ packageVersion gpd)] - - "v2-style":projdir:distdir_newstyle:unitid':args' -> do - let unitid = UnitId $ Text.pack unitid' - let plan_path = distdir_newstyle "cache" "plan.json" - plan@PlanJson {pjCabalLibVersion=Ver (makeDataVersion -> pjCabalLibVersion) } - <- decodePlanJson plan_path - case oCabalVersion opts of - Just ver | pjCabalLibVersion /= ver -> let - sver = showVersion ver - spjVer = showVersion pjCabalLibVersion - in panic $ printf "\ -\Cabal version %s was requested but plan.json was written by version %s" sver spjVer - _ -> case Map.lookup unitid $ pjUnits plan of - Just u@Unit {uType} | uType /= UnitTypeLocal -> do - panic $ "\ -\UnitId '"++ unitid' ++"' points to non-local unit: " ++ ppShow u - Just Unit {uDistDir=Nothing} -> panic $ printf "\ -\plan.json doesn't contain 'dist-dir' for UnitId '"++ unitid' ++"'" - Just Unit {uType=UnitTypeLocal, uDistDir=Just distdir} -> - runHelper opts projdir (Just (plan, distdir_newstyle)) distdir pjCabalLibVersion args' - _ -> let - units = map (\(UnitId u) -> Text.unpack u) - $ Map.keys - $ Map.filter ((==UnitTypeLocal) . uType) - $ pjUnits plan - - units_list = unlines $ map (" "++) units - in - panic $ "\ -\UnitId '"++ unitid' ++"' not found in plan.json, available local units:\n" ++ units_list - - "v1-style":projdir:distdir:args' -> do - cfgf <- canonicalizePath (distdir "setup-config") - mhdr <- getCabalConfigHeader cfgf - case (mhdr, oCabalVersion opts) of - (Nothing, _) -> panic $ printf "\ -\Could not read Cabal's persistent setup configuration header\n\ -\- Check first line of: %s\n\ -\- Maybe try: $ cabal configure" cfgf - (Just (hdrCabalVersion, _), Just ver) - | hdrCabalVersion /= ver -> panic $ printf "\ -\Cabal version %s was requested but setup configuration was\n\ -\written by version %s" (showVersion ver) (showVersion hdrCabalVersion) - (Just (hdrCabalVersion, _), _) -> - runHelper opts projdir Nothing distdir hdrCabalVersion args' - _ -> do - hPutStrLn stderr "Invalid command line!" - usage - exitWith $ ExitFailure 1 - -runHelper :: Options -> FilePath -> Maybe (PlanJson, FilePath) -> FilePath -> DataVersion -> [String] -> IO () -runHelper opts projdir mnewstyle distdir cabal_ver args' = do - eexe <- compileHelper opts cabal_ver projdir mnewstyle distdir - case eexe of - Left e -> exitWith e - Right exe -> do - case args' of - "print-exe":_ -> putStrLn exe - _ -> do - (_,_,_,h) <- createProcess $ proc exe $ projdir : distdir : args' - exitWith =<< waitForProcess h diff --git a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Runtime/Main.hs b/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Runtime/Main.hs deleted file mode 100644 index 78260f8..0000000 --- a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Runtime/Main.hs +++ /dev/null @@ -1,841 +0,0 @@ --- cabal-helper: Simple interface to Cabal's configuration state --- Copyright (C) 2015-2018 Daniel Gröber --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see . - -{-# LANGUAGE CPP, BangPatterns, RecordWildCards, RankNTypes, ViewPatterns #-} - -#ifdef MIN_VERSION_Cabal -#undef CH_MIN_VERSION_Cabal -#define CH_MIN_VERSION_Cabal MIN_VERSION_Cabal -#endif - -import Distribution.Simple.Utils (cabalVersion) -import Distribution.Simple.Configure -import Distribution.Package - ( PackageIdentifier - , InstalledPackageId - , PackageId - , packageName - , packageVersion - ) -import Distribution.PackageDescription - ( PackageDescription - , GenericPackageDescription(..) - , Flag(..) - , FlagName(..) - , FlagAssignment - , Executable(..) - , Library(..) - , TestSuite(..) - , Benchmark(..) - , BuildInfo(..) - , TestSuiteInterface(..) - , BenchmarkInterface(..) - , withLib - ) -import Distribution.PackageDescription.Configuration - ( flattenPackageDescription - ) -import Distribution.Simple.Program - ( requireProgram - , ghcProgram - ) -import Distribution.Simple.Program.Types - ( ConfiguredProgram(..) - ) -import Distribution.Simple.Configure - ( getPersistBuildConfig - ) -import Distribution.Simple.LocalBuildInfo - ( LocalBuildInfo(..) - , Component(..) - , ComponentName(..) - , ComponentLocalBuildInfo(..) - , componentBuildInfo - , externalPackageDeps - , withComponentsLBI - , withLibLBI - , withExeLBI - ) -import Distribution.Simple.GHC - ( componentGhcOptions - ) -import Distribution.Simple.Program.GHC - ( GhcOptions(..) - , renderGhcOptions - ) -import Distribution.Simple.Setup - ( ConfigFlags(..) - , Flag(..) - , fromFlagOrDefault - ) -import Distribution.Simple.Build - ( initialBuildSteps - ) -import Distribution.Simple.BuildPaths - ( autogenModuleName - , cppHeaderName - ) -import Distribution.Simple.Compiler - ( PackageDB(..) - , compilerId - ) -import Distribution.Compiler - ( CompilerId(..) - ) -import Distribution.ModuleName - ( components - ) -import qualified Distribution.ModuleName as C - ( ModuleName - ) -import Distribution.Text - ( display - ) -import Distribution.Verbosity - ( Verbosity - , silent - , deafening - , normal - ) -import Distribution.Version - ( Version - ) - -#if CH_MIN_VERSION_Cabal(1,22,0) --- CPP >= 1.22 -import Distribution.Utils.NubList -#endif - -#if CH_MIN_VERSION_Cabal(1,23,0) --- >= 1.23 -import Distribution.Simple.LocalBuildInfo - ( localUnitId - ) -#else --- <= 1.22 -import Distribution.Simple.LocalBuildInfo - ( inplacePackageId - ) -#endif - -#if CH_MIN_VERSION_Cabal(1,25,0) --- >=1.25 -import Distribution.PackageDescription - ( unFlagName - -- , mkFlagName - ) -import Distribution.Types.ForeignLib - ( ForeignLib(..) - ) -import Distribution.Types.UnqualComponentName - ( unUnqualComponentName - ) -#endif - -#if CH_MIN_VERSION_Cabal(2,0,0) --- CPP >= 2.0 -import Distribution.Simple.LocalBuildInfo - ( allLibModules - , componentBuildDir - ) -import Distribution.Simple.Register - ( internalPackageDBPath - ) -import Distribution.Backpack - ( OpenUnitId(..), - OpenModule(..) - ) -import Distribution.ModuleName - ( ModuleName - ) -import Distribution.Types.ComponentId - ( unComponentId - ) -import Distribution.Types.ComponentLocalBuildInfo - ( maybeComponentInstantiatedWith - ) -import Distribution.Types.ModuleRenaming - ( ModuleRenaming(..), - isDefaultRenaming - ) -import Distribution.Types.MungedPackageId - ( MungedPackageId - ) -import Distribution.Types.UnitId - ( UnitId - , unDefUnitId - , unUnitId - ) -import Distribution.Types.UnitId - ( DefUnitId - ) -import Distribution.Utils.NubList - ( toNubListR - ) -import Distribution.Version - ( versionNumbers - , mkVersion - ) -import qualified Distribution.InstalledPackageInfo as Installed -#endif - -#if CH_MIN_VERSION_Cabal(2,2,0) -import Distribution.Types.GenericPackageDescription - ( unFlagAssignment - ) -#endif - -import Control.Applicative ((<$>)) -import Control.Arrow (first, second, (&&&)) -import Control.Monad -import Control.Exception (catch, PatternMatchFail(..)) -import Data.List -import qualified Data.Map as Map -import Data.Maybe -import Data.Monoid -import Data.IORef -import qualified Data.Version as DataVersion -import System.Environment -import System.Directory -import System.FilePath -import System.Exit -import System.IO -import System.IO.Unsafe (unsafeInterleaveIO, unsafePerformIO) -import Text.Printf - -import CabalHelper.Shared.Sandbox -import CabalHelper.Shared.Common -import CabalHelper.Shared.InterfaceTypes - -usage :: IO () -usage = do - prog <- getProgName - hPutStr stderr $ "Usage: " ++ prog ++ " " ++ usageMsg - where - usageMsg = "" - ++"PROJ_DIR DIST_DIR [--with-* ...] (\n" - ++" version\n" - ++" | print-lbi [--human]\n" - ++" | package-id\n" - ++" | flags\n" - ++" | config-flags\n" - ++" | non-default-config-flags\n" - ++" | write-autogen-files\n" - ++" | compiler-version\n" - ++" | ghc-options [--with-inplace]\n" - ++" | ghc-src-options [--with-inplace]\n" - ++" | ghc-pkg-options [--with-inplace]\n" - ++" | ghc-merged-pkg-options [--with-inplace]\n" - ++" | ghc-lang-options [--with-inplace]\n" - ++" | package-db-stack\n" - ++" | entrypoints\n" - ++" | needs-build-output\n" - ++" | source-dirs\n" - ++" ) ...\n" - -commands :: [String] -commands = [ "print-lbi" - , "package-id" - , "flags" - , "config-flags" - , "non-default-config-flags" - , "write-autogen-files" - , "compiler-version" - , "ghc-options" - , "ghc-src-options" - , "ghc-pkg-options" - , "ghc-lang-options" - , "package-db-stack" - , "entrypoints" - , "needs-build-output" - , "source-dirs" - ] - -main :: IO () -main = do - args <- getArgs - - projdir:distdir:args' <- case args of - [] -> usage >> exitFailure - _ -> return args - - ddexists <- doesDirectoryExist distdir - when (not ddexists) $ do - errMsg $ "distdir '"++distdir++"' does not exist" - exitFailure - - [cfile] <- filter isCabalFile <$> getDirectoryContents projdir - - v <- maybe silent (const deafening) . lookup "CABAL_HELPER_DEBUG" <$> getEnvironment - lbi <- unsafeInterleaveIO $ getPersistBuildConfig distdir - gpd <- unsafeInterleaveIO $ readPackageDescription v (projdir cfile) - let pd = localPkgDescr lbi - let lvd = (lbi, v, distdir) - - let - -- a =<< b $$ c == (a =<< b) $$ c - infixr 2 $$ - ($$) = ($) - - collectCmdOptions :: [String] -> [[String]] - collectCmdOptions = - reverse . map reverse . foldl f [] . dropWhile isOpt - where - isOpt = ("--" `isPrefixOf`) - f [] x = [[x]] - f (a:as) x - | isOpt x = (x:a):as - | otherwise = [x]:(a:as) - - let cmds = collectCmdOptions args' - - if any (["version"] `isPrefixOf`) cmds - then do - putStrLn $ - printf "using version %s of the Cabal library" (display cabalVersion) - exitSuccess - else return () - - print =<< flip mapM cmds $$ \x -> do - case x of - "flags":[] -> do - return $ Just $ ChResponseFlags $ sort $ - map (flagName' &&& flagDefault) $ genPackageFlags gpd - - "config-flags":[] -> do - return $ Just $ ChResponseFlags $ sort $ - map (first unFlagName) -#if CH_MIN_VERSION_Cabal(2,2,0) - $ unFlagAssignment $ configConfigurationsFlags -#else - $ configConfigurationsFlags -#endif - $ configFlags lbi - - "non-default-config-flags":[] -> do - let flagDefinitons = genPackageFlags gpd - flagAssgnments = -#if CH_MIN_VERSION_Cabal(2,2,0) - unFlagAssignment $ configConfigurationsFlags -#else - configConfigurationsFlags -#endif - $ configFlags lbi - nonDefaultFlags = - [ (flag_name, val) - | MkFlag {flagName=(unFlagName -> flag_name'), flagDefault=def_val} <- flagDefinitons - , (unFlagName -> flag_name, val) <- flagAssgnments - , flag_name == flag_name' - , val /= def_val - ] - return $ Just $ ChResponseFlags $ sort nonDefaultFlags - - "write-autogen-files":[] -> do - initialBuildStepsForAllComponents distdir pd lbi v - return Nothing - - "compiler-version":[] -> do - let CompilerId comp ver = compilerId $ compiler lbi - return $ Just $ ChResponseVersion (show comp) (toDataVersion ver) - - "ghc-options":flags -> do - res <- componentOptions lvd True flags id - return $ Just $ ChResponseCompList (res ++ [(ChSetupHsName, [])]) - - "ghc-src-options":flags -> do - res <- componentOptions lvd False flags $ \opts -> mempty { - -- Not really needed but "unexpected package db stack: []" - ghcOptPackageDBs = [GlobalPackageDB, UserPackageDB], - - ghcOptCppOptions = ghcOptCppOptions opts, - ghcOptCppIncludePath = ghcOptCppIncludePath opts, - ghcOptCppIncludes = ghcOptCppIncludes opts, - ghcOptFfiIncludes = ghcOptFfiIncludes opts, - ghcOptSourcePathClear = ghcOptSourcePathClear opts, - ghcOptSourcePath = ghcOptSourcePath opts - } - return $ Just $ ChResponseCompList (res ++ [(ChSetupHsName, [])]) - - "ghc-pkg-options":flags -> do - res <- componentOptions lvd True flags $ \opts -> mempty { - ghcOptPackageDBs = ghcOptPackageDBs opts, - ghcOptPackages = ghcOptPackages opts, - ghcOptHideAllPackages = ghcOptHideAllPackages opts - } - return $ Just $ ChResponseCompList (res ++ [(ChSetupHsName, [])]) - - "ghc-merged-pkg-options":flags -> do - res <- mconcat . map snd <$> (componentOptions' lvd True flags (\_ _ o -> return o) $ \opts -> mempty { - ghcOptPackageDBs = [], - ghcOptHideAllPackages = NoFlag, - ghcOptPackages = ghcOptPackages opts - }) - - let res' = nubPackageFlags $ res { ghcOptPackageDBs = withPackageDB lbi - , ghcOptHideAllPackages = Flag True - } - - Just . ChResponseList <$> renderGhcOptions' lbi v res' - - "ghc-lang-options":flags -> do - res <- componentOptions lvd False flags $ \opts -> mempty { - ghcOptPackageDBs = [GlobalPackageDB, UserPackageDB], - - ghcOptLanguage = ghcOptLanguage opts, - ghcOptExtensions = ghcOptExtensions opts, - ghcOptExtensionMap = ghcOptExtensionMap opts - } - return $ Just $ ChResponseCompList (res ++ [(ChSetupHsName, [])]) - - "package-db-stack":[] -> do - let - pkgDb GlobalPackageDB = ChPkgGlobal - pkgDb UserPackageDB = ChPkgUser - pkgDb (SpecificPackageDB s) = ChPkgSpecific s - - -- TODO: Setup.hs has access to the sandbox as well: ghc-mod#478 - return $ Just $ ChResponsePkgDbs $ map pkgDb $ withPackageDB lbi - - "entrypoints":[] -> do -#if CH_MIN_VERSION_Cabal(2,0,0) - includeDirMap <- recursiveDepInfo lbi v distdir - eps <- componentsMap lbi v distdir $ \c clbi _bi -> do - case needsBuildOutput includeDirMap (componentUnitId clbi) of - ProduceBuildOutput -> return $ componentEntrypoints c - NoBuildOutput -> return seps - where (_,_,seps) = recursiveIncludeDirs includeDirMap (componentUnitId clbi) -#else - eps <- componentsMap lbi v distdir $ \c _clbi _bi -> - return $ componentEntrypoints c -#endif - -- MUST append Setup component at the end otherwise CabalHelper gets - -- confused - let eps' = eps ++ [(ChSetupHsName, ChSetupEntrypoint)] - return $ Just $ ChResponseEntrypoints eps' - - "needs-build-output":[] -> do -#if CH_MIN_VERSION_Cabal(2,0,0) - includeDirMap <- recursiveDepInfo lbi v distdir - nbs <- componentsMap lbi v distdir $ \c clbi _bi -> - return $ needsBuildOutput includeDirMap (componentUnitId clbi) -#else - nbs <- componentsMap lbi v distdir $ \c _clbi _bi -> - return $ NoBuildOutput -#endif - return $ Just $ ChResponseNeedsBuild nbs - - "source-dirs":[] -> do - res <- componentsMap lbi v distdir $$ \_ _ bi -> return $ hsSourceDirs bi - return $ Just $ ChResponseCompList (res ++ [(ChSetupHsName, [])]) - - "print-lbi":flags -> - case flags of - ["--human"] -> print lbi >> return Nothing - [] -> return $ Just $ ChResponseLbi $ show lbi - - cmd:_ | not (cmd `elem` commands) -> - errMsg ("Unknown command: " ++ cmd) >> usage >> exitFailure - _ -> - errMsg "Invalid usage!" >> usage >> exitFailure - -flagName' = unFlagName . flagName - --- getLibrary :: PackageDescription -> Library --- getLibrary pd = unsafePerformIO $ do --- lr <- newIORef (error "libraryMap: empty IORef") --- withLib pd (writeIORef lr) --- readIORef lr - -getLibraryClbi pd lbi = unsafePerformIO $ do - lr <- newIORef Nothing - - withLibLBI pd lbi $ \ lib clbi -> - writeIORef lr $ Just (lib,clbi) - - readIORef lr - - -getExeClbi pd lbi = unsafePerformIO $ do - lr <- newIORef Nothing - - withExeLBI pd lbi $ \ exe clbi -> - writeIORef lr $ Just (exe,clbi) - - readIORef lr - - -componentsMap :: LocalBuildInfo - -> Verbosity - -> FilePath - -> ( Component - -> ComponentLocalBuildInfo - -> BuildInfo - -> IO a) - -> IO [(ChComponentName, a)] -componentsMap lbi _v _distdir f = do - let pd = localPkgDescr lbi - - lr <- newIORef [] - - -- withComponentsLBI is deprecated but also exists in very old versions - -- it's equivalent to withAllComponentsInBuildOrder in newer versions - withComponentsLBI pd lbi $ \c clbi -> do - let bi = componentBuildInfo c - name = componentNameFromComponent c - - l' <- readIORef lr - r <- f c clbi bi -#if CH_MIN_VERSION_Cabal(2,0,0) - writeIORef lr $ (componentNameToCh (unUnitId $ componentUnitId clbi) name, r):l' -#else - writeIORef lr $ (componentNameToCh "" name, r):l' -#endif - - reverse <$> readIORef lr - -componentOptions' (lbi, v, distdir) inplaceFlag flags rf f = do - let pd = localPkgDescr lbi -#if CH_MIN_VERSION_Cabal(2,0,0) - includeDirMap <- recursiveDepInfo lbi v distdir -#endif - - componentsMap lbi v distdir $ \c clbi bi -> - let - outdir = componentOutDir lbi c - (clbi', adopts) = case flags of - _ | not inplaceFlag -> (clbi, mempty) - ["--with-inplace"] -> (clbi, mempty) -#if CH_MIN_VERSION_Cabal(2,0,0) - [] -> removeInplaceDeps v lbi pd clbi includeDirMap -#else - [] -> removeInplaceDeps v lbi pd clbi -#endif - opts = componentGhcOptions normal lbi bi clbi' outdir - opts' = f opts - - in rf lbi v $ nubPackageFlags $ opts' `mappend` adopts - -componentOptions (lbi, v, distdir) inplaceFlag flags f = - componentOptions' (lbi, v, distdir) inplaceFlag flags renderGhcOptions' f - -gmModuleName :: C.ModuleName -> ChModuleName -gmModuleName = ChModuleName . intercalate "." . components - -#if CH_MIN_VERSION_Cabal(2,0,0) -removeInplaceDeps :: Verbosity - -> LocalBuildInfo - -> PackageDescription - -> ComponentLocalBuildInfo - -> Map.Map UnitId SubDeps - -> (ComponentLocalBuildInfo, GhcOptions) -removeInplaceDeps _v lbi pd clbi includeDirs = let - removeInplace c = - let - (ideps, incs) = partition (isInplaceCompInc c) (componentIncludes c) - hasIdeps' = not $ null ideps - c' = c { componentPackageDeps = error "using deprecated field:componentPackageDeps" - , componentInternalDeps = [] - , componentIncludes = incs } - in (hasIdeps',c') - - needsBuild = needsBuildOutput includeDirs (componentUnitId clbi) - - cleanRecursiveOpts :: Component - -> BuildInfo -> ComponentLocalBuildInfo -> GhcOptions - cleanRecursiveOpts comp libbi libclbi = - let - liboutdir = componentOutDir lbi comp - (_,libclbi') = removeInplace libclbi - (extraIncludes,extraDeps',_ems) = recursiveIncludeDirs includeDirs (componentUnitId libclbi) - (_,extraDeps) = partition (isInplaceCompInc libclbi) extraDeps' - opts = (componentGhcOptions normal lbi libbi libclbi' liboutdir) { - ghcOptPackageDBs = [] - } - - in - opts { ghcOptSourcePath = ghcOptSourcePath opts <> toNubListR extraIncludes - , ghcOptPackages = ghcOptPackages opts <> toNubListR extraDeps } - - libopts = - case (getLibraryClbi pd lbi,getExeClbi pd lbi) of - (Just (lib, libclbi),_) | hasIdeps -> - let - libbi = libBuildInfo lib - opts = cleanRecursiveOpts (CLib lib) libbi libclbi - in - opts { ghcOptInputModules = ghcOptInputModules opts <> (toNubListR $ allLibModules lib libclbi) } - (_,Just (exe,execlbi)) | hasIdeps -> - let - exebi = buildInfo exe - in - cleanRecursiveOpts (CExe exe) exebi execlbi - _ -> mempty - - distDir = fromFlagOrDefault ("." "dist") (configDistPref $ configFlags lbi) - packageDbDir = internalPackageDBPath lbi distDir - (hasIdeps,clbi') = case needsBuild of - NoBuildOutput -> removeInplace clbi - ProduceBuildOutput -> (False, clbi) - libopts' = case needsBuild of - NoBuildOutput -> libopts - ProduceBuildOutput -> mempty { ghcOptPackageDBs = [SpecificPackageDB packageDbDir] } - in (clbi', libopts') -#else -removeInplaceDeps :: Verbosity - -> LocalBuildInfo - -> PackageDescription - -> ComponentLocalBuildInfo - -> (ComponentLocalBuildInfo, GhcOptions) -removeInplaceDeps _v lbi pd clbi = let - (ideps, deps) = partition (isInplaceDep lbi) (componentPackageDeps clbi) - hasIdeps = not $ null ideps - libopts = - case getLibraryClbi pd lbi of - Just (lib, libclbi) | hasIdeps -> - let - libbi = libBuildInfo lib - liboutdir = componentOutDir lbi (CLib lib) - in - (componentGhcOptions normal lbi libbi libclbi liboutdir) { - ghcOptPackageDBs = [] - } - _ -> mempty - clbi' = clbi { componentPackageDeps = deps } - in (clbi', libopts) -#endif - - -#if CH_MIN_VERSION_Cabal(2,0,0) -recursiveDepInfo lbi v distdir = do - includeDirs <- componentsMap lbi v distdir $ \c clbi bi -> do - return (componentUnitId clbi - , ( SubDeps - { sdComponentInternalDeps = componentInternalDeps clbi - , sdHsSourceDirs = hsSourceDirs bi - , sdComponentIncludes = componentIncludes clbi - , sdComponentEntryPoints = componentEntrypoints c}) ) - return $ Map.fromList $ map snd includeDirs - -data SubDeps = SubDeps - { sdComponentInternalDeps :: [UnitId] - , sdHsSourceDirs :: [FilePath] - , sdComponentIncludes :: [(OpenUnitId, ModuleRenaming)] - , sdComponentEntryPoints :: ChEntrypoint - } - -recursiveIncludeDirs :: Map.Map UnitId SubDeps - -> UnitId -> ([FilePath], [(OpenUnitId, ModuleRenaming)] - , ChEntrypoint) -recursiveIncludeDirs includeDirs unit = go ([],[],Nothing) [unit] - where - go (afp,aci,Nothing ) [] = (afp,aci,error "recursiveIncludeDirs:no ChEntrypoint") - go (afp,aci,Just amep) [] = (afp,aci,amep) - go acc@(afp,aci,amep) (u:us) = case Map.lookup u includeDirs of - Nothing -> go acc us - Just (SubDeps us' sfp sci sep) -> go (afp++sfp,aci++sci,Just (combineEp amep sep)) (us++us') - -needsBuildOutput :: Map.Map UnitId SubDeps -> UnitId -> NeedsBuildOutput -needsBuildOutput includeDirs unit = go [unit] - where - isIndef (IndefFullUnitId _ _) = True - isIndef _ = False - go [] = NoBuildOutput - go (u:us) = case Map.lookup u includeDirs of - Nothing -> go us - Just (SubDeps us' sfp sci sep) -> - if any (isIndef . fst) sci - then ProduceBuildOutput - else go (us++us') - --- | combineEP is used to combine the entrypoints when recursively chasing --- through the dependencies of a given entry point. The first parameter is the --- current accumulated value, and the second one is the current sub-dependency --- being considered. So the bias should be to preserve the type of entrypoint --- from the first parameter. -combineEp Nothing e = e -combineEp (Just ChSetupEntrypoint) e = e -combineEp (Just (ChLibEntrypoint es1 os1 ss1)) (ChLibEntrypoint es2 os2 ss2) = (ChLibEntrypoint (nub $ es2++es1) (nub $ os2++os1) (nub $ ss2++ss1)) -combineEp _ e@(ChExeEntrypoint mi os2) = error $ "combineEP: cannot have a sub exe:" ++ show e -combineEp (Just (ChExeEntrypoint mi os1)) (ChLibEntrypoint es2 os2 ss2) = (ChExeEntrypoint mi (nub $ os1++es2++os2++ss2)) - --- no, you unconditionally always wrap the result in Just, so instead of `f x = Just y; f x = Just z` do `f x = y; f x = z` and use f as `Just . f` - - - -instantiatedGhcPackage :: (ModuleName,OpenModule) -> [(OpenUnitId, ModuleRenaming)] -instantiatedGhcPackage (_,OpenModule oui@(DefiniteUnitId _) _) = [(oui,DefaultRenaming)] -instantiatedGhcPackage (_, _) = [] -#endif - -initialBuildStepsForAllComponents distdir pd lbi v = - initialBuildSteps distdir pd lbi v - - - - - - -#if !CH_MIN_VERSION_Cabal(1,25,0) --- CPP < 1.25 -unFlagName (FlagName n) = n --- mkFlagName n = FlagName n -#endif - -toDataVersion :: Version -> DataVersion.Version ---fromDataVersion :: DataVersion.Version -> Version -#if CH_MIN_VERSION_Cabal(2,0,0) -toDataVersion v = DataVersion.Version (versionNumbers v) [] ---fromDataVersion (DataVersion.Version vs _) = mkVersion vs -#else -toDataVersion = id ---fromDataVersion = id -#endif - -componentNameToCh _uid CLibName = ChLibName -#if CH_MIN_VERSION_Cabal(1,25,0) --- CPP >= 1.25 -#if CH_MIN_VERSION_Cabal(2,0,0) -componentNameToCh uid (CSubLibName n) = ChSubLibName uid -#else -componentNameToCh _uid (CSubLibName n) = ChSubLibName (unUnqualComponentName' n) -#endif -componentNameToCh uid (CFLibName n) = ChFLibName (unUnqualComponentName' n) -#endif -componentNameToCh _uid (CExeName n) = ChExeName (unUnqualComponentName' n) -componentNameToCh _uid (CTestName n) = ChTestName (unUnqualComponentName' n) -componentNameToCh _uid (CBenchName n) = ChBenchName (unUnqualComponentName' n) - -#if CH_MIN_VERSION_Cabal(1,25,0) --- CPP >= 1.25 -unUnqualComponentName' = unUnqualComponentName -#else -unUnqualComponentName' = id -#endif - -#if !CH_MIN_VERSION_Cabal(1,25,0) --- CPP < 1.25 -componentNameFromComponent (CLib Library {}) = CLibName -#elif CH_MIN_VERSION_Cabal(1,25,0) --- CPP >= 1.25 (redundant) -componentNameFromComponent (CLib Library { libName = Nothing }) = CLibName -componentNameFromComponent (CLib Library { libName = Just n }) = CSubLibName n -componentNameFromComponent (CFLib ForeignLib {..}) = CFLibName foreignLibName -#endif -componentNameFromComponent (CExe Executable {..}) = CExeName exeName -componentNameFromComponent (CTest TestSuite {..}) = CTestName testName -componentNameFromComponent (CBench Benchmark {..}) = CBenchName benchmarkName - -componentOutDir lbi (CLib Library {..})= - buildDir lbi -#if CH_MIN_VERSION_Cabal(2,0,0) -componentOutDir lbi (CFLib ForeignLib {..}) = - componentOutDir' lbi (unUnqualComponentName foreignLibName) -#endif -componentOutDir lbi (CExe Executable {..}) = - componentOutDir' lbi (unUnqualComponentName' exeName) -componentOutDir lbi (CTest TestSuite { testInterface = TestSuiteExeV10 _ _, ..}) = - componentOutDir' lbi (unUnqualComponentName' testName) -componentOutDir lbi (CTest TestSuite { testInterface = TestSuiteLibV09 _ _, ..}) = - componentOutDir' lbi (unUnqualComponentName' testName ++ "Stub") -componentOutDir lbi (CBench Benchmark { benchmarkInterface = BenchmarkExeV10 _ _, ..})= - componentOutDir' lbi (unUnqualComponentName' benchmarkName) - -componentOutDir' :: LocalBuildInfo -> String -> FilePath -componentOutDir' lbi compName' = - ----- Copied from Distribution/Simple/GHC.hs:buildOrReplExe - let targetDir = (buildDir lbi) compName' - compDir = targetDir (compName' ++ "-tmp") - in compDir - -componentEntrypoints :: Component -> ChEntrypoint -componentEntrypoints (CLib Library {..}) - = ChLibEntrypoint - (map gmModuleName exposedModules) - (map gmModuleName $ otherModules libBuildInfo) -#if CH_MIN_VERSION_Cabal(2,0,0) - (map gmModuleName signatures) -#else - [] -- no signatures prior to Cabal 2.0 -#endif -#if CH_MIN_VERSION_Cabal(2,0,0) -componentEntrypoints (CFLib (ForeignLib{..})) - = ChLibEntrypoint - [] - (map gmModuleName $ otherModules foreignLibBuildInfo) - [] -#endif -componentEntrypoints (CExe Executable {..}) - = ChExeEntrypoint - modulePath - (map gmModuleName $ otherModules buildInfo) -componentEntrypoints (CTest TestSuite { testInterface = TestSuiteExeV10 _ fp, ..}) - = ChExeEntrypoint fp (map gmModuleName $ otherModules testBuildInfo) -componentEntrypoints (CTest TestSuite { testInterface = TestSuiteLibV09 _ mn, ..}) - = ChLibEntrypoint [gmModuleName mn] (map gmModuleName $ otherModules testBuildInfo) [] -componentEntrypoints (CTest TestSuite {}) - = ChLibEntrypoint [] [] [] -componentEntrypoints (CBench Benchmark { benchmarkInterface = BenchmarkExeV10 _ fp, ..}) - = ChExeEntrypoint fp (map gmModuleName $ otherModules benchmarkBuildInfo) -componentEntrypoints (CBench Benchmark {}) - = ChLibEntrypoint [] [] [] - -#if CH_MIN_VERSION_Cabal(2,0,0) -isInplaceCompInc :: ComponentLocalBuildInfo -> (OpenUnitId, ModuleRenaming) -> Bool -isInplaceCompInc clbi (DefiniteUnitId uid, _mr) = unDefUnitId uid `elem` componentInternalDeps clbi -isInplaceCompInc clbi (IndefFullUnitId uid _, _mmr) = False -#endif - -#if CH_MIN_VERSION_Cabal(2,0,0) -isInplaceDep :: LocalBuildInfo -> ComponentLocalBuildInfo -> (UnitId, MungedPackageId) -> Bool -isInplaceDep lbi clbi (uid, _mpid) = uid `elem` componentInternalDeps clbi -#else -isInplaceDep :: LocalBuildInfo -> (InstalledPackageId, PackageId) -> Bool -# if CH_MIN_VERSION_Cabal(1,23,0) --- CPP >= 1.23 -isInplaceDep lbi (ipid, _pid) = localUnitId lbi == ipid -# else --- CPP <= 1.22 -isInplaceDep _lbi (ipid, pid) = inplacePackageId pid == ipid -# endif -#endif - -#if CH_MIN_VERSION_Cabal(1,22,0) --- CPP >= 1.22 --- >= 1.22 uses NubListR -nubPackageFlags opts = opts -#else -nubPackageFlags opts = opts { ghcOptPackages = nub $ ghcOptPackages opts } -#endif - -renderGhcOptions' :: LocalBuildInfo - -> Verbosity - -> GhcOptions - -> IO [String] -#if !CH_MIN_VERSION_Cabal(1,20,0) -renderGhcOptions' lbi v opts = do --- CPP < 1.20 - (ghcProg, _) <- requireProgram v ghcProgram (withPrograms lbi) - let Just ghcVer = programVersion ghcProg - return $ renderGhcOptions ghcVer opts -#elif CH_MIN_VERSION_Cabal(1,20,0) && !CH_MIN_VERSION_Cabal(1,24,0) -renderGhcOptions' lbi _v opts = do --- CPP >= 1.20 && < 1.24 - return $ renderGhcOptions (compiler lbi) opts -#else -renderGhcOptions' lbi _v opts = do --- CPP >= 1.24 - return $ renderGhcOptions (compiler lbi) (hostPlatform lbi) opts -#endif diff --git a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Shared/Common.hs b/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Shared/Common.hs deleted file mode 100644 index a7e7377..0000000 --- a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Shared/Common.hs +++ /dev/null @@ -1,150 +0,0 @@ --- cabal-helper: Simple interface to Cabal's configuration state --- Copyright (C) 2015-2018 Daniel Gröber --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see . - -{-| -Module : CabalHelper.Shared.Common -Description : Shared utility functions -License : GPL-3 --} - -{-# LANGUAGE CPP, DeriveDataTypeable, OverloadedStrings #-} -module CabalHelper.Shared.Common where - -#ifdef MIN_VERSION_Cabal -#undef CH_MIN_VERSION_Cabal -#define CH_MIN_VERSION_Cabal MIN_VERSION_Cabal -#endif - -import Control.Applicative -import Control.Exception as E -import Control.Monad -import Data.Char -import Data.List -import Data.Maybe -import Data.Version -import Data.Typeable -import Data.ByteString (ByteString) -import qualified Data.ByteString as BS -import qualified Data.ByteString.Char8 as BS8 -#if CH_MIN_VERSION_Cabal(2,2,0) -import qualified Distribution.PackageDescription.Parsec as P -#else -import qualified Distribution.PackageDescription.Parse as P -#endif -import System.Environment -import System.IO -import qualified System.Info -import System.Exit -import System.Directory -import System.FilePath -import Text.ParserCombinators.ReadP -import Prelude - -data Panic = Panic String deriving (Typeable, Show) -instance Exception Panic - -panic :: String -> a -panic msg = throw $ Panic msg - -panicIO :: String -> IO a -panicIO msg = throwIO $ Panic msg - -handlePanic :: IO a -> IO a -handlePanic action = - action `E.catch` \(Panic msg) -> errMsg msg >> exitFailure - -errMsg :: String -> IO () -errMsg str = do - prog <- getProgName - hPutStrLn stderr $ prog ++ ": " ++ str - --- | @getCabalConfigHeader "dist/setup-config"@ returns the cabal version and --- compiler version -getCabalConfigHeader :: FilePath -> IO (Maybe (Version, (ByteString, Version))) -getCabalConfigHeader file = bracket (openFile file ReadMode) hClose $ \h -> do - parseHeader <$> BS.hGetLine h - -parseHeader :: ByteString -> Maybe (Version, (ByteString, Version)) -parseHeader header = case BS8.words header of - ["Saved", "package", "config", "for", _pkgId , - "written", "by", cabalId, - "using", compId] - -> liftM2 (,) (snd <$> parsePkgId cabalId) (parsePkgId compId) - _ -> Nothing - -parsePkgId :: ByteString -> Maybe (ByteString, Version) -parsePkgId bs = - case BS8.split '-' bs of - [pkg, vers] -> Just (pkg, parseVer $ BS8.unpack vers) - _ -> Nothing - -parseVer :: String -> Version -parseVer vers = runReadP parseVersion vers - -trim :: String -> String -trim = dropWhileEnd isSpace - -majorVer :: Version -> Version -majorVer (Version b _) = Version (take 2 b) [] - -sameMajorVersionAs :: Version -> Version -> Bool -sameMajorVersionAs a b = majorVer a == majorVer b - -runReadP :: ReadP t -> String -> t -runReadP p i = case filter ((=="") . snd) $ readP_to_S p i of - (a,""):[] -> a - _ -> error $ "Error parsing: " ++ show i - -appCacheDir :: IO FilePath -appCacheDir = - ( "cabal-helper") <$> getEnvDefault "XDG_CACHE_HOME" (homeRel cache) - where - -- for GHC 7.4 - lookupEnv' var = do env <- getEnvironment; return (lookup var env) - getEnvDefault var def = lookupEnv' var >>= \m -> case m of Nothing -> def; Just x -> return x - homeRel path = ( path) <$> getHomeDirectory - cache = - case System.Info.os of - "mingw32" -> windowsCache - _ -> unixCache - - windowsCache = "Local Settings" "Cache" - unixCache = ".cache" - -isCabalFile :: FilePath -> Bool -isCabalFile f = takeExtension' f == ".cabal" - -takeExtension' :: FilePath -> String -takeExtension' p = - if takeFileName p == takeExtension p - then "" -- just ".cabal" is not a valid cabal file - else takeExtension p - -replace :: String -> String -> String -> String -replace n r hs' = go "" hs' - where - go acc h - | take (length n) h == n = - reverse acc ++ r ++ drop (length n) h - go acc (h:hs) = go (h:acc) hs - go acc [] = reverse acc - - -#if CH_MIN_VERSION_Cabal(2,2,0) -readPackageDescription = P.readGenericPackageDescription -#else -readPackageDescription = P.readPackageDescription -#endif diff --git a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Shared/InterfaceTypes.hs b/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Shared/InterfaceTypes.hs deleted file mode 100644 index a108c72..0000000 --- a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Shared/InterfaceTypes.hs +++ /dev/null @@ -1,81 +0,0 @@ --- cabal-helper: Simple interface to Cabal's configuration state --- Copyright (C) 2015-2018 Daniel Gröber --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see . - -{-# LANGUAGE DeriveGeneric, DeriveDataTypeable, DefaultSignatures #-} - -{-| -Module : CabalHelper.Shared.InterfaceTypes -Description : Types which are used by c-h library and executable to communicate -License : GPL-3 - -These types are used to communicate between the cabal-helper library and main -executable, using Show/Read. If any types in this module change the major -version must be bumped since this will be exposed in the @Distribution.Helper@ -module. - -The cached executables in @$XDG_CACHE_HOME/cabal-helper@ use the cabal-helper -version (among other things) as a cache key so we don't need to worry about -talking to an old executable. --} -module CabalHelper.Shared.InterfaceTypes where - -import GHC.Generics -import Data.Version - -data ChResponse - = ChResponseCompList [(ChComponentName, [String])] - | ChResponseEntrypoints [(ChComponentName, ChEntrypoint)] - | ChResponseNeedsBuild [(ChComponentName, NeedsBuildOutput)] - | ChResponseList [String] - | ChResponsePkgDbs [ChPkgDb] - | ChResponseLbi String - | ChResponseVersion String Version - | ChResponseLicenses [(String, [(String, Version)])] - | ChResponseFlags [(String, Bool)] - deriving (Eq, Ord, Read, Show, Generic) - -data ChComponentName = ChSetupHsName - | ChLibName - | ChSubLibName String - | ChFLibName String - | ChExeName String - | ChTestName String - | ChBenchName String - deriving (Eq, Ord, Read, Show, Generic) - -newtype ChModuleName = ChModuleName String - deriving (Eq, Ord, Read, Show, Generic) - -data ChEntrypoint = ChSetupEntrypoint -- ^ Almost like 'ChExeEntrypoint' but - -- @main-is@ could either be @"Setup.hs"@ - -- or @"Setup.lhs"@. Since we don't know - -- where the source directory is you have - -- to find these files. - | ChLibEntrypoint { chExposedModules :: [ChModuleName] - , chOtherModules :: [ChModuleName] - , chSignatures :: [ChModuleName] -- backpack only - } - | ChExeEntrypoint { chMainIs :: FilePath - , chOtherModules :: [ChModuleName] - } deriving (Eq, Ord, Read, Show, Generic) - -data ChPkgDb = ChPkgGlobal - | ChPkgUser - | ChPkgSpecific FilePath - deriving (Eq, Ord, Read, Show, Generic) - -data NeedsBuildOutput = ProduceBuildOutput | NoBuildOutput - deriving (Eq, Ord, Read, Show, Generic) diff --git a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Shared/Sandbox.hs b/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Shared/Sandbox.hs deleted file mode 100644 index 2f3774f..0000000 --- a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Shared/Sandbox.hs +++ /dev/null @@ -1,78 +0,0 @@ --- cabal-helper: Simple interface to Cabal's configuration state --- Copyright (C) 2015-2017 Daniel Gröber --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see . - -{-| -Module : CabalHelper.Shared.Sandbox -Description : Extracting information from @cabal.sandbox.config@ files -License : GPL-3 --} - -module CabalHelper.Shared.Sandbox where - -import Control.Applicative -import Data.Char -import Data.Maybe -import Data.List -import Data.Version -import System.FilePath -import System.Directory -import Prelude - -import qualified Data.Traversable as T - --- | Get the path to the sandbox package-db in a project -getSandboxPkgDb :: FilePath - -- ^ Path to the cabal package root directory (containing the - -- @cabal.sandbox.config@ file) - -> String - -- ^ Cabal build platform, i.e. @buildPlatform@ - -> Version - -- ^ GHC version (@cProjectVersion@ is your friend) - -> IO (Maybe FilePath) -getSandboxPkgDb d platform ghcVer = do - mConf <- T.traverse readFile =<< mightExist (d "cabal.sandbox.config") - return $ fixPkgDbVer <$> (extractSandboxDbDir =<< mConf) - - where - fixPkgDbVer dir = - case takeFileName dir == ghcSandboxPkgDbDir platform ghcVer of - True -> dir - False -> takeDirectory dir ghcSandboxPkgDbDir platform ghcVer - -ghcSandboxPkgDbDir :: String -> Version -> String -ghcSandboxPkgDbDir platform ghcVer = - platform ++ "-ghc-" ++ showVersion ghcVer ++ "-packages.conf.d" - --- | Extract the sandbox package db directory from the cabal.sandbox.config --- file. Exception is thrown if the sandbox config file is broken. -extractSandboxDbDir :: String -> Maybe FilePath -extractSandboxDbDir conf = extractValue <$> parse conf - where - key = "package-db:" - keyLen = length key - - parse = listToMaybe . filter (key `isPrefixOf`) . lines - extractValue = CabalHelper.Shared.Sandbox.dropWhileEnd isSpace . dropWhile isSpace . drop keyLen - - -mightExist :: FilePath -> IO (Maybe FilePath) -mightExist f = do - exists <- doesFileExist f - return $ if exists then (Just f) else (Nothing) - --- dropWhileEnd is not provided prior to base 4.5.0.0. -dropWhileEnd :: (a -> Bool) -> [a] -> [a] -dropWhileEnd p = foldr (\x xs -> if p x && null xs then [] else x : xs) [] diff --git a/vendor/cabal-helper-0.8.1.2/tests/CompileTest.hs b/vendor/cabal-helper-0.8.1.2/tests/CompileTest.hs deleted file mode 100644 index 4c1f752..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/CompileTest.hs +++ /dev/null @@ -1,195 +0,0 @@ -{-# LANGUAGE ScopedTypeVariables, GADTs #-} - -import System.Environment (getArgs) -import System.Directory -import System.FilePath -import System.Process -import System.Exit -import System.IO -import Control.Exception as E -import Data.List -import Data.Maybe -import Data.Version -import Data.Functor -import Data.Function -import qualified Distribution.Compat.ReadP as Dist -import Distribution.Version (VersionRange, withinRange) -import Distribution.Text -import Control.Arrow -import Control.Monad -import Prelude - -import CabalHelper.Compiletime.Compat.Environment -import CabalHelper.Compiletime.Compat.Version -import CabalHelper.Compiletime.Compile -import CabalHelper.Compiletime.Types -import CabalHelper.Shared.Common - -runReadP'Dist :: Dist.ReadP t t -> String -> t -runReadP'Dist p i = case filter ((=="") . snd) $ Dist.readP_to_S p i of - (a,""):[] -> a - _ -> error $ "Error parsing: " ++ show i - -withinRange'CH :: Version -> VersionRange -> Bool -withinRange'CH v r = - withinRange (fromDataVersion v) r - -setupHOME :: IO () -setupHOME = do - tmp <- fromMaybe "/tmp" <$> lookupEnv "TMPDIR" - let home = tmp "compile-test-home" - _ <- rawSystem "rm" ["-r", home] - createDirectory home - setEnv "HOME" home - -main :: IO () -main = do - args <- getArgs - case args of - "list-versions":[] -> do - mapM_ print =<< (allCabalVersions <$> ghcVersion defaultOptions) - "list-versions":ghc_ver_str:[] -> - mapM_ print $ allCabalVersions (parseVer ghc_ver_str) - _ -> - test args - -test args = do - let action - | null args = testAllCabalVersions - | otherwise = testCabalVersions $ map parseVer' args - - setupHOME - - _ <- rawSystem "cabal" ["update"] - - action - -parseVer' :: String -> Either HEAD Version -parseVer' "HEAD" = Left HEAD -parseVer' v = Right $ parseVer v - -allCabalVersions :: Version -> [Version] -allCabalVersions ghc_ver = let - cabal_versions :: [Version] - cabal_versions = map parseVer - -- "1.14.0" -- not supported at runtime - [ "1.16.0" - , "1.16.0.1" - , "1.16.0.2" - , "1.16.0.3" - , "1.18.0" - , "1.18.1" - , "1.18.1.1" - , "1.18.1.2" - , "1.18.1.3" - , "1.18.1.4" - , "1.18.1.5" - , "1.18.1.6" - , "1.18.1.7" - , "1.20.0.0" - , "1.20.0.1" - , "1.20.0.2" - , "1.20.0.3" - , "1.20.0.4" - , "1.22.0.0" - , "1.22.1.0" - , "1.22.1.1" - , "1.22.2.0" - , "1.22.3.0" - , "1.22.4.0" - , "1.22.5.0" - , "1.22.6.0" - , "1.22.7.0" - , "1.22.8.0" - , "1.24.0.0" - , "1.24.1.0" - , "1.24.2.0" - , "2.0.0.2" - , "2.0.1.0" - , "2.0.1.1" - , "2.2.0.0" - , "2.2.0.1" - ] - - constraint :: VersionRange - constraint = - fromMaybe (snd $ last constraint_table) $ - fmap snd $ - find (and . (zipWith (==) `on` versionBranch) ghc_ver . fst) $ - constraint_table - - constraint_table = - map (parseVer *** runReadP'Dist parse) $ - [ ("7.4" , ">= 1.14 && < 2") - , ("7.6" , ">= 1.16 && < 2") - , ("7.8" , ">= 1.18 && < 2") - , ("7.10" , ">= 1.22.2 && < 2") - , ("8.0.1", ">= 1.24 ") - , ("8.0.2", ">= 1.24.2 ") - , ("8.2.1", ">= 2.0.0.2 ") - , ("8.2.2", ">= 2.0.0.2 ") - , ("8.4.1", ">= 2.0.0.2 ") - , ("8.4.2", ">= 2.2.0.1 ") - ] - in - reverse $ filter (flip withinRange'CH constraint) cabal_versions - - -testAllCabalVersions :: IO () -testAllCabalVersions = do - ghc_ver <- ghcVersion defaultOptions - let relevant_cabal_versions = allCabalVersions ghc_ver - testCabalVersions $ map Right relevant_cabal_versions ++ [Left HEAD] - -testCabalVersions :: [Either HEAD Version] -> IO () -testCabalVersions versions = do - rvs <- forM versions $ \ver -> do - let sver = either show showVersion ver - hPutStrLn stderr $ "\n\n\n\n\n\n====== Compiling with Cabal-" ++ sver - compilePrivatePkgDb ver - - let printStatus (cv, rv) = putStrLn $ "- Cabal "++ver++" "++status - where ver = case cv of Left _ -> "HEAD"; Right v -> showVersion v - status = case rv of - Right _ -> - "succeeded" - Left rvc -> - "failed (exit code "++show rvc++")" - - let drvs = versions `zip` rvs - - mapM_ printStatus drvs - if any isLeft' $ map snd $ filter ((/=Left HEAD) . fst) drvs - then exitFailure - else exitSuccess - - where - isLeft' (Left _) = True - isLeft' (Right _) = False - -compilePrivatePkgDb :: Either HEAD Version -> IO (Either ExitCode FilePath) -compilePrivatePkgDb eCabalVer = do - res <- E.try $ installCabal defaultOptions { oVerbose = True } eCabalVer - case res of - Right (db, cabalVer) -> - compileWithPkg db cabalVer - Left (ioe :: IOException) -> do - print ioe - return $ Left (ExitFailure 1) - -compileWithPkg :: PackageDbDir - -> CabalVersion - -> IO (Either ExitCode FilePath) -compileWithPkg db cabalVer = do - appdir <- appCacheDir - let comp = - CompileWithCabalPackage (Just db) cabalVer [cabalPkgId cabalVer] CPSGlobal - compile - comp - (compPaths appdir (error "compile-test: distdir not available") comp) - defaultOptions { oVerbose = True } - - -cabalPkgId :: CabalVersion -> String -cabalPkgId (CabalHEAD _commitid) = "Cabal" -cabalPkgId (CabalVersion v) = "Cabal-" ++ showVersion v diff --git a/vendor/cabal-helper-0.8.1.2/tests/GhcSession.hs b/vendor/cabal-helper-0.8.1.2/tests/GhcSession.hs deleted file mode 100644 index 6e71075..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/GhcSession.hs +++ /dev/null @@ -1,182 +0,0 @@ -{-# LANGUAGE TupleSections, ScopedTypeVariables #-} -module Main where - -import GHC -import GHC.Paths (libdir) -import DynFlags - -import qualified Control.Exception as E -import Control.Monad -import Control.Monad.IO.Class -import Data.List -import Data.Version -import System.Environment (getArgs) -import System.Exit -import System.FilePath (()) -import System.Directory -import System.IO -import System.IO.Temp -import System.Process (rawSystem, readProcess) - -import Distribution.Helper - -import CabalHelper.Shared.Common - - -main :: IO () -main = do - args <- getArgs - topdir <- getCurrentDirectory - res <- mapM (setup topdir test) $ case args of - [] -> [ ("tests/exelib" , parseVer "1.10", parseVer "0") - , ("tests/exeintlib", parseVer "2.0", parseVer "0") - , ("tests/fliblib" , parseVer "2.0", parseVer "0") - , ("tests/bkpregex" , parseVer "2.0", parseVer "8.1") - -- min Cabal lib ver -^ min GHC ver -^ - ] - xs -> map (, parseVer "0", parseVer "0") xs - - if any (==False) $ concat res - then exitFailure - else exitSuccess - -cabalInstallVersion :: IO Version -cabalInstallVersion = - parseVer . trim <$> readProcess "cabal" ["--numeric-version"] "" - -ghcVersion :: IO Version -ghcVersion = - parseVer . trim <$> readProcess "ghc" ["--numeric-version"] "" - -cabalInstallBuiltinCabalVersion :: IO Version -cabalInstallBuiltinCabalVersion = - parseVer . trim <$> readProcess "cabal" - ["act-as-setup", "--", "--numeric-version"] "" - -setup :: FilePath -> (FilePath -> IO [Bool]) -> (FilePath, Version, Version) -> IO [Bool] -setup topdir act (srcdir, min_cabal_ver, min_ghc_ver) = do - ci_ver <- cabalInstallVersion - c_ver <- cabalInstallBuiltinCabalVersion - g_ver <- ghcVersion - let mreason - | (ci_ver < parseVer "1.24") = - Just $ "cabal-install-" ++ showVersion ci_ver ++ " is too old" - | c_ver < min_cabal_ver = - Just $ "Cabal-" ++ showVersion c_ver - ++ " < " ++ showVersion min_cabal_ver - | g_ver < min_ghc_ver = - Just $ "ghc-" ++ showVersion g_ver - ++ " < " ++ showVersion min_ghc_ver - | otherwise = - Nothing - - case mreason of - Just reason -> do - putStrLn $ "Skipping test '" ++ srcdir ++ "' because " ++ reason ++ "." - return [] - Nothing -> do - putStrLn $ "Running test '" ++ srcdir ++ "' ------------------------------" - withSystemTempDirectory "cabal-helper.ghc-session.test" $ \dir -> do - setCurrentDirectory $ topdir srcdir - run "cabal" [ "sdist", "--output-dir", dir ] - - setCurrentDirectory dir - run "cabal" [ "configure" ] - - act dir - -run :: String -> [String] -> IO () -run x xs = do - print $ x:xs - ExitSuccess <- rawSystem x xs - return () - -test :: FilePath -> IO [Bool] -test dir = do - let qe = mkQueryEnv dir (dir "dist") - cs <- runQuery qe $ components $ (,,,) <$> entrypoints <.> ghcOptions <.> needsBuildOutput - forM cs $ \(ep, opts, nb, cn) -> do - - putStrLn $ "\n" ++ show cn ++ ":::: " ++ show nb - - when (nb == ProduceBuildOutput) $ do - run "cabal" [ "build" ] - - let opts' = "-Werror" : opts - - let sopts = intercalate " " $ map formatArg $ "\nghc" : opts' - putStrLn $ "\n" ++ show cn ++ ": " ++ sopts - hFlush stdout - compileModule nb ep opts' - where - formatArg x - | "-" `isPrefixOf` x = "\n "++x - | otherwise = x - - -compileModule :: NeedsBuildOutput -> ChEntrypoint -> [String] -> IO Bool -compileModule nb ep opts = do - - putStrLn $ "compiling:" ++ show ep ++ " (" ++ show nb ++ ")" - - E.handle (\(ec :: ExitCode) -> print ec >> return False) $ do - - defaultErrorHandler defaultFatalMessager defaultFlushOut $ do - - runGhc (Just libdir) $ do - - handleSourceError (\e -> GHC.printException e >> return False) $ do - - let target = case nb of - ProduceBuildOutput -> HscNothing -- AZ: what should this be? - NoBuildOutput -> HscInterpreted - - dflags0 <- getSessionDynFlags - let dflags1 = dflags0 { - ghcMode = CompManager - , ghcLink = LinkInMemory - , hscTarget = target - , optLevel = 0 - } - - (dflags2, _, _) <- parseDynamicFlags dflags1 (map noLoc opts) - _ <- setSessionDynFlags dflags2 - - ts <- mapM (\t -> guessTarget t Nothing) $ - case ep of - ChLibEntrypoint ms ms' ss -> map unChModuleName $ ms ++ ms' ++ ss - ChExeEntrypoint m' ms -> - let - - -- The options first clear out includes, then put in the build dir. We want the - -- first one after that, so "regex-example" in the following case - -- - -- ,"-i" - -- ,"-idist/build/regex-example" - -- ,"-iregex-example" - firstInclude = drop 2 $ head $ drop 2 $ filter (isPrefixOf "-i") opts - m = firstInclude m' - in [m] ++ map unChModuleName ms - ChSetupEntrypoint -> ["Setup.hs"] - - let ts' = case nb of - NoBuildOutput -> map (\t -> t { targetAllowObjCode = False }) ts - ProduceBuildOutput -> ts - - setTargets ts' - _ <- load LoadAllTargets - - when (nb == NoBuildOutput) $ do - setContext $ case ep of - ChLibEntrypoint ms ms' ss -> - map (IIModule . mkModuleName . unChModuleName) $ ms ++ ms' ++ ss - ChExeEntrypoint _ ms -> - map (IIModule . mkModuleName . unChModuleName) $ ChModuleName "Main" : ms - ChSetupEntrypoint -> - map (IIModule . mkModuleName) ["Main"] - - liftIO $ print ExitSuccess - return True - -unChModuleName :: ChModuleName -> String -unChModuleName (ChModuleName mn) = mn diff --git a/vendor/cabal-helper-0.8.1.2/tests/bkpregex/Setup.hs b/vendor/cabal-helper-0.8.1.2/tests/bkpregex/Setup.hs deleted file mode 100644 index 9a994af..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/bkpregex/Setup.hs +++ /dev/null @@ -1,2 +0,0 @@ -import Distribution.Simple -main = defaultMain diff --git a/vendor/cabal-helper-0.8.1.2/tests/bkpregex/bkpregex.cabal b/vendor/cabal-helper-0.8.1.2/tests/bkpregex/bkpregex.cabal deleted file mode 100644 index 5d8d813..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/bkpregex/bkpregex.cabal +++ /dev/null @@ -1,29 +0,0 @@ -name: bkpregex -version: 0.1.0.0 -build-type: Simple -cabal-version: 2.0 - -library str-impls - build-depends: base, bytestring - exposed-modules: Str.String, Str.ByteString - hs-source-dirs: str-impls - -library regex-types - build-depends: base - exposed-modules: Regex.Types - hs-source-dirs: regex-types - -library regex-indef - build-depends: base, regex-types - signatures: Str - exposed-modules: Regex - hs-source-dirs: regex-indef - -executable regex-example - main-is: Main.hs - build-depends: base, regex-indef, regex-types, str-impls - mixins: regex-indef (Regex as Regex.String) - requires (Str as Str.String), - regex-indef (Regex as Regex.ByteString) - requires (Str as Str.ByteString) - hs-source-dirs: regex-example diff --git a/vendor/cabal-helper-0.8.1.2/tests/bkpregex/regex-example/Main.hs b/vendor/cabal-helper-0.8.1.2/tests/bkpregex/regex-example/Main.hs deleted file mode 100644 index 76d2974..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/bkpregex/regex-example/Main.hs +++ /dev/null @@ -1,12 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} -module Main where - -import Regex.Types -import qualified Regex.String -import qualified Regex.ByteString - -nocs = Rep (Alt (Sym 'a') (Sym 'b')) -onec = Seq nocs (Sym 'c') -evencs = Seq (Rep (Seq onec onec)) nocs -main = print (Regex.String.accept evencs "acc") >> - print (Regex.ByteString.accept evencs "acc") diff --git a/vendor/cabal-helper-0.8.1.2/tests/bkpregex/regex-indef/Regex.hs b/vendor/cabal-helper-0.8.1.2/tests/bkpregex/regex-indef/Regex.hs deleted file mode 100644 index 506566b..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/bkpregex/regex-indef/Regex.hs +++ /dev/null @@ -1,14 +0,0 @@ -module Regex where - -import Prelude hiding (null) -import Str -import Regex.Types - -accept :: Reg -> Str -> Bool -accept Eps u = null u -accept (Sym c) u = u == singleton c -accept (Alt p q) u = accept p u || accept q u -accept (Seq p q) u = - or [accept p u1 && accept q u2 | (u1, u2) <- splits u] -accept (Rep r) u = - or [and [accept r ui | ui <- ps] | ps <- parts u] diff --git a/vendor/cabal-helper-0.8.1.2/tests/bkpregex/regex-indef/Str.hsig b/vendor/cabal-helper-0.8.1.2/tests/bkpregex/regex-indef/Str.hsig deleted file mode 100644 index 23bfb8c..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/bkpregex/regex-indef/Str.hsig +++ /dev/null @@ -1,9 +0,0 @@ -signature Str where - -data Str -instance Eq Str - -null :: Str -> Bool -singleton :: Char -> Str -splits :: Str -> [(Str, Str)] -parts :: Str -> [[Str]] diff --git a/vendor/cabal-helper-0.8.1.2/tests/bkpregex/regex-types/Regex/Types.hs b/vendor/cabal-helper-0.8.1.2/tests/bkpregex/regex-types/Regex/Types.hs deleted file mode 100644 index 2900749..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/bkpregex/regex-types/Regex/Types.hs +++ /dev/null @@ -1,7 +0,0 @@ -module Regex.Types where - -data Reg = Eps - | Sym Char - | Alt Reg Reg - | Seq Reg Reg - | Rep Reg diff --git a/vendor/cabal-helper-0.8.1.2/tests/bkpregex/str-impls/Str/ByteString.hs b/vendor/cabal-helper-0.8.1.2/tests/bkpregex/str-impls/Str/ByteString.hs deleted file mode 100644 index cd49fed..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/bkpregex/str-impls/Str/ByteString.hs +++ /dev/null @@ -1,17 +0,0 @@ -module Str.ByteString(module Data.ByteString.Char8, module Str.ByteString) where - -import Prelude hiding (length, null, splitAt) -import Data.ByteString.Char8 -import Data.ByteString - -type Str = ByteString - -splits :: Str -> [(Str, Str)] -splits s = fmap (\n -> splitAt n s) [0..length s] - -parts :: Str -> [[Str]] -parts s | null s = [[]] - | otherwise = do - n <- [1..length s] - let (l, r) = splitAt n s - fmap (l:) (parts r) diff --git a/vendor/cabal-helper-0.8.1.2/tests/bkpregex/str-impls/Str/String.hs b/vendor/cabal-helper-0.8.1.2/tests/bkpregex/str-impls/Str/String.hs deleted file mode 100644 index bba89de..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/bkpregex/str-impls/Str/String.hs +++ /dev/null @@ -1,21 +0,0 @@ -module Str.String where - -import Prelude hiding (null) -import qualified Prelude as P - -type Str = String - -null :: Str -> Bool -null = P.null - -singleton :: Char -> Str -singleton c = [c] - -splits :: Str -> [(Str, Str)] -splits [] = [([], [])] -splits (c:cs) = ([], c:cs):[(c:s1,s2) | (s1,s2) <- splits cs] - -parts :: Str -> [[Str]] -parts [] = [[]] -parts [c] = [[[c]]] -parts (c:cs) = concat [[(c:p):ps, [c]:p:ps] | p:ps <- parts cs] diff --git a/vendor/cabal-helper-0.8.1.2/tests/exeintlib/Exe.hs b/vendor/cabal-helper-0.8.1.2/tests/exeintlib/Exe.hs deleted file mode 100644 index 200915f..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/exeintlib/Exe.hs +++ /dev/null @@ -1,5 +0,0 @@ -module Main where - -import Lib - -main = print lib diff --git a/vendor/cabal-helper-0.8.1.2/tests/exeintlib/Setup.hs b/vendor/cabal-helper-0.8.1.2/tests/exeintlib/Setup.hs deleted file mode 100644 index 9a994af..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/exeintlib/Setup.hs +++ /dev/null @@ -1,2 +0,0 @@ -import Distribution.Simple -main = defaultMain diff --git a/vendor/cabal-helper-0.8.1.2/tests/exeintlib/exeintlib.cabal b/vendor/cabal-helper-0.8.1.2/tests/exeintlib/exeintlib.cabal deleted file mode 100644 index 7507152..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/exeintlib/exeintlib.cabal +++ /dev/null @@ -1,31 +0,0 @@ -name: exeintlib -version: 0 -build-type: Simple -cabal-version: >=2.0 - -library - exposed-modules: Lib - hs-source-dirs: lib - build-depends: base, filepath, intlib - default-language: Haskell2010 - -library intlib - exposed-modules: IntLib - hs-source-dirs: intlib - build-depends: base, directory - default-language: Haskell2010 - -executable exe - main-is: Exe.hs - build-depends: base, exeintlib - default-language: Haskell2010 - -test-suite exe-test - type: exitcode-stdio-1.0 - main-is: Exe.hs - build-depends: base, exeintlib - -benchmark exe-bench - type: exitcode-stdio-1.0 - main-is: Exe.hs - build-depends: base, exeintlib diff --git a/vendor/cabal-helper-0.8.1.2/tests/exeintlib/intlib/IntLib.hs b/vendor/cabal-helper-0.8.1.2/tests/exeintlib/intlib/IntLib.hs deleted file mode 100644 index 6dde9d0..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/exeintlib/intlib/IntLib.hs +++ /dev/null @@ -1,7 +0,0 @@ -module IntLib where - -import System.Directory - -directory = doesFileExist "Exe.hs" - -intlib = 1 diff --git a/vendor/cabal-helper-0.8.1.2/tests/exeintlib/lib/Lib.hs b/vendor/cabal-helper-0.8.1.2/tests/exeintlib/lib/Lib.hs deleted file mode 100644 index fe44c70..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/exeintlib/lib/Lib.hs +++ /dev/null @@ -1,8 +0,0 @@ -module Lib where - -import System.FilePath -import IntLib - -filepath = "a" "b" - -lib = 1 + intlib diff --git a/vendor/cabal-helper-0.8.1.2/tests/exelib/Exe.hs b/vendor/cabal-helper-0.8.1.2/tests/exelib/Exe.hs deleted file mode 100644 index 7655927..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/exelib/Exe.hs +++ /dev/null @@ -1,5 +0,0 @@ -module Main where - -import Lib - -main = print foo diff --git a/vendor/cabal-helper-0.8.1.2/tests/exelib/Setup.hs b/vendor/cabal-helper-0.8.1.2/tests/exelib/Setup.hs deleted file mode 100644 index 9a994af..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/exelib/Setup.hs +++ /dev/null @@ -1,2 +0,0 @@ -import Distribution.Simple -main = defaultMain diff --git a/vendor/cabal-helper-0.8.1.2/tests/exelib/exelib.cabal b/vendor/cabal-helper-0.8.1.2/tests/exelib/exelib.cabal deleted file mode 100644 index 2422998..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/exelib/exelib.cabal +++ /dev/null @@ -1,25 +0,0 @@ -name: exelib -version: 0 -build-type: Simple -cabal-version: >=1.10 - -library - exposed-modules: Lib - hs-source-dirs: lib - build-depends: base, filepath, directory - default-language: Haskell2010 - -executable exelib - main-is: Exe.hs - build-depends: base, exelib - default-language: Haskell2010 - -test-suite exe-test - type: exitcode-stdio-1.0 - main-is: Exe.hs - build-depends: base, exelib - -benchmark exe-bench - type: exitcode-stdio-1.0 - main-is: Exe.hs - build-depends: base, exelib diff --git a/vendor/cabal-helper-0.8.1.2/tests/exelib/lib/Lib.hs b/vendor/cabal-helper-0.8.1.2/tests/exelib/lib/Lib.hs deleted file mode 100644 index 417a0ad..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/exelib/lib/Lib.hs +++ /dev/null @@ -1,8 +0,0 @@ -module Lib where - -import System.Directory -import System.FilePath - -filepath = "a" "b" -directory = doesFileExist "Exe.hs" -foo = 1 diff --git a/vendor/cabal-helper-0.8.1.2/tests/fliblib/FLib.hs b/vendor/cabal-helper-0.8.1.2/tests/fliblib/FLib.hs deleted file mode 100644 index e6a9818..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/fliblib/FLib.hs +++ /dev/null @@ -1,5 +0,0 @@ -module FLib where - -import Lib - -flib = print foo diff --git a/vendor/cabal-helper-0.8.1.2/tests/fliblib/Setup.hs b/vendor/cabal-helper-0.8.1.2/tests/fliblib/Setup.hs deleted file mode 100644 index 9a994af..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/fliblib/Setup.hs +++ /dev/null @@ -1,2 +0,0 @@ -import Distribution.Simple -main = defaultMain diff --git a/vendor/cabal-helper-0.8.1.2/tests/fliblib/fliblib.cabal b/vendor/cabal-helper-0.8.1.2/tests/fliblib/fliblib.cabal deleted file mode 100644 index 4610605..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/fliblib/fliblib.cabal +++ /dev/null @@ -1,19 +0,0 @@ -name: fliblib -version: 0 -build-type: Simple -cabal-version: >=1.10 - -library - exposed-modules: Lib - hs-source-dirs: lib - build-depends: base, filepath, directory - default-language: Haskell2010 - -foreign-library flib - other-modules: FLib - build-depends: base, fliblib - hs-source-dirs: . - type: native-shared - if os(Windows) - options: standalone - default-language: Haskell2010 \ No newline at end of file diff --git a/vendor/cabal-helper-0.8.1.2/tests/fliblib/lib/Lib.hs b/vendor/cabal-helper-0.8.1.2/tests/fliblib/lib/Lib.hs deleted file mode 100644 index 417a0ad..0000000 --- a/vendor/cabal-helper-0.8.1.2/tests/fliblib/lib/Lib.hs +++ /dev/null @@ -1,8 +0,0 @@ -module Lib where - -import System.Directory -import System.FilePath - -filepath = "a" "b" -directory = doesFileExist "Exe.hs" -foo = 1 From b0b9571e8e4328744767693c387cc5be9e36fd53 Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Sat, 4 Oct 2025 17:28:16 +0800 Subject: [PATCH 02/22] handle Paths_haskell_code_explorer issue --- README.md | 2 +- app/Indexer.hs | 5 +- cabal.project | 6 +- haskell-code-explorer.cabal | 3 +- src/HaskellCodeExplorer/PackageInfo.hs | 76 ++++++++++++++------------ 5 files changed, 47 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index 66e8c76..a71445e 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ A package should be built using either cabal-install or stack before indexing (` The version of GHC used to build `haskell-code-indexer` must match the version of GHC used to build a package you are indexing (to find out the version of GHC try `ghc --version` or `stack exec ghc -- --version` command). -`haskell-code-indexer` requires globally installed GHC and cabal-install (`cabal`). The reason for this is that `haskell-code-indexer` uses `cabal-helper` library [https://hackage.haskell.org/package/cabal-helper](https://hackage.haskell.org/package/cabal-helper) to get package build information. `cabal-helper` builds (at runtime) an executable linked against a version of Cabal library that was used to configure the package. You may need to run `cabal update` to get the latest list of available packages to be able to build the `cabal-helper` executable. By default, the `cabal-helper` executable (e.g.,`cabal-helper0.8.1.2-Cabal2.4.1.0`) is saved to `$HOME/.cache/cabal-helper`. +`haskell-code-indexer` requires globally installed GHC and cabal-install (`cabal`). The reason for this is that `haskell-code-indexer` uses `cabal` library to get package build information. If there is no globally installed GHC on the system, then it is possible to use `stack exec` command ([https://docs.haskellstack.org/en/stable/GUIDE/#exec](https://docs.haskellstack.org/en/stable/GUIDE/#exec)) that adds a path to GHC binaries installed by Stack to `PATH` environment variable. diff --git a/app/Indexer.hs b/app/Indexer.hs index 8655856..63b0b32 100644 --- a/app/Indexer.hs +++ b/app/Indexer.hs @@ -42,7 +42,7 @@ import Options.Applicative , strOption , value ) --- import Paths_haskell_code_explorer as HSE (version) +import Paths_haskell_code_explorer as HSE (version) import System.Directory (createDirectoryIfMissing) import System.Exit (ExitCode(..), exitWith) import System.FilePath (()) @@ -57,9 +57,6 @@ import System.Log.FastLogger , rmLoggerSet ) -version :: Version -version = Version [0, 2, 0, 0] [T.unpack "Support GHC 9.10.2"] - data IndexerConfig = IndexerConfig { configPackageDirectoryPath :: FilePath , configPackageDistDirRelativePath :: Maybe FilePath diff --git a/cabal.project b/cabal.project index e6f5c39..585bf26 100644 --- a/cabal.project +++ b/cabal.project @@ -14,8 +14,4 @@ -- package * -- optimization: 2 -with-compiler: ghc-8.4.4 - -packages: . - vendor/cabal-helper-0.8.1.2 - +with-compiler: ghc-8.4.4 \ No newline at end of file diff --git a/haskell-code-explorer.cabal b/haskell-code-explorer.cabal index 40aa130..09f5385 100644 --- a/haskell-code-explorer.cabal +++ b/haskell-code-explorer.cabal @@ -55,7 +55,8 @@ library executable haskell-code-indexer main-is: Indexer.hs ghc-options: -Wall -rtsopts -O2 -funbox-strict-fields -package ghc - other-modules: Paths_haskell_code_explorer + other-modules: Paths_haskell_code_explorer + autogen-modules: Paths_haskell_code_explorer hs-source-dirs: app build-depends: IntervalMap , aeson diff --git a/src/HaskellCodeExplorer/PackageInfo.hs b/src/HaskellCodeExplorer/PackageInfo.hs index 8b2b92b..7ea1851 100644 --- a/src/HaskellCodeExplorer/PackageInfo.hs +++ b/src/HaskellCodeExplorer/PackageInfo.hs @@ -44,6 +44,7 @@ import qualified Data.Text as T import qualified Data.Text.Encoding as TE import Data.Version (Version(..), showVersion, makeVersion) import GHC.Driver.Phases (Phase) +import Data.Bool import GHC.Utils.Logger ( getLogger , LogFlags(..) @@ -53,7 +54,9 @@ import GHC.Utils.Error , MessageClass(..) ) import GHC.Types.SrcLoc (SrcSpan) import GHC.Utils.Outputable (SDoc, showSDocUnsafe) -import GHC.Unit.Module.Graph (ModuleGraphNode(..)) +import GHC.Unit.Module.Graph + ( ModuleGraphNode(..) + , mgModSummaries' ) import Data.Maybe (mapMaybe) import GHC.Unit.Types (UnitId) import GHC.Data.Graph.Directed (flattenSCCs) @@ -231,13 +234,13 @@ createPackageInfo packageDirectoryPath mbDistDirRelativePath sourceCodePreproces mkLib cid lib = let bi = libBuildInfo lib - srcDirs = hsDirs bi + srcDirs = collectHsDirs distDir bi exposeds = map Distribution.Pretty.prettyShow (exposedModules lib) others = map Distribution.Pretty.prettyShow (otherModules bi) sigs = map Distribution.Pretty.prettyShow (signatures lib) mods = exposeds ++ others ++ sigs in ( HCE.ComponentId (T.pack cid) - , ghcOptionsForBI packageDirectoryAbsPath bi + , ghcOptionsForBI packageDirectoryAbsPath distDir bi , (Nothing, mods) , srcDirs , HCE.Lib @@ -245,20 +248,20 @@ createPackageInfo packageDirectoryPath mbDistDirRelativePath sourceCodePreproces mkFLib cid fl = let bi = foreignLibBuildInfo fl - srcDirs = hsDirs bi + srcDirs = collectHsDirs distDir bi in ( HCE.ComponentId (T.pack cid) - , ghcOptionsForBI packageDirectoryAbsPath bi + , ghcOptionsForBI packageDirectoryAbsPath distDir bi , (Nothing, []) , srcDirs , HCE.FLib (T.pack (unUnqualComponentName (foreignLibName fl))) ) mkExe cid e = - let bi = buildInfo e - srcDirs = hsDirs bi + let bi = (buildInfo e) + srcDirs = collectHsDirs distDir bi mainFP = modulePath e in ( HCE.ComponentId (T.pack cid) - , ghcOptionsForBI packageDirectoryAbsPath bi + , ghcOptionsForBI packageDirectoryAbsPath distDir bi , (Just mainFP, []) , srcDirs , HCE.Exe (T.pack (unUnqualComponentName (exeName e))) @@ -268,9 +271,9 @@ createPackageInfo packageDirectoryPath mbDistDirRelativePath sourceCodePreproces case testInterface t of TestSuiteExeV10 _ mainFP -> let bi = testBuildInfo t - srcDirs = hsDirs bi + srcDirs = collectHsDirs distDir bi in ( HCE.ComponentId (T.pack cid) - , ghcOptionsForBI packageDirectoryAbsPath bi + , ghcOptionsForBI packageDirectoryAbsPath distDir bi , (Just mainFP, []) , srcDirs , HCE.Test (T.pack (unUnqualComponentName (testName t))) @@ -278,9 +281,9 @@ createPackageInfo packageDirectoryPath mbDistDirRelativePath sourceCodePreproces _ -> let bi = testBuildInfo t in ( HCE.ComponentId (T.pack cid) - , ghcOptionsForBI packageDirectoryAbsPath bi + , ghcOptionsForBI packageDirectoryAbsPath distDir bi , (Nothing, []) - , hsDirs bi + , collectHsDirs distDir bi , HCE.Test (T.pack (unUnqualComponentName (testName t))) ) @@ -288,9 +291,9 @@ createPackageInfo packageDirectoryPath mbDistDirRelativePath sourceCodePreproces case benchmarkInterface b of BenchmarkExeV10 _ mainFP -> let bi = benchmarkBuildInfo b - srcDirs = hsDirs bi + srcDirs = collectHsDirs distDir bi in ( HCE.ComponentId (T.pack cid) - , ghcOptionsForBI packageDirectoryAbsPath bi + , ghcOptionsForBI packageDirectoryAbsPath distDir bi , (Just mainFP, []) , srcDirs , HCE.Bench (T.pack (unUnqualComponentName (benchmarkName b))) @@ -298,9 +301,9 @@ createPackageInfo packageDirectoryPath mbDistDirRelativePath sourceCodePreproces _ -> let bi = benchmarkBuildInfo b in ( HCE.ComponentId (T.pack cid) - , ghcOptionsForBI packageDirectoryAbsPath bi + , ghcOptionsForBI packageDirectoryAbsPath distDir bi , (Nothing, []) - , hsDirs bi + , collectHsDirs distDir bi , HCE.Bench (T.pack (unUnqualComponentName (benchmarkName b))) ) @@ -360,8 +363,8 @@ createPackageInfo packageDirectoryPath mbDistDirRelativePath sourceCodePreproces , externalIdInfoMap = topLevelIdentifiersTrie } where - ghcOptionsForBI :: FilePath -> BuildInfo -> [String] - ghcOptionsForBI pkgDir bi = + ghcOptionsForBI :: FilePath -> FilePath -> BuildInfo -> [String] + ghcOptionsForBI pkgDir distDir bi = hcOptions GHC bi ++ langOpts ++ extOpts @@ -379,12 +382,15 @@ createPackageInfo packageDirectoryPath mbDistDirRelativePath sourceCodePreproces , cppOptions bi ] srcDirOpts = - concatMap (\d -> ["-i" <> absJoin d]) (hsDirs bi) + concatMap (\d -> ["-i" <> absJoin d]) (collectHsDirs distDir bi) absJoin d = if isAbsolute d then d else normalise (pkgDir d) - hsDirs :: BuildInfo -> [FilePath] - hsDirs bi = map getSymbolicPath (hsSourceDirs bi) + collectHsDirs :: FilePath -> BuildInfo -> [FilePath] + collectHsDirs distDir bi = + let sourceDirs = map getSymbolicPath (hsSourceDirs bi) + autogenDir = distDir <> "/build/autogen" + in sourceDirs <> [ autogenDir ] findSingleCabalFile :: FilePath -> IO FilePath findSingleCabalFile dir = do @@ -575,6 +581,7 @@ indexBuildComponent sourceCodePreprocessing currentPackageId componentId deps@(f liftIO $ print $ "----------------------------------------------------------------------------------------" liftIO $ print $ (T.append "Component id : " $ HCE.getComponentId componentId) liftIO $ print $ (T.append "Modules : " $ T.pack $ show modules) + liftIO $ print $ (T.append "srcDirs : " $ T.pack $ show srcDirs) liftIO $ print $ (T.append "GHC command line options : " $ T.pack $ L.unwords (options ++ modules)) @@ -583,7 +590,7 @@ indexBuildComponent sourceCodePreprocessing currentPackageId componentId deps@(f parseDynamicFlagsCmdLine flags (L.map noLoc . L.filter ("-Werror" /=) $ options) -- -Werror flag makes warnings fatal - -- flags'' <- liftIO $ initUnits flags' + env <- getSession -- :: Ghc HscEnv logFn <- askLoggerIO let logAction :: LogFlags -> MessageClass -> SrcSpan -> SDoc -> IO () logAction _ msgClass srcSpan msg = @@ -600,11 +607,11 @@ indexBuildComponent sourceCodePreprocessing currentPackageId componentId deps@(f Just buildDir -> Just $ buildDir (takeBaseName buildDir ++ "-tmp") Nothing -> Nothing - env <- getSession -- :: Ghc HscEnv - let oldLogger = hsc_logger env -- 提取当前 Logger + let oldLogger = hsc_logger env newLogger = pushLogHook (const logAction) oldLogger - env' = env { hsc_logger = newLogger } - setSession env' -- 把更新回写回当前会话 + _ <- liftIO $ initUnits newLogger flags' Nothing mempty + let env' = env { hsc_logger = newLogger } + setSession env' _ <- setSessionDynFlags $ L.foldl' @@ -616,9 +623,7 @@ indexBuildComponent sourceCodePreprocessing currentPackageId componentId deps@(f }) [Opt_Haddock] targets <- mapM (\m -> guessTarget m (Nothing :: Maybe UnitId) (Nothing :: Maybe Phase)) modules - liftIO $ print "begin target" - liftIO $ print $ showSDocUnsafe $ ppr targets - liftIO $ print "after target" + liftIO $ print $ "setTarget : " <> (showSDocUnsafe $ ppr targets) setTargets targets liftIO $ print "begin load LoadAllTargets" _ <- load LoadAllTargets @@ -697,9 +702,9 @@ indexBuildComponent sourceCodePreprocessing currentPackageId componentId deps@(f findHaskellModulePath :: FilePath -> [FilePath] -> ModSummary -> IO (Maybe HCE.HaskellModulePath) -findHaskellModulePath buildDir srcDirs modSum = +findHaskellModulePath buildDir srcDirs modSum = do case normalise <$> (ml_hs_file . ms_location $ modSum) of - Just modulePath -> + Just modulePath -> do let toHaskellModulePath = return . Just . HCE.HaskellModulePath . T.pack removeTmpDir path = case splitDirectories path of @@ -729,9 +734,12 @@ findHaskellModulePath buildDir srcDirs modSum = case mbFoundPath of Just p -> toHaskellModulePath p _ -> return Nothing - | otherwise -> return Nothing - Nothing -> toHaskellModulePath modulePath - Nothing -> return Nothing + | otherwise -> do + return Nothing + Nothing -> do + toHaskellModulePath modulePath + Nothing -> do + return Nothing indexModule :: HCE.SourceCodePreprocessing From 2e679e7eee53b9687b96484dad98640b6ac57e69 Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Sun, 5 Oct 2025 21:39:19 +0800 Subject: [PATCH 03/22] Correct log verbose --- .gitignore | 3 +++ src/HaskellCodeExplorer/PackageInfo.hs | 19 ++++++++++--------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index bfcc5df..d1d6c26 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,6 @@ stack*.yaml.lock .vscode .DS_Store + +*.dyn_hi +*.dyn_o \ No newline at end of file diff --git a/src/HaskellCodeExplorer/PackageInfo.hs b/src/HaskellCodeExplorer/PackageInfo.hs index 7ea1851..4786864 100644 --- a/src/HaskellCodeExplorer/PackageInfo.hs +++ b/src/HaskellCodeExplorer/PackageInfo.hs @@ -576,13 +576,14 @@ indexBuildComponent sourceCodePreprocessing currentPackageId componentId deps@(f , T.pack . show $ ex ] return ([], deps) + logDebugN $ T.pack $ "------------------------------------------------------------------------" + logDebugN $ T.pack $ "indexBuildComponent" ghandleSync onError $ runGhcT (Just libdir) $ do - liftIO $ print $ "----------------------------------------------------------------------------------------" - liftIO $ print $ (T.append "Component id : " $ HCE.getComponentId componentId) - liftIO $ print $ (T.append "Modules : " $ T.pack $ show modules) - liftIO $ print $ (T.append "srcDirs : " $ T.pack $ show srcDirs) - liftIO $ print $ + logDebugN $ (T.append "Component id : " $ HCE.getComponentId componentId) + logDebugN $ (T.append "Modules : " $ T.pack $ show modules) + logDebugN $ (T.append "srcDirs : " $ T.pack $ show srcDirs) + logDebugN $ (T.append "GHC command line options : " $ T.pack $ L.unwords (options ++ modules)) flags <- getSessionDynFlags @@ -623,11 +624,11 @@ indexBuildComponent sourceCodePreprocessing currentPackageId componentId deps@(f }) [Opt_Haddock] targets <- mapM (\m -> guessTarget m (Nothing :: Maybe UnitId) (Nothing :: Maybe Phase)) modules - liftIO $ print $ "setTarget : " <> (showSDocUnsafe $ ppr targets) + logDebugN $ T.pack $ "setTarget : " <> (showSDocUnsafe $ ppr targets) setTargets targets - liftIO $ print "begin load LoadAllTargets" + logDebugN "load LoadAllTargets" _ <- load LoadAllTargets - liftIO $ print "after load LoadAllTargets" + logDebugN "getModuleGraph" modGraph <- getModuleGraph let topSortNodes = flattenSCCs (topSortModuleGraph False modGraph Nothing) toModSummary :: ModuleGraphNode -> Maybe ModSummary @@ -752,7 +753,7 @@ indexModule :: , ModuleDependencies)) indexModule sourceCodePreprocessing componentId currentPackageId flags deps (modulePath, modSum) = gtrySync $ do - logDebugN (T.append "Indexing " $ HCE.getHaskellModulePath modulePath) + logInfoN (T.append "Indexing " $ HCE.getHaskellModulePath modulePath) parsedModule <- parseModule modSum typecheckedModule <- typecheckModule parsedModule -- If module has import error. here will throw exception hscEnv <- getSession From 9a5bd5d283854a9d65e46509d5a64671751f34f3 Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Mon, 6 Oct 2025 00:17:42 +0800 Subject: [PATCH 04/22] remove unused parameter --- .../AST/TypecheckedSource.hs | 16 +++++++-------- src/HaskellCodeExplorer/GhcUtils.hs | 20 +++++++++---------- src/HaskellCodeExplorer/ModuleInfo.hs | 4 ++-- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/HaskellCodeExplorer/AST/TypecheckedSource.hs b/src/HaskellCodeExplorer/AST/TypecheckedSource.hs index a5226fd..db25526 100644 --- a/src/HaskellCodeExplorer/AST/TypecheckedSource.hs +++ b/src/HaskellCodeExplorer/AST/TypecheckedSource.hs @@ -311,7 +311,7 @@ addExprInfo span mbType descr sort = do Composite -> let exprInfo = HCE.ExpressionInfo - {exprType = mkType flags <$> mbType, description = descr} + {exprType = mkType <$> mbType, description = descr} interval = IVM.OpenInterval (startLine, startCol) (endLine, endCol) exprInfoMap' = IVM.insert interval exprInfo exprInfoMap @@ -325,8 +325,8 @@ addExprInfo span mbType descr sort = do , instanceResolution = Nothing , idOccType = case mbHsWrapper of - Just w -> mkType flags <$> (applyWrapper w <$> mbType) - Nothing -> mkType flags <$> mbType + Just w -> mkType <$> (applyWrapper w <$> mbType) + Nothing -> mkType <$> mbType , typeArguments = Nothing , description = descr , sort = HCE.ValueId @@ -416,8 +416,8 @@ traceInstanceResolution environment c ts = go c ts S.empty predTypes in HCE.Instance (instanceToText flags inst) - (mkType flags . idType $ is_dfun inst) - (map (mkType flags) instTypes) + (mkType . idType $ is_dfun inst) + (map mkType instTypes) (nameLocationInfo (envUnitState environment) flags (envPackageId environment) (envComponentId environment) (envTransformation environment) @@ -461,7 +461,7 @@ mkIdentifierInfo environment identifier mbNameFromRenamedSource = , occName = HCE.OccName $ nameToText name , demangledOccName = demangleOccName name , nameSpace = nameSpace - , idType = mkType flags $ varType identifier + , idType = mkType $ varType identifier , locationInfo = locationInfo , details = mbIdDetails identifier , doc = @@ -530,8 +530,8 @@ mkIdentifierOccurrence environment identifier nameFromRenamedSource mbInstTypes (Just . HCE.InternalId . T.pack . show . getKey . nameUnique $ nameFromRenamedSource) isBinder mbInstanceResolution - (mkType flags . fst <$> mbInstTypes) - (map (mkType flags) . snd <$> mbInstTypes) + (mkType . fst <$> mbInstTypes) + (map mkType . snd <$> mbInstTypes) descr (if isId identifier then HCE.ValueId diff --git a/src/HaskellCodeExplorer/GhcUtils.hs b/src/HaskellCodeExplorer/GhcUtils.hs index 3d2c604..bda6f05 100644 --- a/src/HaskellCodeExplorer/GhcUtils.hs +++ b/src/HaskellCodeExplorer/GhcUtils.hs @@ -700,28 +700,28 @@ wrapperTypes (WpTyLam _) = [] wrapperTypes (WpTyApp t) = [t] wrapperTypes (WpLet _) = [] -mkType :: DynFlags -> Type -> HCE.Type -mkType flags typ = +mkType :: Type -> HCE.Type +mkType typ = let typeExpanded = expandTypeSynonyms typ - typeComponents = toTypeComponents flags typ - typeComponentsExpanded = toTypeComponents flags typeExpanded + typeComponents = toTypeComponents typ + typeComponentsExpanded = toTypeComponents typeExpanded in HCE.Type typeComponents (if typeComponents /= typeComponentsExpanded then Just typeComponentsExpanded else Nothing) -typeToText :: DynFlags -> Type -> T.Text -typeToText flags = T.pack . showSDocUnsafe . ppr . toIfaceType +typeToText :: Type -> T.Text +typeToText = T.pack . showSDocUnsafe . ppr . toIfaceType -toTypeComponents :: DynFlags -> Type -> [HCE.TypeComponent] -toTypeComponents flags typ = +toTypeComponents :: Type -> [HCE.TypeComponent] +toTypeComponents typ = let signature = - typeToText flags $ + typeToText $ updateOccNames (\_unique occName -> ";" ++ drop 2 occName ++ ";") typ -- Signature with OccNames and uniques signatureWithUniques = - typeToText flags $ + typeToText $ updateOccNames (\unique occName -> ";," ++ occName ++ "," ++ unique ++ ";") typ diff --git a/src/HaskellCodeExplorer/ModuleInfo.hs b/src/HaskellCodeExplorer/ModuleInfo.hs index 96ae883..48f95e7 100644 --- a/src/HaskellCodeExplorer/ModuleInfo.hs +++ b/src/HaskellCodeExplorer/ModuleInfo.hs @@ -543,7 +543,7 @@ createDeclarations flags hsGroup typeEnv exportedSet transformation = nameType :: Name -> Maybe HCE.Type nameType n = case lookupIdInTypeEnv typeEnv n of - Just i -> Just . mkType flags . varType $ i + Just i -> Just . mkType . varType $ i Nothing -> Nothing valToDeclarations :: LHsBindLR GhcRn GhcRn -> [HCE.Declaration] valToDeclarations (L locAnn bind) = @@ -784,7 +784,7 @@ addNameToMaps environment (idInfoMap, idOccMap) mbKind mbName descr lineNumber c HCE.InternalId . T.pack . show . getKey . nameUnique <$> mbName , isBinder = False , instanceResolution = Nothing - , idOccType = mkType flags <$> mbKind + , idOccType = mkType <$> mbKind , typeArguments = Nothing , description = descr , sort = From e820948498f59ba644a6885a497edd0048ebc9cb Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Wed, 8 Oct 2025 20:07:40 +0800 Subject: [PATCH 05/22] add GHC to vendor, for debugging --- .gitignore | 4 ++- .gitmodules | 3 +++ README.md | 13 +++++---- app/Indexer.hs | 1 + cabal.project | 6 ++++- haskell-code-explorer.cabal | 36 +++++++++++++------------ src/HaskellCodeExplorer/Preprocessor.hs | 1 + stack-9.10.2.yaml | 9 ++++--- stack.yaml | 9 ++++--- vendor/ghc | 1 + 10 files changed, 51 insertions(+), 32 deletions(-) create mode 100644 .gitmodules create mode 160000 vendor/ghc diff --git a/.gitignore b/.gitignore index d1d6c26..26e1129 100644 --- a/.gitignore +++ b/.gitignore @@ -20,4 +20,6 @@ stack*.yaml.lock .DS_Store *.dyn_hi -*.dyn_o \ No newline at end of file +*.dyn_o + +vendor diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..f7106c3 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "vendor/ghc"] + path = vendor/ghc + url = https://gitlab.haskell.org/ghc/ghc.git diff --git a/README.md b/README.md index a71445e..8b710ab 100644 --- a/README.md +++ b/README.md @@ -40,16 +40,12 @@ Reading and understanding code is an essential part of the software development * Semantic highlighting ## Installation +At the moment Haskell Code Explorer supports GHC 9.10.2 ```bash git clone https://github.com/alexwl/haskell-code-explorer cd haskell-code-explorer ``` - -To build Haskell Code Explorer Stack ([https://docs.haskellstack.org/en/stable/README/](https://docs.haskellstack.org/en/stable/README/)) is needed. - -At the moment Haskell Code Explorer supports GHC 9.10.2 - For GHC 9.10.2: ```bash @@ -62,6 +58,13 @@ For GHC 9.10.2: stack --stack-yaml=stack-9.10.2.yaml install ``` +## Debugging +Add debugging codes to `haskell-code-explorer` and `vendor/ghc/compiler`. + +``` +stack run -- haskell-code-indexer -v +``` + ## Indexing source code of a Cabal package `haskell-code-indexer` executable is responsible for indexing packages (by default, the index is saved to `.haskell-code-explorer` directory). diff --git a/app/Indexer.hs b/app/Indexer.hs index 63b0b32..e492443 100644 --- a/app/Indexer.hs +++ b/app/Indexer.hs @@ -43,6 +43,7 @@ import Options.Applicative , value ) import Paths_haskell_code_explorer as HSE (version) +import Prelude import System.Directory (createDirectoryIfMissing) import System.Exit (ExitCode(..), exitWith) import System.FilePath (()) diff --git a/cabal.project b/cabal.project index 585bf26..3898995 100644 --- a/cabal.project +++ b/cabal.project @@ -14,4 +14,8 @@ -- package * -- optimization: 2 -with-compiler: ghc-8.4.4 \ No newline at end of file +packages: + ./haskell-code-explorer.cabal + ./vendor/ghc/compiler/ghc.cabal + ./vendor/ghc/utils/deriveConstants/deriveConstants.cabal + ./vendor/ghc/utils/genprimopcode/genprimopcode.cabal \ No newline at end of file diff --git a/haskell-code-explorer.cabal b/haskell-code-explorer.cabal index 09f5385..1940655 100644 --- a/haskell-code-explorer.cabal +++ b/haskell-code-explorer.cabal @@ -11,7 +11,6 @@ maintainer: alexey.a.kiryushin@gmail.com build-type: Simple library - default-language: Haskell2010 exposed-modules: HaskellCodeExplorer.PackageInfo , HaskellCodeExplorer.ModuleInfo , HaskellCodeExplorer.Types @@ -20,27 +19,27 @@ library , HaskellCodeExplorer.AST.RenamedSource , HaskellCodeExplorer.AST.TypecheckedSource hs-source-dirs: src - ghc-options: -Wall -O2 -funbox-strict-fields -package ghc + ghc-options: -Wall -O2 -funbox-strict-fields build-depends: IntervalMap , aeson , attoparsec , base , blaze-html - , deepseq + , bytestring , Cabal , Cabal-syntax - , bytestring , cereal , containers + , deepseq , directory , directory-tree , exceptions , filemanip , filepath + , haddock-library + , hashable , ghc , ghc-paths - , hashable - , haddock-library , mtl , process , syb @@ -53,11 +52,12 @@ library , extra executable haskell-code-indexer - main-is: Indexer.hs - ghc-options: -Wall -rtsopts -O2 -funbox-strict-fields -package ghc - other-modules: Paths_haskell_code_explorer - autogen-modules: Paths_haskell_code_explorer - hs-source-dirs: app + main-is: Indexer.hs + ghc-options: -Wall -rtsopts -O2 -funbox-strict-fields + other-modules: Paths_haskell_code_explorer + autogen-modules: Paths_haskell_code_explorer + hs-source-dirs: app + default-extensions: MonoLocalBinds build-depends: IntervalMap , aeson , base @@ -65,23 +65,27 @@ executable haskell-code-indexer , Cabal , Cabal-syntax , cereal + , containers + , deepseq , directory + , exceptions , filepath - , ghc , optparse-applicative - , text + , process , time + , text , unordered-containers , uri-encode , fast-logger , monad-logger + , os-string , zlib , haskell-code-explorer - default-language: Haskell2010 + , rts executable haskell-code-server main-is: Server.hs - ghc-options: -Wall -O2 -rtsopts -funbox-strict-fields -threaded -package ghc + ghc-options: -Wall -O2 -rtsopts -funbox-strict-fields hs-source-dirs: app,src other-modules: HaskellCodeExplorer.Types, Store build-depends: IntervalMap @@ -95,7 +99,6 @@ executable haskell-code-server , exceptions , filemanip , filepath - , ghc , blaze-html , text , unordered-containers @@ -127,7 +130,6 @@ executable haskell-code-server build-depends: ghc-compact test-suite test - default-language: Haskell2010 type: exitcode-stdio-1.0 ghc-options: -Wall hs-source-dirs: test diff --git a/src/HaskellCodeExplorer/Preprocessor.hs b/src/HaskellCodeExplorer/Preprocessor.hs index 25633ba..4dd4f58 100644 --- a/src/HaskellCodeExplorer/Preprocessor.hs +++ b/src/HaskellCodeExplorer/Preprocessor.hs @@ -13,6 +13,7 @@ import Data.Foldable (foldl') import qualified Data.HashMap.Strict as HM import qualified Data.List as L import qualified Data.Set as S +import Prelude import qualified Data.Text as T import HaskellCodeExplorer.Types ( FileLocation(..) diff --git a/stack-9.10.2.yaml b/stack-9.10.2.yaml index fe2e163..568b0be 100644 --- a/stack-9.10.2.yaml +++ b/stack-9.10.2.yaml @@ -1,8 +1,9 @@ resolver: lts-24.11 packages: -- '.' + - . + - vendor/ghc/compiler + - vendor/ghc/utils/deriveConstants + - vendor/ghc/utils/genprimopcode allow-newer: true extra-deps: - - Cabal-3.12.1.0 - - Cabal-syntax-3.12.1.0 - - ghc-9.10.2 \ No newline at end of file + - Cabal-3.8.1.0@sha256:77121d8e1aff14a0fd95684b751599db78a7dd26d55862d9fcef27c88b193e9d,12609 \ No newline at end of file diff --git a/stack.yaml b/stack.yaml index eeb6e31..568b0be 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,8 +1,9 @@ resolver: lts-24.11 packages: -- '.' + - . + - vendor/ghc/compiler + - vendor/ghc/utils/deriveConstants + - vendor/ghc/utils/genprimopcode allow-newer: true extra-deps: - - Cabal-3.12.1.0 - - Cabal-syntax-3.12.1.0 - - ghc-9.10.2 + - Cabal-3.8.1.0@sha256:77121d8e1aff14a0fd95684b751599db78a7dd26d55862d9fcef27c88b193e9d,12609 \ No newline at end of file diff --git a/vendor/ghc b/vendor/ghc new file mode 160000 index 0000000..c9de16b --- /dev/null +++ b/vendor/ghc @@ -0,0 +1 @@ +Subproject commit c9de16b57adcb6810d059ebd1c72d97b4b6a7cec From b9d249ea639dcbe923e2965fad1a4a9d11e94e83 Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Mon, 13 Oct 2025 23:46:28 +0800 Subject: [PATCH 06/22] add -package ghc to HCE and runGhcT. Using external interpreter --- haskell-code-explorer.cabal | 14 ++++++++------ src/HaskellCodeExplorer/PackageInfo.hs | 16 ++++++++-------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/haskell-code-explorer.cabal b/haskell-code-explorer.cabal index 1940655..c7cbf07 100644 --- a/haskell-code-explorer.cabal +++ b/haskell-code-explorer.cabal @@ -53,7 +53,7 @@ library executable haskell-code-indexer main-is: Indexer.hs - ghc-options: -Wall -rtsopts -O2 -funbox-strict-fields + ghc-options: -Wall -rtsopts -O2 -funbox-strict-fields -package ghc other-modules: Paths_haskell_code_explorer autogen-modules: Paths_haskell_code_explorer hs-source-dirs: app @@ -69,19 +69,21 @@ executable haskell-code-indexer , deepseq , directory , exceptions + , fast-logger , filepath + , ghc + , haskell-code-explorer + , hspec + , monad-logger , optparse-applicative + , os-string + , rts , process , time , text , unordered-containers , uri-encode - , fast-logger - , monad-logger - , os-string , zlib - , haskell-code-explorer - , rts executable haskell-code-server main-is: Server.hs diff --git a/src/HaskellCodeExplorer/PackageInfo.hs b/src/HaskellCodeExplorer/PackageInfo.hs index 4786864..7504357 100644 --- a/src/HaskellCodeExplorer/PackageInfo.hs +++ b/src/HaskellCodeExplorer/PackageInfo.hs @@ -67,6 +67,9 @@ import GHC.Driver.Session , GhcMode(..) , gopt_set , parseDynamicFlagsCmdLine + , ModRenaming(..) + , PackageArg(..) + , PackageFlag(..) ) import GHC.Utils.Exception (ExceptionMonad(..), handle) import GHC.Driver.Backend (Backend(..)) @@ -591,7 +594,6 @@ indexBuildComponent sourceCodePreprocessing currentPackageId componentId deps@(f parseDynamicFlagsCmdLine flags (L.map noLoc . L.filter ("-Werror" /=) $ options) -- -Werror flag makes warnings fatal - env <- getSession -- :: Ghc HscEnv logFn <- askLoggerIO let logAction :: LogFlags -> MessageClass -> SrcSpan -> SDoc -> IO () logAction _ msgClass srcSpan msg = @@ -608,11 +610,6 @@ indexBuildComponent sourceCodePreprocessing currentPackageId componentId deps@(f Just buildDir -> Just $ buildDir (takeBaseName buildDir ++ "-tmp") Nothing -> Nothing - let oldLogger = hsc_logger env - newLogger = pushLogHook (const logAction) oldLogger - _ <- liftIO $ initUnits newLogger flags' Nothing mempty - let env' = env { hsc_logger = newLogger } - setSession env' _ <- setSessionDynFlags $ L.foldl' @@ -621,8 +618,11 @@ indexBuildComponent sourceCodePreprocessing currentPackageId componentId deps@(f { ghcLink = LinkInMemory , ghcMode = CompManager , importPaths = importPaths flags' ++ maybeToList mbTmpDir + , packageFlags = [ExposePackage "-package ghc" + (PackageArg "ghc") + (ModRenaming True [])] }) - [Opt_Haddock] + [Opt_Haddock, Opt_ExternalInterpreter] targets <- mapM (\m -> guessTarget m (Nothing :: Maybe UnitId) (Nothing :: Maybe Phase)) modules logDebugN $ T.pack $ "setTarget : " <> (showSDocUnsafe $ ppr targets) setTargets targets @@ -633,7 +633,7 @@ indexBuildComponent sourceCodePreprocessing currentPackageId componentId deps@(f let topSortNodes = flattenSCCs (topSortModuleGraph False modGraph Nothing) toModSummary :: ModuleGraphNode -> Maybe ModSummary toModSummary (ModuleNode _ ms) = Just ms - toModSummary _ = Nothing -- 忽略非源码节点(如 Backpack/instantiation) + toModSummary _ = Nothing topSortMods = mapMaybe toModSummary topSortNodes buildDir = addTrailingPathSeparator . normalise . fromMaybe "" . hiDir $ From 2a872cf97a9b1ff84a8e4e9acb11336f12c3c582 Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Tue, 14 Oct 2025 00:53:22 +0800 Subject: [PATCH 07/22] Don't print warnings when indexing --- src/HaskellCodeExplorer/PackageInfo.hs | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/HaskellCodeExplorer/PackageInfo.hs b/src/HaskellCodeExplorer/PackageInfo.hs index 7504357..a2387e4 100644 --- a/src/HaskellCodeExplorer/PackageInfo.hs +++ b/src/HaskellCodeExplorer/PackageInfo.hs @@ -70,6 +70,8 @@ import GHC.Driver.Session , ModRenaming(..) , PackageArg(..) , PackageFlag(..) + , WarningFlag(..) + , wopt_unset ) import GHC.Utils.Exception (ExceptionMonad(..), handle) import GHC.Driver.Backend (Backend(..)) @@ -610,19 +612,17 @@ indexBuildComponent sourceCodePreprocessing currentPackageId componentId deps@(f Just buildDir -> Just $ buildDir (takeBaseName buildDir ++ "-tmp") Nothing -> Nothing - _ <- - setSessionDynFlags $ - L.foldl' - gopt_set - (flags' - { ghcLink = LinkInMemory - , ghcMode = CompManager - , importPaths = importPaths flags' ++ maybeToList mbTmpDir - , packageFlags = [ExposePackage "-package ghc" - (PackageArg "ghc") - (ModRenaming True [])] - }) - [Opt_Haddock, Opt_ExternalInterpreter] + baseFlags = (flags' + { ghcLink = LinkInMemory + , ghcMode = CompManager + , importPaths = importPaths flags' ++ maybeToList mbTmpDir + , packageFlags = [ExposePackage "-package ghc" + (PackageArg "ghc") + (ModRenaming True [])] + }) + optFlags = L.foldl' gopt_set baseFlags [Opt_Haddock, Opt_ExternalInterpreter] + noWarnFlags = L.foldl' wopt_unset optFlags [minBound .. maxBound :: WarningFlag] + _ <- setSessionDynFlags noWarnFlags targets <- mapM (\m -> guessTarget m (Nothing :: Maybe UnitId) (Nothing :: Maybe Phase)) modules logDebugN $ T.pack $ "setTarget : " <> (showSDocUnsafe $ ppr targets) setTargets targets From 3ad9f86579c771a9d6936e7396f99ef0196d067e Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Tue, 14 Oct 2025 01:52:55 +0800 Subject: [PATCH 08/22] Add index and server scripts --- index | 2 ++ server | 1 + 2 files changed, 3 insertions(+) create mode 100755 index create mode 100755 server diff --git a/index b/index new file mode 100755 index 0000000..43d1b89 --- /dev/null +++ b/index @@ -0,0 +1,2 @@ +stack run -- haskell-code-indexer -v +stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v -p ../hakyll \ No newline at end of file diff --git a/server b/server new file mode 100755 index 0000000..a2bf42a --- /dev/null +++ b/server @@ -0,0 +1 @@ +haskell-code-server --package . --package ../hakyll --port 8080 \ No newline at end of file From 2dc9a9d666ee37cfad0d436d2b69bfdbc0c8a39b Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Tue, 14 Oct 2025 12:20:48 +0800 Subject: [PATCH 09/22] Evict TODOs --- index | 9 +- .../AST/TypecheckedSource.hs | 204 ++++++++++-------- 2 files changed, 128 insertions(+), 85 deletions(-) diff --git a/index b/index index 43d1b89..d57c20d 100755 --- a/index +++ b/index @@ -1,2 +1,9 @@ +#!/usr/bin/env bash + +set -euo pipefail + +stack build stack run -- haskell-code-indexer -v -stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v -p ../hakyll \ No newline at end of file +# stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v -p ../hakyll + +# stack --stack-yaml ../vendor/ghc/stack.yaml exec -- haskell-code-indexer -v -p ../hakyll \ No newline at end of file diff --git a/src/HaskellCodeExplorer/AST/TypecheckedSource.hs b/src/HaskellCodeExplorer/AST/TypecheckedSource.hs index db25526..7ee3113 100644 --- a/src/HaskellCodeExplorer/AST/TypecheckedSource.hs +++ b/src/HaskellCodeExplorer/AST/TypecheckedSource.hs @@ -23,15 +23,19 @@ import GHC.Core.TyCon (tyConDataCons) import GHC.Data.Bag (bagToList) import GHC.Types.Basic (Origin(..)) import GHC.Core.Class (Class, classTyVars, className) -import Control.Monad (return, unless, void) +import Control.Monad (return, unless, void, forM_) import Control.Monad.State.Strict (State, get, modify') import qualified Data.HashMap.Strict as HM import qualified Data.IntMap.Strict as IM import qualified Data.IntervalMap.Strict as IVM import GHC.Unit.State (UnitState) +import Control.Monad (zipWithM_) import qualified Data.Map.Strict as M import GHC.Core.ConLike (ConLike(..)) -import GHC.Core.DataCon (dataConWrapId) +import GHC.Core.DataCon + ( dataConWrapId + , dataConWorkId + ) import GHC.Core.PatSyn (patSynBuilder) import GHC.Core.Predicate import GHC.Core.Type (mkVisFunTy, mkVisFunTyMany, splitForAllTyCoVars) @@ -50,10 +54,12 @@ import GHC.Types.TyThing (TyThing(..)) import GHC.Core.DataCon (dataConTyCon, dataConRepType) import GHC.Hs ( ABExport(..) + , LHsRecUpdFields(..) , anchor , unXRec , NoExtField(..) , LIdP(..) + , hsRecFields , HsRecUpdField , noAnnSrcSpan , noLocA @@ -72,6 +78,7 @@ import GHC.Hs , XXExprGhcTc(..) , ArithSeqInfo(..) , FieldOcc(..) + , LHsRecUpdField(..) , GRHS(..) , GRHSs(..) , HsBindLR(..) @@ -110,6 +117,7 @@ import GHC.Hs , PatSynBind(..) , StmtLR(..) , selectorAmbiguousFieldOcc + , XRec(..) , XRecordCon (..) , XRecordUpd (..) , XListPat (..) @@ -127,7 +135,11 @@ import GHC.Core.InstEnv , is_dfun , lookupUniqueInstEnv ) -import GHC.Types.Name (Name, nameOccName, nameUnique) +import GHC.Types.Name + ( getSrcSpan + , Name + , nameOccName + , nameUnique) import Prelude hiding (span) import GHC.Types.SrcLoc ( GenLocated(..) @@ -581,6 +593,16 @@ tidyType typ = do foldTypecheckedSource :: LHsBinds GhcTc -> State ASTState () foldTypecheckedSource = foldLHsBindsLR + +-- GHC 9.10: tuple args are [HsTupArg GhcTc] +foldHsTupArg :: HsTupArg GhcTc -> State ASTState (Maybe Type, TupArg) +foldHsTupArg (Present _ e) = do + ty <- foldLHsExpr e + pure (ty, TupArgPresent) +foldHsTupArg (Missing _) = pure (Nothing, TupArgMissing) +foldHsTupArg (XTupArg _) = pure (Nothing, TupArgMissing) + +-- ExplicitTuple branch (GHC 9.10 shape) foldLHsExpr :: LHsExpr GhcTc -> State ASTState (Maybe Type) foldLHsExpr (L _span (XExpr _)) = return Nothing foldLHsExpr (L _ (HsOverLit _ (XOverLit _))) = return Nothing @@ -688,22 +710,24 @@ foldLHsExpr (L ann e@(SectionR ext operator operand)) = do Nothing -> Nothing addExprInfo span typ "SectionR" (exprSort e) return typ --- foldLHsExpr expr@(L spanA e@(ExplicitTuple _ tupArgs boxity)) = do --- tupleArgs <- mapM foldLHsTupArg tupArgs --- let sectionArgs = mapMaybe fst . filter ((== TupArgMissing) . snd) $ tupleArgs --- argTys = mapMaybe fst tupleArgs --- resultType = pure $ foldr mkVisFunTyMany (mkTupleTy boxity argTys) sectionArgs --- tidyEnv <- astStateTidyEnv <$> get --- addExprInfo --- (getLocA expr) --- (snd . tidyOpenType tidyEnv <$> resultType) --- "ExplicitTuple" --- (exprSort e) --- pure resultType -foldLHsExpr (L _span (ExplicitSum _ _ _ expr)) = do - -- TODO +foldLHsExpr expr@(L _ e@(ExplicitTuple _ tupArgs boxity)) = do + tupleArgs <- mapM foldHsTupArg tupArgs + let presentArgTys = mapMaybe fst tupleArgs + sectionArgTys = mapMaybe fst + $ filter ((== TupArgMissing) . snd) tupleArgs + rawResultTy = Just $ + foldr mkVisFunTyMany (mkTupleTy boxity presentArgTys) sectionArgTys + tidyEnv <- astStateTidyEnv <$> get + let tidiedResultTy = snd . tidyOpenType tidyEnv <$> rawResultTy + addExprInfo (getLocA expr) tidiedResultTy "ExplicitTuple" (exprSort e) + pure tidiedResultTy +foldLHsExpr (L ann e@(ExplicitSum _ _ _ expr)) = do _ <- foldLHsExpr expr - return Nothing + restoreTidyEnv $ do + let span = locA ann + typ <- tidyType (hsExprType e) + addExprInfo span (Just typ) "ExplicitSum" (exprSort e) + pure (Just typ) foldLHsExpr (L l e@(HsCase _ expr (MG (MatchGroupTc {..}) mg_alts))) = restoreTidyEnv $ do typ <- tidyType mg_res_ty @@ -747,12 +771,24 @@ foldLHsExpr (L ann e@(RecordCon _ conExpr binds)) = do addExprInfo (locA ann) mbConType "RecordCon" (exprSort e) _ <- foldHsRecFields binds return mbConType --- TODO --- foldLHsExpr (L ann (RecordUpd { rupd_expr = expr, rupd_flds = updFields })) = do --- typ <- foldLHsExpr expr --- addExprInfo (locA ann) typ "RecordUpd" (exprSort (RecordUpd expr updFields)) --- mapM_ foldLHsRecUpdField updFields --- return typ +foldLHsExpr (L ann e@(RecordUpd + { rupd_expr = (expr0 :: LHsExpr GhcTc) + , rupd_flds = flds + })) = do + typ <- foldLHsExpr expr0 + addExprInfo (locA ann) typ "RecordUpd" (exprSort e) + case flds of + RegularRecUpdFields{ recUpdFields = xs } -> -- regular: a{ x = ... } + forM_ xs $ \lf -> do + let fb = unLoc lf :: HsRecUpdField GhcTc GhcTc + _ <- foldLHsExpr (hfbRHS fb) + pure () + OverloadedRecUpdFields{ olRecUpdFields = ps } -> -- overloaded: a{ x.y = ... } + forM_ ps $ \lp -> do + let fb = unLoc lp -- fb :: HsFieldBind (LFieldLabelStrings GhcTc) (LHsExpr GhcTc) + _ <- foldLHsExpr (hfbRHS fb) + pure () + pure typ foldLHsExpr (L ann e@(ExprWithTySig _ expr _)) = do typ <- foldLHsExpr expr addExprInfo (locA ann) typ "ExprWithTySig" (exprSort e) @@ -824,28 +860,12 @@ foldLHsRecField (L ann (HsFieldBind { hfbLHS = L idAnn (FieldOcc identifier _) unless pun $ void (foldLHsExpr arg) return . Just . varType $ identifier' --- TODO --- foldLHsRecUpdField :: GenLocated SrcSpanAnnA (HsFieldBind (GenLocated SrcSpanAnnA (AmbiguousFieldOcc GhcTc)) (GenLocated SrcSpanAnnA (HsExpr GhcTc))) --- -> State ASTState (Maybe Type) --- foldLHsRecUpdField (L span (HsFieldBind { hfbLHS = L idSpan recField --- , hfbRHS = arg --- , hfbPun = pun })) = --- restoreTidyEnv $ do --- let selectorId = selectorAmbiguousFieldOcc recField --- (identifier', mbTypes) <- tidyIdentifier selectorId --- -- Name of the selectorId is not 'correct' (Internal instead of External) : --- -- https://github.com/ghc/ghc/blob/321b420f4582d103ca7b304867b916a749712e9f/compiler/typecheck/TcExpr.hs#L2424 --- typeEnv <- envTypeEnv . astStateEnv <$> get --- let selName = varName selectorId --- originalName = --- case lookupTypeEnv typeEnv selName of --- Just (AnId originalSelId) -> varName originalSelId --- _ -> selName --- let identifier'' = setVarName identifier' originalName --- addIdentifierToIdSrcSpanMap idSpan identifier'' mbTypes --- addExprInfo span (Just . varType $ identifier'') "HsRecUpdField" Composite --- unless pun $ void (foldLHsExpr arg) --- return . Just . varType $ identifier'' +foldHsRecUpdField + :: HsFieldBind (XRec GhcTc (AmbiguousFieldOcc GhcTc)) (LHsExpr GhcTc) + -> State ASTState () +foldHsRecUpdField fb = do + _ <- foldLHsExpr (hfbRHS fb) -- use the selector, not a record pattern + pure () data TupArg = TupArgPresent @@ -1043,30 +1063,38 @@ foldLHsBindLR (L _ PatBind {..}) _ = do _ <- foldGRHSs pat_rhs return Nothing foldLHsBindLR (L _ VarBind {..}) _ = return Nothing --- TODO --- foldLHsBindLR (L _ AbsBinds{ abs_exports, abs_binds }) = do --- let polys :: [Id] --- polys = map abe_poly abs_exports --- mapM_ (\(b,i) -> foldLHsBindLR b (Just i)) --- (zip (bagToList abs_binds) polys) --- return Nothing --- foldLHsBindLR (L _ (PatSynBind _ PSB {..})) _ = --- restoreTidyEnv $ do --- _ <- foldLPat psb_def --- _ <- --- let addId :: LIdP GhcTc -> State ASTState () --- addId (L l i) = do --- (i', _) <- tidyIdentifier i --- addIdentifierToIdSrcSpanMap (locA l) i' Nothing --- in case psb_args of --- InfixCon id1 id2 -> addId id1 >> addId id2 --- PrefixCon _tyArgs ids -> mapM_ addId ids --- RecCon recs -> --- mapM_ --- (\(RecordPatSynField selId patVar) -> --- addId (L (getFieldOccAnn selId) (foExt selId)) >> addId patVar) --- recs --- return Nothing +foldLHsBindLR (L _ (XHsBindsLR (AbsBinds { abs_exports, abs_binds }))) _ = do + let polys :: [Id] + polys = map abe_poly abs_exports + binds :: [LHsBindLR GhcTc GhcTc] + binds = bagToList abs_binds + zipWithM_ (\b i -> foldLHsBindLR b (Just i)) binds polys + pure Nothing +foldLHsBindLR (L _ (PatSynBind _ PSB {..})) _ = + restoreTidyEnv $ do + _ <- foldLPat psb_def + + let addLId :: LIdP GhcTc -> State ASTState () + addLId (L l i) = do + (i', _) <- tidyIdentifier i + addIdentifierToIdSrcSpanMap (locA l) i' Nothing + + addSelector :: FieldOcc GhcTc -> State ASTState () + addSelector fo = do + let i = foExt fo + ssp = getSrcSpan (varName i) + (i', _) <- tidyIdentifier i + addIdentifierToIdSrcSpanMap ssp i' Nothing + + case psb_args of + InfixCon id1 id2 -> addLId id1 >> addLId id2 + PrefixCon _tyArgs ids -> mapM_ addLId ids + RecCon recs -> + mapM_ (\(RecordPatSynField sel patVar) -> + addSelector sel >> addLId patVar) + recs + + pure Nothing foldLPat :: LPat GhcTc -> State ASTState (Maybe Type) foldLPat (L _span (XPat _)) = return Nothing @@ -1108,22 +1136,30 @@ foldLPat (L spanAnn pat@(TuplePat types pats boxity)) = do mapM_ foldLPat pats return $ Just typ' foldLPat (L _span (SumPat _ pat _ _)) = do - -- TODO _ <- foldLPat pat return Nothing --- foldLPat (L span pat@ConPat {..}) = do --- let (L idSpan conLike) = pat_con --- conId = --- case conLike of --- RealDataCon dc -> dataConWorkId dc --- PatSynCon ps -> patSynId ps --- typ = conLikeResTy (unLoc pat_con) pat_arg_tys --- (identifier', mbTypes) <- tidyIdentifier conId --- addIdentifierToIdSrcSpanMap idSpan identifier' mbTypes --- typ' <- tidyType typ --- addExprInfo span (Just typ') "ConPat" (patSort pat) --- _ <- foldHsConPatDetails pat_args --- return . Just . varType $ identifier' + +foldLPat (L ann pat@ConPat{}) = do + let conLike = unLoc (pat_con pat) + conId = case conLike of + RealDataCon dc -> dataConWorkId dc + PatSynCon ps -> patSynId ps + sp = locA ann + (ident', mbTypes) <- tidyIdentifier conId + addIdentifierToIdSrcSpanMap sp ident' mbTypes + let resTy = varType ident' + typ' <- tidyType resTy + addExprInfo sp (Just typ') "ConPat" (patSort pat) + case pat_args pat of + PrefixCon _ as -> + forM_ as (void . foldLPat) + InfixCon a b -> do + void (foldLPat a) + void (foldLPat b) + RecCon rfs -> + forM_ (rec_flds rfs) $ \lf -> + void (foldLPat (hfbRHS (unLoc lf))) + pure (Just resTy) foldLPat (L span p@(ViewPat typ expr pat)) = do typ' <- tidyType typ addExprInfo (locA span) (Just typ') "ViewPat" (patSort p) From 5f2b487e58411ae7eb0cb4179a150e5e1d4d913c Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Tue, 14 Oct 2025 14:37:43 +0800 Subject: [PATCH 10/22] Canonicalize reativePath to abstractPath --- index | 7 +++---- src/HaskellCodeExplorer/PackageInfo.hs | 3 ++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/index b/index index d57c20d..7fd24ac 100755 --- a/index +++ b/index @@ -3,7 +3,6 @@ set -euo pipefail stack build -stack run -- haskell-code-indexer -v -# stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v -p ../hakyll - -# stack --stack-yaml ../vendor/ghc/stack.yaml exec -- haskell-code-indexer -v -p ../hakyll \ No newline at end of file +stack install +# stack run -- haskell-code-indexer -v +stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v -p ../hakyll \ No newline at end of file diff --git a/src/HaskellCodeExplorer/PackageInfo.hs b/src/HaskellCodeExplorer/PackageInfo.hs index a2387e4..64b82a6 100644 --- a/src/HaskellCodeExplorer/PackageInfo.hs +++ b/src/HaskellCodeExplorer/PackageInfo.hs @@ -44,6 +44,7 @@ import qualified Data.Text as T import qualified Data.Text.Encoding as TE import Data.Version (Version(..), showVersion, makeVersion) import GHC.Driver.Phases (Phase) +import System.Directory (canonicalizePath) import Data.Bool import GHC.Utils.Logger ( getLogger @@ -169,7 +170,7 @@ createPackageInfo :: -> [String] -> LoggingT IO (HCE.PackageInfo HCE.ModuleInfo) createPackageInfo packageDirectoryPath mbDistDirRelativePath sourceCodePreprocessing additionalGhcOptions ignoreDirectories = do - packageDirectoryAbsPath <- liftIO $ makeAbsolute packageDirectoryPath + packageDirectoryAbsPath <- liftIO $ canonicalizePath =<< (makeAbsolute packageDirectoryPath) currentDirectory <- liftIO getCurrentDirectory liftIO $ setCurrentDirectory packageDirectoryAbsPath From baa9b5ea964fb79c8e1f96c9708e9d4a4e6117f2 Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Tue, 14 Oct 2025 14:43:01 +0800 Subject: [PATCH 11/22] Modify index script and README.md --- README.md | 11 ++++++++--- index | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 8b710ab..0605df1 100644 --- a/README.md +++ b/README.md @@ -59,10 +59,10 @@ stack --stack-yaml=stack-9.10.2.yaml install ``` ## Debugging -Add debugging codes to `haskell-code-explorer` and `vendor/ghc/compiler`. - +Modify `haskell-code-explorer` and `vendor/ghc/compiler`. +Modify `index` script ``` -stack run -- haskell-code-indexer -v +./index ``` ## Indexing source code of a Cabal package @@ -87,6 +87,11 @@ Index a package using stack exec: stack --resolver=lts-24.11 exec --no-ghc-package-path haskell-code-indexer -- INDEXER_OPTIONS ``` +Or modify and execute `index` script +```bash +./index +``` + `--no-ghc-package-path` option unsets `GHC_PACKAGE_PATH` environment variable. `cabal` fails with the error `Use of GHC's environment variable GHC_PACKAGE_PATH is incompatible with Cabal.` if the `GHC_PACKAGE_PATH` is set. ### Examples diff --git a/index b/index index 7fd24ac..d2dc0fa 100755 --- a/index +++ b/index @@ -4,5 +4,5 @@ set -euo pipefail stack build stack install -# stack run -- haskell-code-indexer -v -stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v -p ../hakyll \ No newline at end of file +stack run -- haskell-code-indexer -v +# stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v -p ../hakyll \ No newline at end of file From 95dfc7025536adab55c17b37593565507a485922 Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Tue, 14 Oct 2025 15:18:24 +0800 Subject: [PATCH 12/22] Fix indexing error. Upgrade README.md and index script --- README.md | 10 +++++++++- index | 4 ++-- src/HaskellCodeExplorer/GhcUtils.hs | 2 ++ src/HaskellCodeExplorer/Types.hs | 2 ++ 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0605df1..b242385 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,8 @@ stack --stack-yaml=stack-9.10.2.yaml install ## Debugging Modify `haskell-code-explorer` and `vendor/ghc/compiler`. Modify `index` script -``` +```bash +sudo chmod 777 index ./index ``` @@ -89,6 +90,7 @@ stack --resolver=lts-24.11 exec --no-ghc-package-path haskell-code-indexer -- IN Or modify and execute `index` script ```bash +sudo chmod 777 index ./index ``` @@ -135,6 +137,12 @@ Load multiple indexed packages and start the server: haskell-code-server --package PATH1 --package PATH2 --package PATH3 --port 8080 ``` +Or modify or execute `server` script +```bash +sudo chmod 777 server +./server +``` + Load the indexed package and start the server, use Hoogle API (https://github.com/ndmitchell/hoogle/blob/3dbf68bfd701f942d3af2e6debb74a0a78cd392e/docs/API.md#json-api) to get documentation for functions and types defined in other packages (`haskell-code-server` makes requests to https://hoogle.haskell.org/): ```bash diff --git a/index b/index index d2dc0fa..7fd24ac 100755 --- a/index +++ b/index @@ -4,5 +4,5 @@ set -euo pipefail stack build stack install -stack run -- haskell-code-indexer -v -# stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v -p ../hakyll \ No newline at end of file +# stack run -- haskell-code-indexer -v +stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v -p ../hakyll \ No newline at end of file diff --git a/src/HaskellCodeExplorer/GhcUtils.hs b/src/HaskellCodeExplorer/GhcUtils.hs index bda6f05..11753c9 100644 --- a/src/HaskellCodeExplorer/GhcUtils.hs +++ b/src/HaskellCodeExplorer/GhcUtils.hs @@ -270,12 +270,14 @@ mbIdDetails v DataConWorkId _ -> Just HCE.DataConWorkId DataConWrapId _ -> Just HCE.DataConWrapId ClassOpId _ _ -> Just HCE.ClassOpId + RepPolyId _ -> Just HCE.RepPolyId PrimOpId _ _ -> Just HCE.PrimOpId FCallId _ -> Just HCE.FCallId TickBoxOpId _ -> Just HCE.TickBoxOpId DFunId _ -> Just HCE.DFunId CoVarId -> Just HCE.CoVarId JoinId _ _ -> Just HCE.JoinId + WorkerLikeId _ -> Just HCE.WorkerLikeId mbIdDetails _ = Nothing -------------------------------------------------------------------------------- diff --git a/src/HaskellCodeExplorer/Types.hs b/src/HaskellCodeExplorer/Types.hs index f1b0680..d6987bb 100644 --- a/src/HaskellCodeExplorer/Types.hs +++ b/src/HaskellCodeExplorer/Types.hs @@ -289,12 +289,14 @@ data IdDetails | DataConWorkId | DataConWrapId | ClassOpId + | RepPolyId | PrimOpId | FCallId | TickBoxOpId | DFunId | CoVarId | JoinId + | WorkerLikeId deriving (Show, Eq, Ord, Generic, Data) -- | Each Haskell identifier has an 'InternalId' that is unique within a single module From c2edc650ddf5e0cec0ec33a0c58279db492637d7 Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Thu, 23 Oct 2025 00:29:07 +0800 Subject: [PATCH 13/22] Update REAME.md --- README.md | 30 +++++++++++------------------- index | 19 ++++++++++++++++--- server | 6 +++++- 3 files changed, 32 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index b242385..24ca3b5 100644 --- a/README.md +++ b/README.md @@ -39,25 +39,6 @@ Reading and understanding code is an essential part of the software development * Semantic highlighting -## Installation -At the moment Haskell Code Explorer supports GHC 9.10.2 - -```bash -git clone https://github.com/alexwl/haskell-code-explorer -cd haskell-code-explorer -``` -For GHC 9.10.2: - -```bash -stack install -``` - -For GHC 9.10.2: - -```bash -stack --stack-yaml=stack-9.10.2.yaml install -``` - ## Debugging Modify `haskell-code-explorer` and `vendor/ghc/compiler`. Modify `index` script @@ -78,6 +59,17 @@ The version of GHC used to build `haskell-code-indexer` must match the version o If there is no globally installed GHC on the system, then it is possible to use `stack exec` command ([https://docs.haskellstack.org/en/stable/GUIDE/#exec](https://docs.haskellstack.org/en/stable/GUIDE/#exec)) that adds a path to GHC binaries installed by Stack to `PATH` environment variable. +Unify snapshot of stackage. For ghc 9.10.2, using lts-24.11 +``` +resolver: lts-24.11 +``` + +Build All targets +``` +stack ide targets +stack build --test --bench +``` + Run `cabal update` using stack exec: ```bash stack --resolver=lts-24.11 exec --no-ghc-package-path cabal -- update diff --git a/index b/index index 7fd24ac..16fa163 100755 --- a/index +++ b/index @@ -2,7 +2,20 @@ set -euo pipefail -stack build -stack install +# stack build +# stack install + +# rm -rf ./.haskell-code-explorer # stack run -- haskell-code-indexer -v -stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v -p ../hakyll \ No newline at end of file + +# rm -rf ../hakyll/.haskell-code-explorer +# stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v -p ../hakyll + +# rm -rf ../lrucache/.haskell-code-explorer +# stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v --dist ../lrucache/dist-newstyle/build/aarch64-osx/ghc-9.10.2/lrucache-1.2.0.1 -p ../lrucache + +rm -rf ../attoparsec/.haskell-code-explorer +stack --stack-yaml ../attoparsec/stack.yaml exec -- haskell-code-indexer -v --dist ../attoparsec/dist-newstyle/build/aarch64-osx/ghc-9.10.2/attoparsec-0.14.4 -p ../attoparsec + +# rm -rf ../pandoc/.haskell-code-explorer +# stack --stack-yaml ../pandoc/stack.yaml exec -- haskell-code-indexer -v --dist ../pandoc/dist-newstyle/build/aarch64-osx/ghc-9.10.2/pandoc-3.7.0.2 -p ../pandoc \ No newline at end of file diff --git a/server b/server index a2bf42a..3a2f40d 100755 --- a/server +++ b/server @@ -1 +1,5 @@ -haskell-code-server --package . --package ../hakyll --port 8080 \ No newline at end of file +haskell-code-server \ + --package . \ + --package ../hakyll \ + --package ../lrucache \ + --port 8080 \ No newline at end of file From 829844243b059713208b9abbbfe3866d315bb09b Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Thu, 23 Oct 2025 21:25:48 +0800 Subject: [PATCH 14/22] Add hidden library srcDir to ghcOption --- src/HaskellCodeExplorer/PackageInfo.hs | 84 ++++++++++++++------------ 1 file changed, 47 insertions(+), 37 deletions(-) diff --git a/src/HaskellCodeExplorer/PackageInfo.hs b/src/HaskellCodeExplorer/PackageInfo.hs index 64b82a6..6739827 100644 --- a/src/HaskellCodeExplorer/PackageInfo.hs +++ b/src/HaskellCodeExplorer/PackageInfo.hs @@ -212,41 +212,50 @@ createPackageInfo packageDirectoryPath mbDistDirRelativePath sourceCodePreproces logInfoN $ T.append "Indexing " $ HCE.packageIdToText currentPackageId let buildComponents :: [(HCE.ComponentId, [String], (Maybe FilePath, [String]), [FilePath], HCE.ComponentType)] - buildComponents = libs pd ++ subLibs pd ++ flibs pd ++ exes pd ++ tests pd ++ benches pd - - libs Distribution.PackageDescription.PackageDescription{library = Just lib} = - [ mkLib "lib" lib ] - libs _ = [] + buildComponents = subLibs pd ++ libs pd ++ flibs pd ++ exes pd ++ tests pd ++ benches pd subLibs Distribution.PackageDescription.PackageDescription{subLibraries = xs} = - [ mkLib ("sublib-" <> unUnqualComponentName uqn) l + [ mkLib ("sublib-" <> unUnqualComponentName uqn) l [] | l <- xs , LSubLibName uqn <- [libName l] ] + hiddenLibDirs :: [FilePath] + hiddenLibDirs = concat + [ map getSymbolicPath (hsSourceDirs (libBuildInfo l)) + | l <- subLibraries pd ] + + libs Distribution.PackageDescription.PackageDescription{library = Just lib} = + [ mkLib "lib" lib hiddenLibDirs ] + libs _ = [] flibs Distribution.PackageDescription.PackageDescription{foreignLibs = xs} = - [ mkFLib ("flib-" <> unUnqualComponentName (foreignLibName f)) f | f <- xs ] + [ mkFLib ("flib-" <> unUnqualComponentName (foreignLibName f)) f + | f <- xs ] exes Distribution.PackageDescription.PackageDescription{executables = xs} = - [ mkExe ("exe-" <> unUnqualComponentName (exeName e)) e | e <- xs ] + [ mkExe ("exe-" <> unUnqualComponentName (exeName e)) e hiddenLibDirs + | e <- xs ] tests Distribution.PackageDescription.PackageDescription{testSuites = xs} = - [ mkTest ("test-" <> unUnqualComponentName (testName t)) t | t <- xs ] + [ mkTest ("test-" <> unUnqualComponentName (testName t)) t hiddenLibDirs + | t <- xs ] benches Distribution.PackageDescription.PackageDescription{benchmarks = xs} = - [ mkBench ("bench-" <> unUnqualComponentName (benchmarkName b)) b | b <- xs ] + [ mkBench ("bench-" <> unUnqualComponentName (benchmarkName b)) b hiddenLibDirs + | b <- xs ] -- helpers - - mkLib cid lib = + mkLib :: String -> Library -> [FilePath] + -> (HCE.ComponentId, [String], (Maybe FilePath, [String]), [FilePath], HCE.ComponentType) + mkLib cid lib hiddenLibDirs = let bi = libBuildInfo lib - srcDirs = collectHsDirs distDir bi + srcDirs = collectHsDirs distDir bi [] exposeds = map Distribution.Pretty.prettyShow (exposedModules lib) others = map Distribution.Pretty.prettyShow (otherModules bi) sigs = map Distribution.Pretty.prettyShow (signatures lib) mods = exposeds ++ others ++ sigs in ( HCE.ComponentId (T.pack cid) - , ghcOptionsForBI packageDirectoryAbsPath distDir bi + , ghcOptionsForBI packageDirectoryAbsPath distDir bi hiddenLibDirs , (Nothing, mods) , srcDirs , HCE.Lib @@ -254,32 +263,32 @@ createPackageInfo packageDirectoryPath mbDistDirRelativePath sourceCodePreproces mkFLib cid fl = let bi = foreignLibBuildInfo fl - srcDirs = collectHsDirs distDir bi + srcDirs = collectHsDirs distDir bi [] in ( HCE.ComponentId (T.pack cid) - , ghcOptionsForBI packageDirectoryAbsPath distDir bi + , ghcOptionsForBI packageDirectoryAbsPath distDir bi [] , (Nothing, []) , srcDirs , HCE.FLib (T.pack (unUnqualComponentName (foreignLibName fl))) ) - mkExe cid e = + mkExe cid e hiddenLibDirs = let bi = (buildInfo e) - srcDirs = collectHsDirs distDir bi + srcDirs = collectHsDirs distDir bi [] mainFP = modulePath e in ( HCE.ComponentId (T.pack cid) - , ghcOptionsForBI packageDirectoryAbsPath distDir bi + , ghcOptionsForBI packageDirectoryAbsPath distDir bi hiddenLibDirs , (Just mainFP, []) , srcDirs , HCE.Exe (T.pack (unUnqualComponentName (exeName e))) ) - mkTest cid t = + mkTest cid t hiddenLibDirs = case testInterface t of TestSuiteExeV10 _ mainFP -> let bi = testBuildInfo t - srcDirs = collectHsDirs distDir bi + srcDirs = collectHsDirs distDir bi [] in ( HCE.ComponentId (T.pack cid) - , ghcOptionsForBI packageDirectoryAbsPath distDir bi + , ghcOptionsForBI packageDirectoryAbsPath distDir bi hiddenLibDirs , (Just mainFP, []) , srcDirs , HCE.Test (T.pack (unUnqualComponentName (testName t))) @@ -287,19 +296,19 @@ createPackageInfo packageDirectoryPath mbDistDirRelativePath sourceCodePreproces _ -> let bi = testBuildInfo t in ( HCE.ComponentId (T.pack cid) - , ghcOptionsForBI packageDirectoryAbsPath distDir bi + , ghcOptionsForBI packageDirectoryAbsPath distDir bi hiddenLibDirs , (Nothing, []) - , collectHsDirs distDir bi + , collectHsDirs distDir bi [] , HCE.Test (T.pack (unUnqualComponentName (testName t))) ) - mkBench cid b = + mkBench cid b hiddenLibDirs = case benchmarkInterface b of BenchmarkExeV10 _ mainFP -> let bi = benchmarkBuildInfo b - srcDirs = collectHsDirs distDir bi + srcDirs = collectHsDirs distDir bi [] in ( HCE.ComponentId (T.pack cid) - , ghcOptionsForBI packageDirectoryAbsPath distDir bi + , ghcOptionsForBI packageDirectoryAbsPath distDir bi hiddenLibDirs , (Just mainFP, []) , srcDirs , HCE.Bench (T.pack (unUnqualComponentName (benchmarkName b))) @@ -307,9 +316,9 @@ createPackageInfo packageDirectoryPath mbDistDirRelativePath sourceCodePreproces _ -> let bi = benchmarkBuildInfo b in ( HCE.ComponentId (T.pack cid) - , ghcOptionsForBI packageDirectoryAbsPath distDir bi + , ghcOptionsForBI packageDirectoryAbsPath distDir bi hiddenLibDirs , (Nothing, []) - , collectHsDirs distDir bi + , collectHsDirs distDir bi [] , HCE.Bench (T.pack (unUnqualComponentName (benchmarkName b))) ) @@ -369,8 +378,8 @@ createPackageInfo packageDirectoryPath mbDistDirRelativePath sourceCodePreproces , externalIdInfoMap = topLevelIdentifiersTrie } where - ghcOptionsForBI :: FilePath -> FilePath -> BuildInfo -> [String] - ghcOptionsForBI pkgDir distDir bi = + ghcOptionsForBI :: FilePath -> FilePath -> BuildInfo -> [String] -> [String] + ghcOptionsForBI pkgDir distDir bi hiddenLibDirs = hcOptions GHC bi ++ langOpts ++ extOpts @@ -388,15 +397,16 @@ createPackageInfo packageDirectoryPath mbDistDirRelativePath sourceCodePreproces , cppOptions bi ] srcDirOpts = - concatMap (\d -> ["-i" <> absJoin d]) (collectHsDirs distDir bi) + concatMap (\d -> ["-i" <> absJoin d]) (collectHsDirs distDir bi hiddenLibDirs) absJoin d = if isAbsolute d then d else normalise (pkgDir d) - collectHsDirs :: FilePath -> BuildInfo -> [FilePath] - collectHsDirs distDir bi = - let sourceDirs = map getSymbolicPath (hsSourceDirs bi) - autogenDir = distDir <> "/build/autogen" - in sourceDirs <> [ autogenDir ] + collectHsDirs :: FilePath -> BuildInfo -> [FilePath] -> [FilePath] + collectHsDirs distDir bi hiddenLibDirs = + let sourceDirs = getSymbolicPath <$> hsSourceDirs bi + autogenDir = distDir <> "build/autogen" + subLibDirs = hiddenLibDirs + in sourceDirs <> [ autogenDir ] <> subLibDirs findSingleCabalFile :: FilePath -> IO FilePath findSingleCabalFile dir = do From 5f4a1f75d37f15036c1221f0aa00ecb67a0c756c Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Fri, 24 Oct 2025 00:52:18 +0800 Subject: [PATCH 15/22] Upgrade README.md --- README.md | 19 +++++++++++++++++++ index | 24 ++++++++++++------------ server | 2 ++ 3 files changed, 33 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 24ca3b5..d7c79d4 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,25 @@ Reading and understanding code is an essential part of the software development * Semantic highlighting +## Installing +At the moment Haskell Code Explorer supports GHC 9.10.2 + +```bash +git clone https://github.com/alexwl/haskell-code-explorer +cd haskell-code-explorer +``` +For GHC 9.10.2: + +```bash +stack install +``` + +For GHC 9.10.2: + +```bash +stack --stack-yaml=stack-9.10.2.yaml install +``` + ## Debugging Modify `haskell-code-explorer` and `vendor/ghc/compiler`. Modify `index` script diff --git a/index b/index index 16fa163..6ac8fe9 100755 --- a/index +++ b/index @@ -2,20 +2,20 @@ set -euo pipefail -# stack build -# stack install +stack build +stack install -# rm -rf ./.haskell-code-explorer -# stack run -- haskell-code-indexer -v +rm -rf ./.haskell-code-explorer +stack --stack-yaml ../haskell-code-explorer/stack.yaml exec -- haskell-code-indexer -v --dist ../haskell-code-explorer/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../haskell-code-explorer -# rm -rf ../hakyll/.haskell-code-explorer -# stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v -p ../hakyll +rm -rf ../hakyll/.haskell-code-explorer +stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v --dist ../hakyll/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../hakyll -# rm -rf ../lrucache/.haskell-code-explorer -# stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v --dist ../lrucache/dist-newstyle/build/aarch64-osx/ghc-9.10.2/lrucache-1.2.0.1 -p ../lrucache +rm -rf ../lrucache/.haskell-code-explorer +stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v --dist ../lrucache/dist-newstyles/dist/aarch64-osx/ghc-9.10.2/ -p ../lrucache -rm -rf ../attoparsec/.haskell-code-explorer -stack --stack-yaml ../attoparsec/stack.yaml exec -- haskell-code-indexer -v --dist ../attoparsec/dist-newstyle/build/aarch64-osx/ghc-9.10.2/attoparsec-0.14.4 -p ../attoparsec +rm -rf ../attoparsec/haskell-code-explorer +stack --stack-yaml ../attoparsec/stack.yaml exec -- haskell-code-indexer -v --dist ../attoparsec/dist-newstyles/dist/aarch64-osx/ghc-9.10.2/ -p ../attoparsec -# rm -rf ../pandoc/.haskell-code-explorer -# stack --stack-yaml ../pandoc/stack.yaml exec -- haskell-code-indexer -v --dist ../pandoc/dist-newstyle/build/aarch64-osx/ghc-9.10.2/pandoc-3.7.0.2 -p ../pandoc \ No newline at end of file +rm -rf ../pandoc/.haskell-code-explorer +stack --stack-yaml ../pandoc/stack.yaml exec -- haskell-code-indexer -v --dist ../pandoc/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../pandoc \ No newline at end of file diff --git a/server b/server index 3a2f40d..6795b8b 100755 --- a/server +++ b/server @@ -2,4 +2,6 @@ haskell-code-server \ --package . \ --package ../hakyll \ --package ../lrucache \ + --package ../pandoc \ + --package ../attoparsec \ --port 8080 \ No newline at end of file From 9b84bbf1cc775591bb6d99b3a3135e4382728ecc Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Sat, 8 Nov 2025 20:13:42 +0800 Subject: [PATCH 16/22] Fix HaskellModulePath as relative path issue --- ...2FHaskellCodeExplorer%2FModuleInfo.hs.json | 59046 ++++++++++++++++ example/ModuleInfo.AbsPath.html | 6621 ++ example/ModuleInfo.RelativePath.html | 6621 ++ ...2FHaskellCodeExplorer%2FModuleInfo.hs.json | 59025 +++++++++++++++ haskell-code-explorer.cabal | 69 +- indexer | 72 + javascript/package-lock.json | 14904 ++++ javascript/package.json | 3 + ...lorer-3833fa061faafadebab0d8d4901516d3.css | 6 + ...lorer-470eee8a7194bbaf0c429fc96db08c30.js} | 17 +- ...lorer-717832df8786392c9b8a9bd8010463d2.css | 6 - ...endor-c68699fa3ef851ebff1b584737d944c2.css | 3 - ...endor-ec4ad93c0a3d82f998b275a606baae84.css | 3 + ...endor-f5e9739e5dff1ec0540918c848a0553c.js} | 3095 +- javascript/release/index.html | 12 +- server | 52 + src/HaskellCodeExplorer/GhcUtils.hs | 9 +- src/HaskellCodeExplorer/ModuleInfo.hs | 2 +- src/HaskellCodeExplorer/PackageInfo.hs | 6 +- temp.html | 0 20 files changed, 148033 insertions(+), 1539 deletions(-) create mode 100644 example/%2FUsers%2Fliuzichao%2Fhaskell-code-explorer%2Fsrc%2FHaskellCodeExplorer%2FModuleInfo.hs.json create mode 100644 example/ModuleInfo.AbsPath.html create mode 100644 example/ModuleInfo.RelativePath.html create mode 100644 example/src%2FHaskellCodeExplorer%2FModuleInfo.hs.json create mode 100755 indexer create mode 100644 javascript/package-lock.json create mode 100644 javascript/release/assets/haskell-code-explorer-3833fa061faafadebab0d8d4901516d3.css rename javascript/release/assets/{haskell-code-explorer-3325784c864ca6662b97be678eeea861.js => haskell-code-explorer-470eee8a7194bbaf0c429fc96db08c30.js} (69%) delete mode 100644 javascript/release/assets/haskell-code-explorer-717832df8786392c9b8a9bd8010463d2.css delete mode 100644 javascript/release/assets/vendor-c68699fa3ef851ebff1b584737d944c2.css create mode 100644 javascript/release/assets/vendor-ec4ad93c0a3d82f998b275a606baae84.css rename javascript/release/assets/{vendor-b97a1e7d03d00bb4514dc45da44b51ff.js => vendor-f5e9739e5dff1ec0540918c848a0553c.js} (77%) create mode 100644 temp.html diff --git a/example/%2FUsers%2Fliuzichao%2Fhaskell-code-explorer%2Fsrc%2FHaskellCodeExplorer%2FModuleInfo.hs.json b/example/%2FUsers%2Fliuzichao%2Fhaskell-code-explorer%2Fsrc%2FHaskellCodeExplorer%2FModuleInfo.hs.json new file mode 100644 index 0000000..8f00765 --- /dev/null +++ b/example/%2FUsers%2Fliuzichao%2Fhaskell-code-explorer%2Fsrc%2FHaskellCodeExplorer%2FModuleInfo.hs.json @@ -0,0 +1,59046 @@ +{ + "declarations": [ + { + "declType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "isExported": true, + "lineNumber": 132, + "name": "type ModuleDependencies", + "sort": "TyClD" + }, + { + "declType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 137, + "name": "type ModuleGhcData", + "sort": "TyClD" + }, + { + "declType": { + "components": [ + { + "internalId": "1", + "name": "ModuleDependencies", + "tag": "TyCon" + }, + { + "contents": "_rgMw\n-> ", + "tag": "Text" + }, + { + "internalId": "112", + "name": "ModuleGhcData", + "tag": "TyCon" + }, + { + "contents": "_rgNt\n-> ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> (", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g, ", + "tag": "Text" + }, + { + "internalId": "115", + "name": "SourceCodePreprocessing", + "tag": "TyCon" + }, + { + "contents": "_r3y)\n-> ", + "tag": "Text" + }, + { + "internalId": "22", + "name": "HscEnv", + "tag": "TyCon" + }, + { + "contents": "_r64I\n-> (", + "tag": "Text" + }, + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z, ", + "tag": "Text" + }, + { + "internalId": "1", + "name": "ModuleDependencies", + "tag": "TyCon" + }, + { + "contents": "_rgMw, [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT])", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "(", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v,\n ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW,\n ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v))\n-> (", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0, ", + "tag": "Text" + }, + { + "internalId": "39", + "name": "TypecheckedModule", + "tag": "TyCon" + }, + { + "contents": "_r61n,\n ", + "tag": "Text" + }, + { + "internalId": "748", + "name": "UniqDFM", + "tag": "TyCon" + }, + { + "contents": "_rdC4 ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3 ", + "tag": "Text" + }, + { + "internalId": "749", + "name": "HomeModInfo", + "tag": "TyCon" + }, + { + "contents": "_r6Hv,\n ", + "tag": "Text" + }, + { + "internalId": "75", + "name": "ExternalPackageState", + "tag": "TyCon" + }, + { + "contents": "_rdR5, ", + "tag": "Text" + }, + { + "internalId": "32", + "name": "ModSummary", + "tag": "TyCon" + }, + { + "contents": "_r6k0)\n-> ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> (", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g, ", + "tag": "Text" + }, + { + "internalId": "115", + "name": "SourceCodePreprocessing", + "tag": "TyCon" + }, + { + "contents": "_r3y)\n-> ", + "tag": "Text" + }, + { + "internalId": "22", + "name": "HscEnv", + "tag": "TyCon" + }, + { + "contents": "_r64I\n-> (", + "tag": "Text" + }, + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z,\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v,\n ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW,\n ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v)),\n [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT])", + "tag": "Text" + } + ] + }, + "isExported": true, + "lineNumber": 153, + "name": "createModuleInfo", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 275, + "name": "data SourceInfo", + "sort": "TyClD" + }, + { + "declType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 283, + "name": "tidyInternalIds", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "115", + "name": "SourceCodePreprocessing", + "tag": "TyCon" + }, + { + "contents": "_r3y\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n-> ", + "tag": "Text" + }, + { + "internalId": "32", + "name": "ModSummary", + "tag": "TyCon" + }, + { + "contents": "_r6k0\n-> ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> (", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B, ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g)", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 302, + "name": "prepareSourceCode", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "95", + "name": "GlobalRdrEnv", + "tag": "TyCon" + }, + { + "contents": "_r5x1\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "35", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r619\n-> [", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5]\n-> ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa\n-> (", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW, [", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5])", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "859", + "name": "OccEnv", + "tag": "TyCon" + }, + { + "contents": "_rcRM [", + "tag": "Text" + }, + { + "internalId": "743", + "name": "GlobalRdrEltX", + "tag": "TyCon" + }, + { + "contents": "_r6HG ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "GREInfo", + "tag": "TyCon" + }, + { + "contents": "_rd3K]\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "35", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r619\n-> [", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5]\n-> ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n-> (", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW, [", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5])", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 341, + "name": "createDefinitionSiteMap", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4)\n-> ", + "tag": "Text" + }, + { + "internalId": "385", + "name": "Html", + "tag": "TyCon" + }, + { + "contents": "_rVn", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4)\n-> ", + "tag": "Text" + }, + { + "internalId": "661", + "name": "MarkupM", + "tag": "TyCon" + }, + { + "contents": "_r1Xi ()", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 483, + "name": "occNameToHtml", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "385", + "name": "Html", + "tag": "TyCon" + }, + { + "contents": "_rVn", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "661", + "name": "MarkupM", + "tag": "TyCon" + }, + { + "contents": "_r1Xi ()", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 500, + "name": "nameToHtml", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "26", + "name": "DocH", + "tag": "TyCon" + }, + { + "contents": "_rVo (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4) ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "319", + "name": "HTML", + "tag": "TyCon" + }, + { + "contents": "_r1o", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "26", + "name": "DocH", + "tag": "TyCon" + }, + { + "contents": "_rVo (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4) ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 527, + "name": "docWithNamesToHtml", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa\n-> ", + "tag": "Text" + }, + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae\n-> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> [", + "tag": "Text" + }, + { + "internalId": "421", + "name": "Declaration", + "tag": "TyCon" + }, + { + "contents": "_rG]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n-> ", + "tag": "Text" + }, + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag\n-> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> [", + "tag": "Text" + }, + { + "internalId": "421", + "name": "Declaration", + "tag": "TyCon" + }, + { + "contents": "_rG]", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 539, + "name": "createDeclarations", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "39", + "name": "TypecheckedModule", + "tag": "TyCon" + }, + { + "contents": "_r61n -> ", + "tag": "Text" + }, + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 615, + "name": "foldAST", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n-> (", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20, ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b)\n-> ", + "tag": "Text" + }, + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz\n-> (", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20, ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b)", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n-> (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "763", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N,\n ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)])\n-> ", + "tag": "Text" + }, + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz\n-> (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "763", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N,\n ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)])", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 689, + "name": "addIdentifierToMaps", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> (", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20, ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b)\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> (", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20, ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b)", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "763", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N,\n ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)])\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "763", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N,\n ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)])", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 771, + "name": "addNameToMaps", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n-> ", + "tag": "Text" + }, + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n-> ", + "tag": "Text" + }, + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 815, + "name": "lookupIdByNameOccurrence", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> [(", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5)]\n-> ", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20\n-> ", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> [(", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5)]\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "763", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "763", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 842, + "name": "updateIdMap", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ, ", + "tag": "Text" + }, + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H)]\n-> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b\n-> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ, ", + "tag": "Text" + }, + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H)]\n-> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]\n-> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 860, + "name": "addModules", + "sort": "ValD" + } + ], + "id": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "identifiers": { + "0": { + "demangledOccName": "createModuleInfo", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|createModuleInfo", + "idType": { + "components": [ + { + "internalId": "1", + "name": "ModuleDependencies", + "tag": "TyCon" + }, + { + "contents": "_rgMw\n-> ", + "tag": "Text" + }, + { + "internalId": "112", + "name": "ModuleGhcData", + "tag": "TyCon" + }, + { + "contents": "_rgNt\n-> ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> (", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g, ", + "tag": "Text" + }, + { + "internalId": "115", + "name": "SourceCodePreprocessing", + "tag": "TyCon" + }, + { + "contents": "_r3y)\n-> ", + "tag": "Text" + }, + { + "internalId": "22", + "name": "HscEnv", + "tag": "TyCon" + }, + { + "contents": "_r64I\n-> (", + "tag": "Text" + }, + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z, ", + "tag": "Text" + }, + { + "internalId": "1", + "name": "ModuleDependencies", + "tag": "TyCon" + }, + { + "contents": "_rgMw, [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT])", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "(", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v,\n ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW,\n ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v))\n-> (", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0, ", + "tag": "Text" + }, + { + "internalId": "39", + "name": "TypecheckedModule", + "tag": "TyCon" + }, + { + "contents": "_r61n,\n ", + "tag": "Text" + }, + { + "internalId": "748", + "name": "UniqDFM", + "tag": "TyCon" + }, + { + "contents": "_rdC4 ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3 ", + "tag": "Text" + }, + { + "internalId": "749", + "name": "HomeModInfo", + "tag": "TyCon" + }, + { + "contents": "_r6Hv,\n ", + "tag": "Text" + }, + { + "internalId": "75", + "name": "ExternalPackageState", + "tag": "TyCon" + }, + { + "contents": "_rdR5, ", + "tag": "Text" + }, + { + "internalId": "32", + "name": "ModSummary", + "tag": "TyCon" + }, + { + "contents": "_r6k0)\n-> ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> (", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g, ", + "tag": "Text" + }, + { + "internalId": "115", + "name": "SourceCodePreprocessing", + "tag": "TyCon" + }, + { + "contents": "_r3y)\n-> ", + "tag": "Text" + }, + { + "internalId": "22", + "name": "HscEnv", + "tag": "TyCon" + }, + { + "contents": "_r64I\n-> (", + "tag": "Text" + }, + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z,\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v,\n ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW,\n ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v)),\n [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT])", + "tag": "Text" + } + ] + }, + "internalId": "0", + "isExported": true, + "locationInfo": { + "endColumn": 17, + "endLine": 153, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 153, + "tag": "ExactLocation" + }, + "nameSpace": "VarName", + "occName": "createModuleInfo", + "sort": "External" + }, + "1": { + "demangledOccName": "ModuleDependencies", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Typ|ModuleDependencies", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "1", + "isExported": true, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModuleDependencies", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "ModuleDependencies", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModuleDependencies", + "sort": "External" + }, + "10": { + "demangledOccName": "LHsBindLR", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Binds|Typ|LHsBindLR", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "10", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LHsBindLR", + "moduleName": "Language.Haskell.Syntax.Binds", + "name": "LHsBindLR", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LHsBindLR", + "sort": "External" + }, + "100": { + "demangledOccName": "tcg_type_env", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Tc.Types|Val|tcg_type_env", + "idType": { + "components": [ + { + "internalId": "681", + "name": "TcGblEnv", + "tag": "TyCon" + }, + { + "contents": "_r6DZ -> ", + "tag": "Text" + }, + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "681", + "name": "TcGblEnv", + "tag": "TyCon" + }, + { + "contents": "_r6DZ -> ", + "tag": "Text" + }, + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag", + "tag": "Text" + } + ] + }, + "internalId": "100", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tcg_type_env", + "moduleName": "GHC.Tc.Types", + "name": "tcg_type_env", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tcg_type_env", + "sort": "External" + }, + "101": { + "demangledOccName": "getKey", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.Unique|Val|getKey", + "idType": { + "components": [ + { + "internalId": "915", + "name": "Unique", + "tag": "TyCon" + }, + { + "contents": "_r6P0 -> ", + "tag": "Text" + }, + { + "internalId": "827", + "name": "Word64", + "tag": "TyCon" + }, + { + "contents": "_32c", + "tag": "Text" + } + ] + }, + "internalId": "101", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "getKey", + "moduleName": "GHC.Types.Unique", + "name": "getKey", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "getKey", + "sort": "External" + }, + "102": { + "demangledOccName": "varName", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Types.Var|Val|varName", + "idType": { + "components": [ + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX -> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5", + "tag": "Text" + } + ] + }, + "internalId": "102", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "varName", + "moduleName": "GHC.Types.Var", + "name": "varName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "varName", + "sort": "External" + }, + "103": { + "demangledOccName": "varType", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Types.Var|Val|varType", + "idType": { + "components": [ + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX -> ", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Kind", + "tag": "TyCon" + }, + { + "contents": "_r61R", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX -> ", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD", + "tag": "Text" + } + ] + }, + "internalId": "103", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "varType", + "moduleName": "GHC.Types.Var", + "name": "varType", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "varType", + "sort": "External" + }, + "104": { + "demangledOccName": "Id", + "externalId": "ghc-9.10.2|GHC.Types.Var|Typ|Id", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "104", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Id", + "moduleName": "GHC.Types.Var", + "name": "Id", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Id", + "sort": "External" + }, + "105": { + "demangledOccName": "emptyTidyEnv", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.Var.Env|Val|emptyTidyEnv", + "idType": { + "components": [ + { + "internalId": "925", + "name": "TidyEnv", + "tag": "TyCon" + }, + { + "contents": "_r5xW", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "(", + "tag": "Text" + }, + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "667", + "name": "FastString", + "tag": "TyCon" + }, + { + "contents": "_r5yT ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX ", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX)", + "tag": "Text" + } + ] + }, + "internalId": "105", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "emptyTidyEnv", + "moduleName": "GHC.Types.Var.Env", + "name": "emptyTidyEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "emptyTidyEnv", + "sort": "External" + }, + "106": { + "demangledOccName": "HashMap", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal|Typ|HashMap", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "106", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HashMap", + "moduleName": "Data.HashMap.Internal", + "name": "HashMap", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HashMap", + "sort": "External" + }, + "107": { + "demangledOccName": "HaskellFilePath", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|HaskellFilePath", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "107", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HaskellFilePath", + "moduleName": "HaskellCodeExplorer.Types", + "name": "HaskellFilePath", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HaskellFilePath", + "sort": "External" + }, + "108": { + "demangledOccName": "HaskellModulePath", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|HaskellModulePath", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "108", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HaskellModulePath", + "moduleName": "HaskellCodeExplorer.Types", + "name": "HaskellModulePath", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HaskellModulePath", + "sort": "External" + }, + "109": { + "demangledOccName": "DefinitionSiteMap", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|DefinitionSiteMap", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "109", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "DefinitionSiteMap", + "moduleName": "HaskellCodeExplorer.Types", + "name": "DefinitionSiteMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "DefinitionSiteMap", + "sort": "External" + }, + "11": { + "demangledOccName": "span", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.List|Val|span", + "idType": { + "components": [ + { + "contents": "forall a. (", + "tag": "Text" + }, + { + "internalId": "773", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38) -> [", + "tag": "Text" + }, + { + "internalId": "773", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> ([", + "tag": "Text" + }, + { + "internalId": "773", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "], [", + "tag": "Text" + }, + { + "internalId": "773", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "])", + "tag": "Text" + } + ] + }, + "internalId": "11", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "span", + "moduleName": "GHC.Internal.List", + "name": "span", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "span", + "sort": "External" + }, + "110": { + "demangledOccName": "HaskellModuleName", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|HaskellModuleName", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "110", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HaskellModuleName", + "moduleName": "HaskellCodeExplorer.Types", + "name": "HaskellModuleName", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HaskellModuleName", + "sort": "External" + }, + "111": { + "demangledOccName": "ComponentId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|ComponentId", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "111", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ComponentId", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ComponentId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ComponentId", + "sort": "External" + }, + "112": { + "demangledOccName": "ModuleGhcData", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Typ|ModuleGhcData", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "112", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModuleGhcData", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "ModuleGhcData", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModuleGhcData", + "sort": "External" + }, + "113": { + "demangledOccName": "PackageId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|PackageId", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "113", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "PackageId", + "moduleName": "HaskellCodeExplorer.Types", + "name": "PackageId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "PackageId", + "sort": "External" + }, + "114": { + "demangledOccName": "Text", + "externalId": "text-2.1.2|Data.Text.Internal|Typ|Text", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "114", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Text", + "moduleName": "Data.Text.Internal", + "name": "Text", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Text", + "sort": "External" + }, + "115": { + "demangledOccName": "SourceCodePreprocessing", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|SourceCodePreprocessing", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "115", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "SourceCodePreprocessing", + "moduleName": "HaskellCodeExplorer.Types", + "name": "SourceCodePreprocessing", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "SourceCodePreprocessing", + "sort": "External" + }, + "116": { + "demangledOccName": "ModuleInfo", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|ModuleInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "116", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModuleInfo", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ModuleInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModuleInfo", + "sort": "External" + }, + "117": { + "demangledOccName": "TypeError", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Typ|TypeError", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "117", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TypeError", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "TypeError", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TypeError", + "sort": "External" + }, + "119": { + "demangledOccName": ".", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|.", + "idType": { + "components": [ + { + "contents": "forall b c a. (", + "tag": "Text" + }, + { + "internalId": "860", + "name": "b", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "861", + "name": "c", + "tag": "TyCon" + }, + { + "contents": ") -> (", + "tag": "Text" + }, + { + "internalId": "862", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "860", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "862", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "861", + "name": "c", + "tag": "TyCon" + } + ] + }, + "internalId": "119", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "-46-", + "moduleName": "GHC.Internal.Base", + "name": ".", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": ".", + "sort": "External" + }, + "12": { + "demangledOccName": "fromMaybe", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Maybe|Val|fromMaybe", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "665", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "665", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "665", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "12", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "fromMaybe", + "moduleName": "GHC.Internal.Data.Maybe", + "name": "fromMaybe", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "fromMaybe", + "sort": "External" + }, + "120": { + "demangledOccName": "fst", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Tuple|Val|fst", + "idType": { + "components": [ + { + "contents": "forall a b. (", + "tag": "Text" + }, + { + "internalId": "885", + "name": "a", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "868", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "885", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "120", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "fst", + "moduleName": "GHC.Internal.Data.Tuple", + "name": "fst", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "fst", + "sort": "External" + }, + "121": { + "demangledOccName": "$", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|$", + "idType": { + "components": [ + { + "contents": "forall (repa :: RuntimeRep) (repb :: RuntimeRep) (a :: TYPE repa)\n (b :: TYPE repb).\n(", + "tag": "Text" + }, + { + "internalId": "888", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "921", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "888", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "921", + "name": "b", + "tag": "TyCon" + } + ] + }, + "internalId": "121", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "-36-", + "moduleName": "GHC.Internal.Base", + "name": "$", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "$", + "sort": "External" + }, + "125": { + "demangledOccName": "fromList", + "details": "VanillaId", + "externalId": "containers-0.7|Data.Set.Internal|Val|fromList", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "640", + "name": "Ord", + "tag": "TyCon" + }, + { + "contents": "_2c ", + "tag": "Text" + }, + { + "internalId": "881", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => [", + "tag": "Text" + }, + { + "internalId": "881", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "881", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "125", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "fromList", + "moduleName": "Data.Set.Internal", + "name": "fromList", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "fromList", + "sort": "External" + }, + "126": { + "demangledOccName": "prepareSourceCode", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|prepareSourceCode", + "idType": { + "components": [ + { + "internalId": "115", + "name": "SourceCodePreprocessing", + "tag": "TyCon" + }, + { + "contents": "_r3y\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n-> ", + "tag": "Text" + }, + { + "internalId": "32", + "name": "ModSummary", + "tag": "TyCon" + }, + { + "contents": "_r6k0\n-> ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> (", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B, ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g)", + "tag": "Text" + } + ] + }, + "internalId": "126", + "isExported": false, + "locationInfo": { + "endColumn": 18, + "endLine": 302, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 302, + "tag": "ExactLocation" + }, + "nameSpace": "VarName", + "occName": "prepareSourceCode", + "sort": "External" + }, + "13": { + "demangledOccName": "mapMaybe", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Maybe|Val|mapMaybe", + "idType": { + "components": [ + { + "contents": "forall a b. (", + "tag": "Text" + }, + { + "internalId": "734", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "735", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> [", + "tag": "Text" + }, + { + "internalId": "734", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> [", + "tag": "Text" + }, + { + "internalId": "735", + "name": "b", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "13", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "mapMaybe", + "moduleName": "GHC.Internal.Data.Maybe", + "name": "mapMaybe", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "mapMaybe", + "sort": "External" + }, + "133": { + "demangledOccName": "keys", + "details": "VanillaId", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal|Val|keys", + "idType": { + "components": [ + { + "contents": "forall k v. ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "866", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "867", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "866", + "name": "k", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "133", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "keys", + "moduleName": "Data.HashMap.Internal", + "name": "keys", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "keys", + "sort": "External" + }, + "138": { + "demangledOccName": "concatMap", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Foldable|Val|concatMap", + "idType": { + "components": [ + { + "contents": "forall (t :: Type -> Type) a b.\n", + "tag": "Text" + }, + { + "internalId": "663", + "name": "Foldable", + "tag": "TyCon" + }, + { + "contents": "_2z ", + "tag": "Text" + }, + { + "internalId": "845", + "name": "t", + "tag": "TyCon" + }, + { + "contents": " =>\n(", + "tag": "Text" + }, + { + "internalId": "776", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "938", + "name": "b", + "tag": "TyCon" + }, + { + "contents": "]) -> ", + "tag": "Text" + }, + { + "internalId": "845", + "name": "t", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "776", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "938", + "name": "b", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "138", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "concatMap", + "moduleName": "GHC.Internal.Data.Foldable", + "name": "concatMap", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "concatMap", + "sort": "External" + }, + "14": { + "demangledOccName": "GhcRn", + "externalId": "ghc-9.10.2|GHC.Hs.Extension|Typ|GhcRn", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "14", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GhcRn", + "moduleName": "GHC.Hs.Extension", + "name": "GhcRn", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GhcRn", + "sort": "External" + }, + "143": { + "demangledOccName": "++", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|++", + "idType": { + "components": [ + { + "contents": "forall a. [", + "tag": "Text" + }, + { + "internalId": "766", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> [", + "tag": "Text" + }, + { + "internalId": "766", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> [", + "tag": "Text" + }, + { + "internalId": "766", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "143", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "-43--43-", + "moduleName": "GHC.Internal.Base", + "name": "++", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "++", + "sort": "External" + }, + "146": { + "demangledOccName": "Just", + "details": "DataConWorkId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Maybe|Val|Just", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "692", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " %1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "692", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "146", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "Just", + "moduleName": "GHC.Internal.Maybe", + "name": "Just", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "Just", + "sort": "External" + }, + "148": { + "demangledOccName": "Nothing", + "details": "DataConWorkId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Maybe|Val|Nothing", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "692", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "148", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "Nothing", + "moduleName": "GHC.Internal.Maybe", + "name": "Nothing", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "Nothing", + "sort": "External" + }, + "15": { + "demangledOccName": "SrcSpan", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Typ|SrcSpan", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "15", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "SrcSpan", + "moduleName": "GHC.Types.SrcLoc", + "name": "SrcSpan", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "SrcSpan", + "sort": "External" + }, + "150": { + "demangledOccName": "createDefinitionSiteMap", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|createDefinitionSiteMap", + "idType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "95", + "name": "GlobalRdrEnv", + "tag": "TyCon" + }, + { + "contents": "_r5x1\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "35", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r619\n-> [", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5]\n-> ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa\n-> (", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW, [", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5])", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "859", + "name": "OccEnv", + "tag": "TyCon" + }, + { + "contents": "_rcRM [", + "tag": "Text" + }, + { + "internalId": "743", + "name": "GlobalRdrEltX", + "tag": "TyCon" + }, + { + "contents": "_r6HG ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "GREInfo", + "tag": "TyCon" + }, + { + "contents": "_rd3K]\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "35", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r619\n-> [", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5]\n-> ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n-> (", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW, [", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5])", + "tag": "Text" + } + ] + }, + "internalId": "150", + "isExported": false, + "locationInfo": { + "endColumn": 24, + "endLine": 341, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 341, + "tag": "ExactLocation" + }, + "nameSpace": "VarName", + "occName": "createDefinitionSiteMap", + "sort": "External" + }, + "16": { + "demangledOccName": "RealSrcSpan", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Typ|RealSrcSpan", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "16", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "RealSrcSpan", + "moduleName": "GHC.Types.SrcLoc", + "name": "RealSrcSpan", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "RealSrcSpan", + "sort": "External" + }, + "163": { + "demangledOccName": "InstEnvs", + "details": "DataConWorkId", + "externalId": "ghc-9.10.2|GHC.Core.InstEnv|Val|InstEnvs", + "idType": { + "components": [ + { + "internalId": "679", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "679", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "834", + "name": "VisibleOrphanModules", + "tag": "TyCon" + }, + { + "contents": "_r7fb\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "84", + "name": "InstEnvs", + "tag": "TyCon" + }, + { + "contents": "_r7eY", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "679", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "679", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX %1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "841", + "name": "NDModule", + "tag": "TyCon" + }, + { + "contents": "_rgOV %1 -> ", + "tag": "Text" + }, + { + "internalId": "84", + "name": "InstEnvs", + "tag": "TyCon" + }, + { + "contents": "_r7eY", + "tag": "Text" + } + ] + }, + "internalId": "163", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "InstEnvs", + "moduleName": "GHC.Core.InstEnv", + "name": "InstEnvs", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "InstEnvs", + "sort": "External" + }, + "166": { + "demangledOccName": "createDeclarations", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|createDeclarations", + "idType": { + "components": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa\n-> ", + "tag": "Text" + }, + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae\n-> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> [", + "tag": "Text" + }, + { + "internalId": "421", + "name": "Declaration", + "tag": "TyCon" + }, + { + "contents": "_rG]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n-> ", + "tag": "Text" + }, + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag\n-> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> [", + "tag": "Text" + }, + { + "internalId": "421", + "name": "Declaration", + "tag": "TyCon" + }, + { + "contents": "_rG]", + "tag": "Text" + } + ] + }, + "internalId": "166", + "isExported": false, + "locationInfo": { + "endColumn": 19, + "endLine": 539, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 539, + "tag": "ExactLocation" + }, + "nameSpace": "VarName", + "occName": "createDeclarations", + "sort": "External" + }, + "17": { + "demangledOccName": "srcSpanStartLine", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Val|srcSpanStartLine", + "idType": { + "components": [ + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u", + "tag": "Text" + } + ] + }, + "internalId": "17", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "srcSpanStartLine", + "moduleName": "GHC.Types.SrcLoc", + "name": "srcSpanStartLine", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "srcSpanStartLine", + "sort": "External" + }, + "170": { + "demangledOccName": "Environment", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|Environment", + "idType": { + "components": [ + { + "internalId": "726", + "name": "GhcMode", + "tag": "TyCon" + }, + { + "contents": "_r64E\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "799", + "name": "GhcLink", + "tag": "TyCon" + }, + { + "contents": "_r64x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "800", + "name": "Backend", + "tag": "TyCon" + }, + { + "contents": "_r61Z\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "802", + "name": "Platform", + "tag": "TyCon" + }, + { + "contents": "_r7Mq\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c)]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "804", + "name": "TempDir", + "tag": "TyCon" + }, + { + "contents": "_r8mP\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "805", + "name": "ParMakeCount", + "tag": "TyCon" + }, + { + "contents": "_r8b6\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "806", + "name": "Word", + "tag": "TyCon" + }, + { + "contents": "_31W\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "807", + "name": "IntWithInf", + "tag": "TyCon" + }, + { + "contents": "_r8mQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "807", + "name": "IntWithInf", + "tag": "TyCon" + }, + { + "contents": "_r8mQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "86", + "name": "Module", + "tag": "TyCon" + }, + { + "contents": "_r5As)]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "808", + "name": "Ways", + "tag": "TyCon" + }, + { + "contents": "_r8mR\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "809", + "name": "DynLibLoader", + "tag": "TyCon" + }, + { + "contents": "_r8ao\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "810", + "name": "IncludeSpecs", + "tag": "TyCon" + }, + { + "contents": "_r8aA\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "668", + "name": "RtsOptsEnabled", + "tag": "TyCon" + }, + { + "contents": "_r8be\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3]\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c)]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "811", + "name": "ExternalPluginSpec", + "tag": "TyCon" + }, + { + "contents": "_r8mS]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "795", + "name": "PackageDBFlag", + "tag": "TyCon" + }, + { + "contents": "_r8aY]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "812", + "name": "IgnorePackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8ay]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "813", + "name": "PackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8b3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "813", + "name": "PackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8b3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "709", + "name": "TrustFlag", + "tag": "TyCon" + }, + { + "contents": "_r8bk]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "757", + "name": "DumpFlag", + "tag": "TyCon" + }, + { + "contents": "_r8bo\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "815", + "name": "GeneralFlag", + "tag": "TyCon" + }, + { + "contents": "_r64J\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "816", + "name": "WarningFlag", + "tag": "TyCon" + }, + { + "contents": "_r88u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "816", + "name": "WarningFlag", + "tag": "TyCon" + }, + { + "contents": "_r88u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "817", + "name": "WarningCategorySet", + "tag": "TyCon" + }, + { + "contents": "_r88v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "817", + "name": "WarningCategorySet", + "tag": "TyCon" + }, + { + "contents": "_r88v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "818", + "name": "Language", + "tag": "TyCon" + }, + { + "contents": "_r8d1\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "765", + "name": "SafeHaskellMode", + "tag": "TyCon" + }, + { + "contents": "_r6iV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "697", + "name": "OnOff", + "tag": "TyCon" + }, + { + "contents": "_r8aS ", + "tag": "Text" + }, + { + "internalId": "819", + "name": "Extension", + "tag": "TyCon" + }, + { + "contents": "_r6HC]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "819", + "name": "Extension", + "tag": "TyCon" + }, + { + "contents": "_r6HC\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "820", + "name": "UnfoldingOpts", + "tag": "TyCon" + }, + { + "contents": "_r8mT\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "745", + "name": "FlushOut", + "tag": "TyCon" + }, + { + "contents": "_r6Fa\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "821", + "name": "OverridingBool", + "tag": "TyCon" + }, + { + "contents": "_r8mU\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "821", + "name": "OverridingBool", + "tag": "TyCon" + }, + { + "contents": "_r8mU\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "822", + "name": "Scheme", + "tag": "TyCon" + }, + { + "contents": "_r8mV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "823", + "name": "ProfAuto", + "tag": "TyCon" + }, + { + "contents": "_r8eW\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "824", + "name": "CallerCcFilter", + "tag": "TyCon" + }, + { + "contents": "_r8mW]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "825", + "name": "SseVersion", + "tag": "TyCon" + }, + { + "contents": "_r8mX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "826", + "name": "BmiVersion", + "tag": "TyCon" + }, + { + "contents": "_r8mE\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "827", + "name": "Word64", + "tag": "TyCon" + }, + { + "contents": "_32c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "731", + "name": "Weights", + "tag": "TyCon" + }, + { + "contents": "_r8mY\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "828", + "name": "UnitInfoMap", + "tag": "TyCon" + }, + { + "contents": "_rdXj\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "829", + "name": "PreloadUnitClosure", + "tag": "TyCon" + }, + { + "contents": "_rdXb\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "830", + "name": "PackageName", + "tag": "TyCon" + }, + { + "contents": "_rb5Z ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn]\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "831", + "name": "Unit", + "tag": "TyCon" + }, + { + "contents": "_r5An, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "832", + "name": "PackageArg", + "tag": "TyCon" + }, + { + "contents": "_r8aV)]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "833", + "name": "ModuleNameProvidersMap", + "tag": "TyCon" + }, + { + "contents": "_re1I\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "833", + "name": "ModuleNameProvidersMap", + "tag": "TyCon" + }, + { + "contents": "_re1I\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3 [", + "tag": "Text" + }, + { + "internalId": "756", + "name": "InstantiatedModule", + "tag": "TyCon" + }, + { + "contents": "_rdVD]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "679", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "679", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "834", + "name": "VisibleOrphanModules", + "tag": "TyCon" + }, + { + "contents": "_r7fb\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "706", + "name": "LinePragma", + "tag": "TyCon" + }, + { + "contents": "_r2x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p (", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "691", + "name": "FileLocation", + "tag": "TyCon" + }, + { + "contents": "_r1j)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "726", + "name": "GhcMode", + "tag": "TyCon" + }, + { + "contents": "_r64E\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "799", + "name": "GhcLink", + "tag": "TyCon" + }, + { + "contents": "_r64x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "800", + "name": "Backend", + "tag": "TyCon" + }, + { + "contents": "_r61Z\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "802", + "name": "Platform", + "tag": "TyCon" + }, + { + "contents": "_r7Mq\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g])]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "804", + "name": "TempDir", + "tag": "TyCon" + }, + { + "contents": "_r8mP\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "805", + "name": "ParMakeCount", + "tag": "TyCon" + }, + { + "contents": "_r8b6\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "806", + "name": "Word", + "tag": "TyCon" + }, + { + "contents": "_31W\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "807", + "name": "IntWithInf", + "tag": "TyCon" + }, + { + "contents": "_r8mQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "807", + "name": "IntWithInf", + "tag": "TyCon" + }, + { + "contents": "_r8mQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3,\n ", + "tag": "Text" + }, + { + "internalId": "736", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn))]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "837", + "name": "Way", + "tag": "TyCon" + }, + { + "contents": "_r8uQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "809", + "name": "DynLibLoader", + "tag": "TyCon" + }, + { + "contents": "_r8ao\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "810", + "name": "IncludeSpecs", + "tag": "TyCon" + }, + { + "contents": "_r8aA\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "668", + "name": "RtsOptsEnabled", + "tag": "TyCon" + }, + { + "contents": "_r8be\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3]\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g])]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "811", + "name": "ExternalPluginSpec", + "tag": "TyCon" + }, + { + "contents": "_r8mS]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "795", + "name": "PackageDBFlag", + "tag": "TyCon" + }, + { + "contents": "_r8aY]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "812", + "name": "IgnorePackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8ay]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "813", + "name": "PackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8b3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "813", + "name": "PackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8b3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "709", + "name": "TrustFlag", + "tag": "TyCon" + }, + { + "contents": "_r8bk]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "757", + "name": "DumpFlag", + "tag": "TyCon" + }, + { + "contents": "_r8bo\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "815", + "name": "GeneralFlag", + "tag": "TyCon" + }, + { + "contents": "_r64J\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "816", + "name": "WarningFlag", + "tag": "TyCon" + }, + { + "contents": "_r88u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "816", + "name": "WarningFlag", + "tag": "TyCon" + }, + { + "contents": "_r88u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "817", + "name": "WarningCategorySet", + "tag": "TyCon" + }, + { + "contents": "_r88v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "817", + "name": "WarningCategorySet", + "tag": "TyCon" + }, + { + "contents": "_r88v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "818", + "name": "Language", + "tag": "TyCon" + }, + { + "contents": "_r8d1\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "765", + "name": "SafeHaskellMode", + "tag": "TyCon" + }, + { + "contents": "_r6iV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "697", + "name": "OnOff", + "tag": "TyCon" + }, + { + "contents": "_r8aS ", + "tag": "Text" + }, + { + "internalId": "819", + "name": "Extension", + "tag": "TyCon" + }, + { + "contents": "_r6HC]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "819", + "name": "Extension", + "tag": "TyCon" + }, + { + "contents": "_r6HC\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "820", + "name": "UnfoldingOpts", + "tag": "TyCon" + }, + { + "contents": "_r8mT\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "745", + "name": "FlushOut", + "tag": "TyCon" + }, + { + "contents": "_r6Fa\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "821", + "name": "OverridingBool", + "tag": "TyCon" + }, + { + "contents": "_r8mU\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "821", + "name": "OverridingBool", + "tag": "TyCon" + }, + { + "contents": "_r8mU\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "822", + "name": "Scheme", + "tag": "TyCon" + }, + { + "contents": "_r8mV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "823", + "name": "ProfAuto", + "tag": "TyCon" + }, + { + "contents": "_r8eW\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "824", + "name": "CallerCcFilter", + "tag": "TyCon" + }, + { + "contents": "_r8mW]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "825", + "name": "SseVersion", + "tag": "TyCon" + }, + { + "contents": "_r8mX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "826", + "name": "BmiVersion", + "tag": "TyCon" + }, + { + "contents": "_r8mE\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "827", + "name": "Word64", + "tag": "TyCon" + }, + { + "contents": "_32c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "731", + "name": "Weights", + "tag": "TyCon" + }, + { + "contents": "_r8mY\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n (", + "tag": "Text" + }, + { + "internalId": "791", + "name": "GenericUnitInfo", + "tag": "TyCon" + }, + { + "contents": "_rdS9\n ", + "tag": "Text" + }, + { + "internalId": "738", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_rdS2\n ", + "tag": "Text" + }, + { + "internalId": "830", + "name": "PackageName", + "tag": "TyCon" + }, + { + "contents": "_rb5Z\n ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n (", + "tag": "Text" + }, + { + "internalId": "736", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn)))\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "838", + "name": "UniqSet", + "tag": "TyCon" + }, + { + "contents": "_r5Cc ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "830", + "name": "PackageName", + "tag": "TyCon" + }, + { + "contents": "_rb5Z ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn]\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "832", + "name": "PackageArg", + "tag": "TyCon" + }, + { + "contents": "_r8aV)]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n (", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n (", + "tag": "Text" + }, + { + "internalId": "736", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn)) ", + "tag": "Text" + }, + { + "internalId": "839", + "name": "ModuleOrigin", + "tag": "TyCon" + }, + { + "contents": "_rdX0)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n (", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n (", + "tag": "Text" + }, + { + "internalId": "736", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn)) ", + "tag": "Text" + }, + { + "internalId": "839", + "name": "ModuleOrigin", + "tag": "TyCon" + }, + { + "contents": "_rdX0)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n [", + "tag": "Text" + }, + { + "internalId": "736", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "840", + "name": "GenInstantiatedUnit", + "tag": "TyCon" + }, + { + "contents": "_rdVq ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn)]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "679", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "679", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "841", + "name": "NDModule", + "tag": "TyCon" + }, + { + "contents": "_rgOV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "706", + "name": "LinePragma", + "tag": "TyCon" + }, + { + "contents": "_r2x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p (", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "691", + "name": "FileLocation", + "tag": "TyCon" + }, + { + "contents": "_r1j)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF", + "tag": "Text" + } + ] + }, + "internalId": "170", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "Environment", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "Environment", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "Environment", + "sort": "External" + }, + "172": { + "demangledOccName": "envDynFlags", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envDynFlags", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0", + "tag": "Text" + } + ] + }, + "internalId": "172", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envDynFlags", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envDynFlags", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envDynFlags", + "sort": "External" + }, + "173": { + "demangledOccName": "envInstEnv", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envInstEnv", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "84", + "name": "InstEnvs", + "tag": "TyCon" + }, + { + "contents": "_r7eY", + "tag": "Text" + } + ] + }, + "internalId": "173", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envInstEnv", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envInstEnv", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envInstEnv", + "sort": "External" + }, + "174": { + "demangledOccName": "envTypeEnv", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envTypeEnv", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag", + "tag": "Text" + } + ] + }, + "internalId": "174", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envTypeEnv", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envTypeEnv", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envTypeEnv", + "sort": "External" + }, + "175": { + "demangledOccName": "envTransformation", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envTransformation", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B", + "tag": "Text" + } + ] + }, + "internalId": "175", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envTransformation", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envTransformation", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envTransformation", + "sort": "External" + }, + "176": { + "demangledOccName": "envCurrentModuleDefSites", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envCurrentModuleDefSites", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW", + "tag": "Text" + } + ] + }, + "internalId": "176", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envCurrentModuleDefSites", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envCurrentModuleDefSites", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envCurrentModuleDefSites", + "sort": "External" + }, + "178": { + "demangledOccName": "envFileMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envFileMap", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v", + "tag": "Text" + } + ] + }, + "internalId": "178", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envFileMap", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envFileMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envFileMap", + "sort": "External" + }, + "179": { + "demangledOccName": "envDefSiteMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envDefSiteMap", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW", + "tag": "Text" + } + ] + }, + "internalId": "179", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envDefSiteMap", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envDefSiteMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envDefSiteMap", + "sort": "External" + }, + "18": { + "demangledOccName": "srcSpanStartCol", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Val|srcSpanStartCol", + "idType": { + "components": [ + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u", + "tag": "Text" + } + ] + }, + "internalId": "18", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "srcSpanStartCol", + "moduleName": "GHC.Types.SrcLoc", + "name": "srcSpanStartCol", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "srcSpanStartCol", + "sort": "External" + }, + "180": { + "demangledOccName": "envModuleNameMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envModuleNameMap", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v)", + "tag": "Text" + } + ] + }, + "internalId": "180", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envModuleNameMap", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envModuleNameMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envModuleNameMap", + "sort": "External" + }, + "182": { + "demangledOccName": "envPackageId", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envPackageId", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m", + "tag": "Text" + } + ] + }, + "internalId": "182", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envPackageId", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envPackageId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envPackageId", + "sort": "External" + }, + "183": { + "demangledOccName": "envComponentId", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envComponentId", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv", + "tag": "Text" + } + ] + }, + "internalId": "183", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envComponentId", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envComponentId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envComponentId", + "sort": "External" + }, + "184": { + "demangledOccName": "envExportedNames", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envExportedNames", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5", + "tag": "Text" + } + ] + }, + "internalId": "184", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envExportedNames", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envExportedNames", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envExportedNames", + "sort": "External" + }, + "185": { + "demangledOccName": "envUnitState", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envUnitState", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH", + "tag": "Text" + } + ] + }, + "internalId": "185", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envUnitState", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envUnitState", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envUnitState", + "sort": "External" + }, + "187": { + "demangledOccName": "foldl'", + "details": "ClassOpId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Foldable|Val|foldl'", + "idType": { + "components": [ + { + "contents": "forall (t :: Type -> Type) b a.\n", + "tag": "Text" + }, + { + "internalId": "663", + "name": "Foldable", + "tag": "TyCon" + }, + { + "contents": "_2z ", + "tag": "Text" + }, + { + "internalId": "918", + "name": "t", + "tag": "TyCon" + }, + { + "contents": " =>\n(", + "tag": "Text" + }, + { + "internalId": "940", + "name": "b", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "714", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "940", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "940", + "name": "b", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "918", + "name": "t", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "714", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "940", + "name": "b", + "tag": "TyCon" + } + ] + }, + "internalId": "187", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "foldl-39-", + "moduleName": "GHC.Internal.Data.Foldable", + "name": "foldl'", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "foldl'", + "sort": "External" + }, + "188": { + "demangledOccName": "maybe", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Maybe|Val|maybe", + "idType": { + "components": [ + { + "contents": "forall b a. ", + "tag": "Text" + }, + { + "internalId": "903", + "name": "b", + "tag": "TyCon" + }, + { + "contents": " -> (", + "tag": "Text" + }, + { + "internalId": "865", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "903", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "865", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "903", + "name": "b", + "tag": "TyCon" + } + ] + }, + "internalId": "188", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "maybe", + "moduleName": "GHC.Internal.Data.Maybe", + "name": "maybe", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "maybe", + "sort": "External" + }, + "19": { + "demangledOccName": "collectHsBindBinders", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Hs.Utils|Val|collectHsBindBinders", + "idType": { + "components": [ + { + "contents": "forall p idR.\n", + "tag": "Text" + }, + { + "internalId": "878", + "name": "CollectPass", + "tag": "TyCon" + }, + { + "contents": "_r6dy ", + "tag": "Text" + }, + { + "internalId": "879", + "name": "p", + "tag": "TyCon" + }, + { + "contents": " =>\n", + "tag": "Text" + }, + { + "internalId": "20", + "name": "CollectFlag", + "tag": "TyCon" + }, + { + "contents": "_r6du ", + "tag": "Text" + }, + { + "internalId": "879", + "name": "p", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "9", + "name": "HsBindLR", + "tag": "TyCon" + }, + { + "contents": "_r5yz ", + "tag": "Text" + }, + { + "internalId": "879", + "name": "p", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "880", + "name": "idR", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "786", + "name": "IdP", + "tag": "TyCon" + }, + { + "contents": "_r5zj ", + "tag": "Text" + }, + { + "internalId": "879", + "name": "p", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "19", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "collectHsBindBinders", + "moduleName": "GHC.Hs.Utils", + "name": "collectHsBindBinders", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "collectHsBindBinders", + "sort": "External" + }, + "190": { + "demangledOccName": "ExternalIdentifierInfo", + "details": "DataConWrapId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|ExternalIdentifierInfo", + "idType": { + "components": [ + { + "internalId": "763", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N %1 -> ", + "tag": "Text" + }, + { + "internalId": "764", + "name": "ExternalIdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1g", + "tag": "Text" + } + ] + }, + "internalId": "190", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ExternalIdentifierInfo", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ExternalIdentifierInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "ExternalIdentifierInfo", + "sort": "External" + }, + "192": { + "demangledOccName": "mkIdentifierInfo", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|mkIdentifierInfo", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 -> ", + "tag": "Text" + }, + { + "internalId": "763", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 -> ", + "tag": "Text" + }, + { + "internalId": "763", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N", + "tag": "Text" + } + ] + }, + "internalId": "192", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "mkIdentifierInfo", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "mkIdentifierInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "mkIdentifierInfo", + "sort": "External" + }, + "195": { + "demangledOccName": ":", + "details": "DataConWorkId", + "externalId": "ghc-prim-0.12.0|GHC.Types|Val|:", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "692", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " %1 -> [", + "tag": "Text" + }, + { + "internalId": "692", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] %1 -> [", + "tag": "Text" + }, + { + "internalId": "692", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "195", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "-58-", + "moduleName": "GHC.Types", + "name": ":", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": ":", + "sort": "External" + }, + "197": { + "demangledOccName": "lookupIdInTypeEnv", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|lookupIdInTypeEnv", + "idType": { + "components": [ + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae -> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag\n-> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX", + "tag": "Text" + } + ] + }, + "internalId": "197", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "lookupIdInTypeEnv", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "lookupIdInTypeEnv", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "lookupIdInTypeEnv", + "sort": "External" + }, + "198": { + "demangledOccName": "[]", + "details": "DataConWorkId", + "externalId": "ghc-prim-0.12.0|GHC.Types|Val|[]", + "idType": { + "components": [ + { + "contents": "forall a. [", + "tag": "Text" + }, + { + "internalId": "692", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "198", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "-91--93-", + "moduleName": "GHC.Types", + "name": "[]", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "[]", + "sort": "External" + }, + "2": { + "demangledOccName": "UnitState", + "externalId": "ghc-9.10.2|GHC.Unit.State|Typ|UnitState", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "2", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UnitState", + "moduleName": "GHC.Unit.State", + "name": "UnitState", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UnitState", + "sort": "External" + }, + "20": { + "demangledOccName": "CollectFlag", + "externalId": "ghc-9.10.2|GHC.Hs.Utils|Typ|CollectFlag", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "20", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "CollectFlag", + "moduleName": "GHC.Hs.Utils", + "name": "CollectFlag", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "CollectFlag", + "sort": "External" + }, + "202": { + "demangledOccName": "HaskellModuleName", + "details": "DataConWrapId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|HaskellModuleName", + "idType": { + "components": [ + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g %1 -> ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s", + "tag": "Text" + } + ] + }, + "internalId": "202", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "HaskellModuleName", + "moduleName": "HaskellCodeExplorer.Types", + "name": "HaskellModuleName", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "HaskellModuleName", + "sort": "External" + }, + "204": { + "demangledOccName": "pack", + "details": "VanillaId", + "externalId": "text-2.1.2|Data.Text.Internal|Val|pack", + "idType": { + "components": [ + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g] -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "204", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "pack", + "moduleName": "Data.Text.Internal", + "name": "pack", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "pack", + "sort": "External" + }, + "205": { + "demangledOccName": "sourceInfoExprMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|sourceInfoExprMap", + "idType": { + "components": [ + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy -> ", + "tag": "Text" + }, + { + "internalId": "241", + "name": "ExpressionInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r1c", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy\n-> ", + "tag": "Text" + }, + { + "internalId": "634", + "name": "IntervalMap", + "tag": "TyCon" + }, + { + "contents": "_r4P\n (", + "tag": "Text" + }, + { + "internalId": "755", + "name": "Interval", + "tag": "TyCon" + }, + { + "contents": "_r4k (", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)) ", + "tag": "Text" + }, + { + "internalId": "673", + "name": "ExpressionInfo", + "tag": "TyCon" + }, + { + "contents": "_r18", + "tag": "Text" + } + ] + }, + "internalId": "205", + "isExported": false, + "locationInfo": { + "endColumn": 22, + "endLine": 276, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 5, + "startLine": 276, + "tag": "ExactLocation" + }, + "nameSpace": "VarName", + "occName": "sourceInfoExprMap", + "sort": "External" + }, + "206": { + "demangledOccName": "foldAST", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|foldAST", + "idType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "39", + "name": "TypecheckedModule", + "tag": "TyCon" + }, + { + "contents": "_r61n -> ", + "tag": "Text" + }, + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy", + "tag": "Text" + } + ] + }, + "internalId": "206", + "isExported": false, + "locationInfo": { + "endColumn": 8, + "endLine": 615, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 615, + "tag": "ExactLocation" + }, + "nameSpace": "VarName", + "occName": "foldAST", + "sort": "External" + }, + "208": { + "demangledOccName": "tidyInternalIds", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|tidyInternalIds", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z", + "tag": "Text" + } + ] + }, + "internalId": "208", + "isExported": false, + "locationInfo": { + "endColumn": 16, + "endLine": 283, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 283, + "tag": "ExactLocation" + }, + "nameSpace": "VarName", + "occName": "tidyInternalIds", + "sort": "External" + }, + "21": { + "demangledOccName": "hsc_unit_env", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Driver.Env.Types|Val|hsc_unit_env", + "idType": { + "components": [ + { + "internalId": "22", + "name": "HscEnv", + "tag": "TyCon" + }, + { + "contents": "_r64I -> ", + "tag": "Text" + }, + { + "internalId": "842", + "name": "UnitEnv", + "tag": "TyCon" + }, + { + "contents": "_rdPJ", + "tag": "Text" + } + ] + }, + "internalId": "21", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "hsc_unit_env", + "moduleName": "GHC.Driver.Env.Types", + "name": "hsc_unit_env", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "hsc_unit_env", + "sort": "External" + }, + "210": { + "demangledOccName": "ModuleInfo", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|ModuleInfo", + "idType": { + "components": [ + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "758", + "name": "Array#", + "tag": "TyCon" + }, + { + "contents": "_36 ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "706", + "name": "LinePragma", + "tag": "TyCon" + }, + { + "contents": "_r2x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p (", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "691", + "name": "FileLocation", + "tag": "TyCon" + }, + { + "contents": "_r1j)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "241", + "name": "ExpressionInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r1c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "421", + "name": "Declaration", + "tag": "TyCon" + }, + { + "contents": "_rG]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "764", + "name": "ExternalIdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "758", + "name": "Array#", + "tag": "TyCon" + }, + { + "contents": "_36 ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "706", + "name": "LinePragma", + "tag": "TyCon" + }, + { + "contents": "_r2x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p (", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "691", + "name": "FileLocation", + "tag": "TyCon" + }, + { + "contents": "_r1j)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "634", + "name": "IntervalMap", + "tag": "TyCon" + }, + { + "contents": "_r4P\n (", + "tag": "Text" + }, + { + "internalId": "755", + "name": "Interval", + "tag": "TyCon" + }, + { + "contents": "_r4k (", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)) ", + "tag": "Text" + }, + { + "internalId": "673", + "name": "ExpressionInfo", + "tag": "TyCon" + }, + { + "contents": "_r18\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "763", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "421", + "name": "Declaration", + "tag": "TyCon" + }, + { + "contents": "_rG]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "764", + "name": "ExternalIdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z", + "tag": "Text" + } + ] + }, + "internalId": "210", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ModuleInfo", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ModuleInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "ModuleInfo", + "sort": "External" + }, + "212": { + "demangledOccName": "id", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|id", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v", + "tag": "Text" + } + ] + }, + "internalId": "212", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "id", + "moduleName": "HaskellCodeExplorer.Types", + "name": "id", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "id", + "sort": "External" + }, + "213": { + "demangledOccName": "transformation", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|transformation", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B", + "tag": "Text" + } + ] + }, + "internalId": "213", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "transformation", + "moduleName": "HaskellCodeExplorer.Types", + "name": "transformation", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "transformation", + "sort": "External" + }, + "214": { + "demangledOccName": "name", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|name", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s", + "tag": "Text" + } + ] + }, + "internalId": "214", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "name", + "moduleName": "HaskellCodeExplorer.Types", + "name": "name", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "name", + "sort": "External" + }, + "215": { + "demangledOccName": "declarations", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|declarations", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> [", + "tag": "Text" + }, + { + "internalId": "421", + "name": "Declaration", + "tag": "TyCon" + }, + { + "contents": "_rG]", + "tag": "Text" + } + ] + }, + "internalId": "215", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "declarations", + "moduleName": "HaskellCodeExplorer.Types", + "name": "declarations", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "declarations", + "sort": "External" + }, + "216": { + "demangledOccName": "exprInfoMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|exprInfoMap", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "241", + "name": "ExpressionInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r1c", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z\n-> ", + "tag": "Text" + }, + { + "internalId": "634", + "name": "IntervalMap", + "tag": "TyCon" + }, + { + "contents": "_r4P\n (", + "tag": "Text" + }, + { + "internalId": "755", + "name": "Interval", + "tag": "TyCon" + }, + { + "contents": "_r4k (", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)) ", + "tag": "Text" + }, + { + "internalId": "673", + "name": "ExpressionInfo", + "tag": "TyCon" + }, + { + "contents": "_r18", + "tag": "Text" + } + ] + }, + "internalId": "216", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "exprInfoMap", + "moduleName": "HaskellCodeExplorer.Types", + "name": "exprInfoMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "exprInfoMap", + "sort": "External" + }, + "218": { + "demangledOccName": "idInfoMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|idInfoMap", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "763", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N", + "tag": "Text" + } + ] + }, + "internalId": "218", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "idInfoMap", + "moduleName": "HaskellCodeExplorer.Types", + "name": "idInfoMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "idInfoMap", + "sort": "External" + }, + "22": { + "demangledOccName": "HscEnv", + "externalId": "ghc-9.10.2|GHC.Driver.Env.Types|Typ|HscEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "22", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HscEnv", + "moduleName": "GHC.Driver.Env.Types", + "name": "HscEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HscEnv", + "sort": "External" + }, + "220": { + "demangledOccName": "idOccMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|idOccMap", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z\n-> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]", + "tag": "Text" + } + ] + }, + "internalId": "220", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "idOccMap", + "moduleName": "HaskellCodeExplorer.Types", + "name": "idOccMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "idOccMap", + "sort": "External" + }, + "222": { + "demangledOccName": "definitionSiteMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|definitionSiteMap", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW", + "tag": "Text" + } + ] + }, + "internalId": "222", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "definitionSiteMap", + "moduleName": "HaskellCodeExplorer.Types", + "name": "definitionSiteMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "definitionSiteMap", + "sort": "External" + }, + "223": { + "demangledOccName": "source", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|source", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "695", + "name": "Vector", + "tag": "TyCon" + }, + { + "contents": "_r4f ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "223", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "source", + "moduleName": "HaskellCodeExplorer.Types", + "name": "source", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "source", + "sort": "External" + }, + "224": { + "demangledOccName": "fromList", + "details": "VanillaId", + "externalId": "vector-0.13.2.0|Data.Vector|Val|fromList", + "idType": { + "components": [ + { + "contents": "forall a. [", + "tag": "Text" + }, + { + "internalId": "694", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> ", + "tag": "Text" + }, + { + "internalId": "695", + "name": "Vector", + "tag": "TyCon" + }, + { + "contents": "_r4f ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "224", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "fromList", + "moduleName": "Data.Vector", + "name": "fromList", + "packageId": { + "name": "vector", + "version": "0.13.2.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "fromList", + "sort": "External" + }, + "225": { + "demangledOccName": "splitOn", + "details": "VanillaId", + "externalId": "text-2.1.2|Data.Text|Val|splitOn", + "idType": { + "components": [ + { + "internalId": "744", + "name": "HasCallStack", + "tag": "TyCon" + }, + { + "contents": "_r3os => ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> [", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "(?callStack::", + "tag": "Text" + }, + { + "internalId": "792", + "name": "CallStack", + "tag": "TyCon" + }, + { + "contents": "_36a) => ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> [", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g]", + "tag": "Text" + } + ] + }, + "internalId": "225", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "splitOn", + "moduleName": "Data.Text", + "name": "splitOn", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "splitOn", + "sort": "External" + }, + "227": { + "demangledOccName": "externalIds", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|externalIds", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> [", + "tag": "Text" + }, + { + "internalId": "764", + "name": "ExternalIdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1g]", + "tag": "Text" + } + ] + }, + "internalId": "227", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "externalIds", + "moduleName": "HaskellCodeExplorer.Types", + "name": "externalIds", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "externalIds", + "sort": "External" + }, + "228": { + "demangledOccName": "not", + "details": "VanillaId", + "externalId": "ghc-prim-0.12.0|GHC.Classes|Val|not", + "idType": { + "components": [ + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "228", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "not", + "moduleName": "GHC.Classes", + "name": "not", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "not", + "sort": "External" + }, + "229": { + "demangledOccName": "isHsBoot", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|isHsBoot", + "idType": { + "components": [ + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "229", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "isHsBoot", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "isHsBoot", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "isHsBoot", + "sort": "External" + }, + "23": { + "demangledOccName": "ue_units", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Unit.Env|Val|ue_units", + "idType": { + "components": [ + { + "internalId": "869", + "name": "HasDebugCallStack", + "tag": "TyCon" + }, + { + "contents": "_r737 => ", + "tag": "Text" + }, + { + "internalId": "842", + "name": "UnitEnv", + "tag": "TyCon" + }, + { + "contents": "_rdPJ -> ", + "tag": "Text" + }, + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "(() :: Constraint) => ", + "tag": "Text" + }, + { + "internalId": "842", + "name": "UnitEnv", + "tag": "TyCon" + }, + { + "contents": "_rdPJ -> ", + "tag": "Text" + }, + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH", + "tag": "Text" + } + ] + }, + "internalId": "23", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ue_units", + "moduleName": "GHC.Unit.Env", + "name": "ue_units", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "ue_units", + "sort": "External" + }, + "230": { + "demangledOccName": "union", + "details": "VanillaId", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal|Val|union", + "idType": { + "components": [ + { + "contents": "forall k v.\n", + "tag": "Text" + }, + { + "internalId": "248", + "name": "Eq", + "tag": "TyCon" + }, + { + "contents": "_23 ", + "tag": "Text" + }, + { + "internalId": "872", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " =>\n", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "872", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "729", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "872", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "729", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "872", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "729", + "name": "v", + "tag": "TyCon" + } + ] + }, + "internalId": "230", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "union", + "moduleName": "Data.HashMap.Internal", + "name": "union", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "union", + "sort": "External" + }, + "231": { + "demangledOccName": "fromList", + "details": "VanillaId", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal.Strict|Val|fromList", + "idType": { + "components": [ + { + "contents": "forall k v.\n(", + "tag": "Text" + }, + { + "internalId": "248", + "name": "Eq", + "tag": "TyCon" + }, + { + "contents": "_23 ", + "tag": "Text" + }, + { + "internalId": "928", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "636", + "name": "Hashable", + "tag": "TyCon" + }, + { + "contents": "_rnh ", + "tag": "Text" + }, + { + "internalId": "928", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ") =>\n[(", + "tag": "Text" + }, + { + "internalId": "928", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "929", + "name": "v", + "tag": "TyCon" + }, + { + "contents": ")] -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "928", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "929", + "name": "v", + "tag": "TyCon" + } + ] + }, + "internalId": "231", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "fromList", + "moduleName": "Data.HashMap.Internal.Strict", + "name": "fromList", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "fromList", + "sort": "External" + }, + "232": { + "demangledOccName": "HaskellFilePath", + "details": "DataConWrapId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|HaskellFilePath", + "idType": { + "components": [ + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g %1 -> ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p", + "tag": "Text" + } + ] + }, + "internalId": "232", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "HaskellFilePath", + "moduleName": "HaskellCodeExplorer.Types", + "name": "HaskellFilePath", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "HaskellFilePath", + "sort": "External" + }, + "234": { + "demangledOccName": "map", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|map", + "idType": { + "components": [ + { + "contents": "forall a b. (", + "tag": "Text" + }, + { + "internalId": "720", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "877", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> [", + "tag": "Text" + }, + { + "internalId": "720", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> [", + "tag": "Text" + }, + { + "internalId": "877", + "name": "b", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "234", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "map", + "moduleName": "GHC.Internal.Base", + "name": "map", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "map", + "sort": "External" + }, + "235": { + "demangledOccName": "singleton", + "details": "VanillaId", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal.Strict|Val|singleton", + "idType": { + "components": [ + { + "contents": "forall k v. ", + "tag": "Text" + }, + { + "internalId": "636", + "name": "Hashable", + "tag": "TyCon" + }, + { + "contents": "_rnh ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "677", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "677", + "name": "v", + "tag": "TyCon" + } + ] + }, + "internalId": "235", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "singleton", + "moduleName": "Data.HashMap.Internal.Strict", + "name": "singleton", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "singleton", + "sort": "External" + }, + "236": { + "demangledOccName": "insertWith", + "details": "VanillaId", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal.Strict|Val|insertWith", + "idType": { + "components": [ + { + "contents": "forall k v.\n(", + "tag": "Text" + }, + { + "internalId": "248", + "name": "Eq", + "tag": "TyCon" + }, + { + "contents": "_23 ", + "tag": "Text" + }, + { + "internalId": "670", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "636", + "name": "Hashable", + "tag": "TyCon" + }, + { + "contents": "_rnh ", + "tag": "Text" + }, + { + "internalId": "670", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ") =>\n(", + "tag": "Text" + }, + { + "internalId": "671", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "671", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "671", + "name": "v", + "tag": "TyCon" + }, + { + "contents": ")\n-> ", + "tag": "Text" + }, + { + "internalId": "670", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "671", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "670", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "671", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "670", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "671", + "name": "v", + "tag": "TyCon" + } + ] + }, + "internalId": "236", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "insertWith", + "moduleName": "Data.HashMap.Internal.Strict", + "name": "insertWith", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "insertWith", + "sort": "External" + }, + "238": { + "demangledOccName": "SourceInfo", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Typ|SourceInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "238", + "isExported": false, + "locationInfo": { + "endColumn": 24, + "endLine": 280, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 275, + "tag": "ExactLocation" + }, + "nameSpace": "TcClsName", + "occName": "SourceInfo", + "sort": "External" + }, + "239": { + "demangledOccName": "SourceInfo", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|SourceInfo", + "idType": { + "components": [ + { + "internalId": "241", + "name": "ExpressionInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r1c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "634", + "name": "IntervalMap", + "tag": "TyCon" + }, + { + "contents": "_r4P (", + "tag": "Text" + }, + { + "internalId": "755", + "name": "Interval", + "tag": "TyCon" + }, + { + "contents": "_r4k (", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)) ", + "tag": "Text" + }, + { + "internalId": "673", + "name": "ExpressionInfo", + "tag": "TyCon" + }, + { + "contents": "_r18\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "763", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy", + "tag": "Text" + } + ] + }, + "internalId": "239", + "isExported": false, + "locationInfo": { + "endColumn": 4, + "endLine": 280, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 19, + "startLine": 275, + "tag": "ExactLocation" + }, + "nameSpace": "DataName", + "occName": "SourceInfo", + "sort": "External" + }, + "24": { + "demangledOccName": "eltsUDFM", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.Unique.DFM|Val|eltsUDFM", + "idType": { + "components": [ + { + "contents": "forall {k} (key :: k) elt. ", + "tag": "Text" + }, + { + "internalId": "748", + "name": "UniqDFM", + "tag": "TyCon" + }, + { + "contents": "_rdC4 ", + "tag": "Text" + }, + { + "internalId": "846", + "name": "key", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "666", + "name": "elt", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "666", + "name": "elt", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "24", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "eltsUDFM", + "moduleName": "GHC.Types.Unique.DFM", + "name": "eltsUDFM", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "eltsUDFM", + "sort": "External" + }, + "241": { + "demangledOccName": "ExpressionInfoMap", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|ExpressionInfoMap", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "241", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ExpressionInfoMap", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ExpressionInfoMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ExpressionInfoMap", + "sort": "External" + }, + "242": { + "demangledOccName": "sourceInfoIdMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|sourceInfoIdMap", + "idType": { + "components": [ + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy -> ", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "763", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N", + "tag": "Text" + } + ] + }, + "internalId": "242", + "isExported": false, + "locationInfo": { + "endColumn": 20, + "endLine": 277, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 5, + "startLine": 277, + "tag": "ExactLocation" + }, + "nameSpace": "VarName", + "occName": "sourceInfoIdMap", + "sort": "External" + }, + "243": { + "demangledOccName": "IdentifierInfoMap", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|IdentifierInfoMap", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "243", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IdentifierInfoMap", + "moduleName": "HaskellCodeExplorer.Types", + "name": "IdentifierInfoMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IdentifierInfoMap", + "sort": "External" + }, + "244": { + "demangledOccName": "sourceInfoIdOccMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|sourceInfoIdOccMap", + "idType": { + "components": [ + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy -> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy\n-> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]", + "tag": "Text" + } + ] + }, + "internalId": "244", + "isExported": false, + "locationInfo": { + "endColumn": 23, + "endLine": 278, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 5, + "startLine": 278, + "tag": "ExactLocation" + }, + "nameSpace": "VarName", + "occName": "sourceInfoIdOccMap", + "sort": "External" + }, + "245": { + "demangledOccName": "IdentifierOccurrenceMap", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|IdentifierOccurrenceMap", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "245", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IdentifierOccurrenceMap", + "moduleName": "HaskellCodeExplorer.Types", + "name": "IdentifierOccurrenceMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IdentifierOccurrenceMap", + "sort": "External" + }, + "246": { + "demangledOccName": "sourceInfoTypeErrors", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|sourceInfoTypeErrors", + "idType": { + "components": [ + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy -> [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT]", + "tag": "Text" + } + ] + }, + "internalId": "246", + "isExported": false, + "locationInfo": { + "endColumn": 25, + "endLine": 279, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 5, + "startLine": 279, + "tag": "ExactLocation" + }, + "nameSpace": "VarName", + "occName": "sourceInfoTypeErrors", + "sort": "External" + }, + "247": { + "demangledOccName": "Show", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Show|Typ|Show", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "247", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Show", + "moduleName": "GHC.Internal.Show", + "name": "Show", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Show", + "sort": "External" + }, + "248": { + "demangledOccName": "Eq", + "externalId": "ghc-prim-0.12.0|GHC.Classes|Typ|Eq", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "248", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Eq", + "moduleName": "GHC.Classes", + "name": "Eq", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Eq", + "sort": "External" + }, + "249": { + "demangledOccName": "transformBiM", + "details": "VanillaId", + "externalId": "uniplate-1.6.13|Data.Generics.Uniplate.Operations|Val|transformBiM", + "idType": { + "components": [ + { + "contents": "forall (m :: Type -> Type) from to.\n(", + "tag": "Text" + }, + { + "internalId": "849", + "name": "Monad", + "tag": "TyCon" + }, + { + "contents": "_28 ", + "tag": "Text" + }, + { + "internalId": "850", + "name": "m", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "777", + "name": "Applicative", + "tag": "TyCon" + }, + { + "contents": "_2y ", + "tag": "Text" + }, + { + "internalId": "850", + "name": "m", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "851", + "name": "Biplate", + "tag": "TyCon" + }, + { + "contents": "_r5Cj ", + "tag": "Text" + }, + { + "internalId": "852", + "name": "from", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "853", + "name": "to", + "tag": "TyCon" + }, + { + "contents": ") =>\n(", + "tag": "Text" + }, + { + "internalId": "853", + "name": "to", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "850", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "853", + "name": "to", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "852", + "name": "from", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "850", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "852", + "name": "from", + "tag": "TyCon" + } + ] + }, + "internalId": "249", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "transformBiM", + "moduleName": "Data.Generics.Uniplate.Operations", + "name": "transformBiM", + "packageId": { + "name": "uniplate", + "version": "1.6.13" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "transformBiM", + "sort": "External" + }, + "25": { + "demangledOccName": "toStrict", + "details": "VanillaId", + "externalId": "text-2.1.2|Data.Text.Lazy|Val|toStrict", + "idType": { + "components": [ + { + "internalId": "647", + "name": "LazyText", + "tag": "TyCon" + }, + { + "contents": "_r55v -> ", + "tag": "Text" + }, + { + "internalId": "750", + "name": "StrictText", + "tag": "TyCon" + }, + { + "contents": "_r4Xg", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "751", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r1FH -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "25", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "toStrict", + "moduleName": "Data.Text.Lazy", + "name": "toStrict", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "toStrict", + "sort": "External" + }, + "252": { + "demangledOccName": "empty", + "details": "VanillaId", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal|Val|empty", + "idType": { + "components": [ + { + "contents": "forall k v. ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "793", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "794", + "name": "v", + "tag": "TyCon" + } + ] + }, + "internalId": "252", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "empty", + "moduleName": "Data.HashMap.Internal", + "name": "empty", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "empty", + "sort": "External" + }, + "253": { + "demangledOccName": "InternalId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|InternalId", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "253", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "InternalId", + "moduleName": "HaskellCodeExplorer.Types", + "name": "InternalId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "InternalId", + "sort": "External" + }, + "254": { + "demangledOccName": "Int", + "externalId": "ghc-prim-0.12.0|GHC.Types|Typ|Int", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "254", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Int", + "moduleName": "GHC.Types", + "name": "Int", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Int", + "sort": "External" + }, + "255": { + "demangledOccName": "lookup", + "details": "VanillaId", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal|Val|lookup", + "idType": { + "components": [ + { + "contents": "forall k v.\n(", + "tag": "Text" + }, + { + "internalId": "248", + "name": "Eq", + "tag": "TyCon" + }, + { + "contents": "_23 ", + "tag": "Text" + }, + { + "internalId": "913", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "636", + "name": "Hashable", + "tag": "TyCon" + }, + { + "contents": "_rnh ", + "tag": "Text" + }, + { + "internalId": "913", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ") =>\n", + "tag": "Text" + }, + { + "internalId": "913", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "913", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "927", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "927", + "name": "v", + "tag": "TyCon" + } + ] + }, + "internalId": "255", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "lookup", + "moduleName": "Data.HashMap.Internal", + "name": "lookup", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "lookup", + "sort": "External" + }, + "258": { + "demangledOccName": "return", + "details": "ClassOpId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|return", + "idType": { + "components": [ + { + "contents": "forall (m :: Type -> Type) a. ", + "tag": "Text" + }, + { + "internalId": "849", + "name": "Monad", + "tag": "TyCon" + }, + { + "contents": "_28 ", + "tag": "Text" + }, + { + "internalId": "895", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "901", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "895", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "901", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "258", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "return", + "moduleName": "GHC.Internal.Base", + "name": "return", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "return", + "sort": "External" + }, + "259": { + "demangledOccName": "InternalId", + "details": "DataConWrapId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|InternalId", + "idType": { + "components": [ + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g %1 -> ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u", + "tag": "Text" + } + ] + }, + "internalId": "259", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "InternalId", + "moduleName": "HaskellCodeExplorer.Types", + "name": "InternalId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "InternalId", + "sort": "External" + }, + "26": { + "demangledOccName": "DocH", + "externalId": "haddock-library-1.11.0|Documentation.Haddock.Types|Typ|DocH", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "26", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "DocH", + "moduleName": "Documentation.Haddock.Types", + "name": "DocH", + "packageId": { + "name": "haddock-library", + "version": "1.11.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "DocH", + "sort": "External" + }, + "263": { + "demangledOccName": "show", + "details": "ClassOpId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Show|Val|show", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "247", + "name": "Show", + "tag": "TyCon" + }, + { + "contents": "_2h ", + "tag": "Text" + }, + { + "internalId": "630", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "630", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "247", + "name": "Show", + "tag": "TyCon" + }, + { + "contents": "_2h ", + "tag": "Text" + }, + { + "internalId": "630", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "630", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]", + "tag": "Text" + } + ] + }, + "internalId": "263", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "show", + "moduleName": "GHC.Internal.Show", + "name": "show", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "show", + "sort": "External" + }, + "265": { + "demangledOccName": "insert", + "details": "VanillaId", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal.Strict|Val|insert", + "idType": { + "components": [ + { + "contents": "forall k v.\n(", + "tag": "Text" + }, + { + "internalId": "248", + "name": "Eq", + "tag": "TyCon" + }, + { + "contents": "_23 ", + "tag": "Text" + }, + { + "internalId": "635", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "636", + "name": "Hashable", + "tag": "TyCon" + }, + { + "contents": "_rnh ", + "tag": "Text" + }, + { + "internalId": "635", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ") =>\n", + "tag": "Text" + }, + { + "internalId": "635", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "637", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "635", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "637", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "635", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "637", + "name": "v", + "tag": "TyCon" + } + ] + }, + "internalId": "265", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "insert", + "moduleName": "Data.HashMap.Internal.Strict", + "name": "insert", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "insert", + "sort": "External" + }, + "266": { + "demangledOccName": "+", + "details": "ClassOpId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Num|Val|+", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "899", + "name": "Num", + "tag": "TyCon" + }, + { + "contents": "_2b ", + "tag": "Text" + }, + { + "internalId": "730", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "730", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "730", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "730", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "266", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "-43-", + "moduleName": "GHC.Internal.Num", + "name": "+", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "+", + "sort": "External" + }, + "267": { + "demangledOccName": "SourceCodeTransformation", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|SourceCodeTransformation", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "267", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "SourceCodeTransformation", + "moduleName": "HaskellCodeExplorer.Types", + "name": "SourceCodeTransformation", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "SourceCodeTransformation", + "sort": "External" + }, + "269": { + "demangledOccName": "decodeUtf8'", + "details": "VanillaId", + "externalId": "text-2.1.2|Data.Text.Encoding|Val|decodeUtf8'", + "idType": { + "components": [ + { + "internalId": "710", + "name": "ByteString", + "tag": "TyCon" + }, + { + "contents": "_rxT -> ", + "tag": "Text" + }, + { + "internalId": "644", + "name": "Either", + "tag": "TyCon" + }, + { + "contents": "_32I ", + "tag": "Text" + }, + { + "internalId": "711", + "name": "UnicodeException", + "tag": "TyCon" + }, + { + "contents": "_r4Xy ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "269", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "decodeUtf8-39-", + "moduleName": "Data.Text.Encoding", + "name": "decodeUtf8'", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "decodeUtf8'", + "sort": "External" + }, + "27": { + "demangledOccName": "showSDocUnsafe", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Utils.Outputable|Val|showSDocUnsafe", + "idType": { + "components": [ + { + "internalId": "856", + "name": "SDoc", + "tag": "TyCon" + }, + { + "contents": "_r6I5 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "856", + "name": "SDoc", + "tag": "TyCon" + }, + { + "contents": "_r6I5 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]", + "tag": "Text" + } + ] + }, + "internalId": "27", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "showSDocUnsafe", + "moduleName": "GHC.Utils.Outputable", + "name": "showSDocUnsafe", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "showSDocUnsafe", + "sort": "External" + }, + "270": { + "demangledOccName": "error", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Err|Val|error", + "idType": { + "components": [ + { + "contents": "forall (r :: RuntimeRep) (a :: TYPE r).\n", + "tag": "Text" + }, + { + "internalId": "744", + "name": "HasCallStack", + "tag": "TyCon" + }, + { + "contents": "_r3os =>\n[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g] -> ", + "tag": "Text" + }, + { + "internalId": "875", + "name": "a", + "tag": "TyCon" + } + ], + "componentsExpanded": [ + { + "contents": "forall (r :: RuntimeRep) (a :: TYPE r).\n(?callStack::", + "tag": "Text" + }, + { + "internalId": "792", + "name": "CallStack", + "tag": "TyCon" + }, + { + "contents": "_36a) =>\n[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g] -> ", + "tag": "Text" + }, + { + "internalId": "875", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "270", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "error", + "moduleName": "GHC.Internal.Err", + "name": "error", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "error", + "sort": "External" + }, + "271": { + "demangledOccName": "stringBufferToByteString", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|stringBufferToByteString", + "idType": { + "components": [ + { + "internalId": "651", + "name": "StringBuffer", + "tag": "TyCon" + }, + { + "contents": "_r5BG -> ", + "tag": "Text" + }, + { + "internalId": "710", + "name": "ByteString", + "tag": "TyCon" + }, + { + "contents": "_rxT", + "tag": "Text" + } + ] + }, + "internalId": "271", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "stringBufferToByteString", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "stringBufferToByteString", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "stringBufferToByteString", + "sort": "External" + }, + "273": { + "demangledOccName": "replace", + "details": "VanillaId", + "externalId": "text-2.1.2|Data.Text|Val|replace", + "idType": { + "components": [ + { + "internalId": "744", + "name": "HasCallStack", + "tag": "TyCon" + }, + { + "contents": "_r3os => ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "(?callStack::", + "tag": "Text" + }, + { + "internalId": "792", + "name": "CallStack", + "tag": "TyCon" + }, + { + "contents": "_36a) =>\n", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "273", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "replace", + "moduleName": "Data.Text", + "name": "replace", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "replace", + "sort": "External" + }, + "28": { + "demangledOccName": "DynFlags", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|DynFlags", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "28", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "DynFlags", + "moduleName": "GHC.Driver.DynFlags", + "name": "DynFlags", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "DynFlags", + "sort": "External" + }, + "280": { + "demangledOccName": "SourceCodeTransformation", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|SourceCodeTransformation", + "idType": { + "components": [ + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "706", + "name": "LinePragma", + "tag": "TyCon" + }, + { + "contents": "_r2x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p (", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "691", + "name": "FileLocation", + "tag": "TyCon" + }, + { + "contents": "_r1j)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B", + "tag": "Text" + } + ] + }, + "internalId": "280", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "SourceCodeTransformation", + "moduleName": "HaskellCodeExplorer.Types", + "name": "SourceCodeTransformation", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "SourceCodeTransformation", + "sort": "External" + }, + "282": { + "demangledOccName": "length", + "details": "ClassOpId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Foldable|Val|length", + "idType": { + "components": [ + { + "contents": "forall (t :: Type -> Type) a. ", + "tag": "Text" + }, + { + "internalId": "663", + "name": "Foldable", + "tag": "TyCon" + }, + { + "contents": "_2z ", + "tag": "Text" + }, + { + "internalId": "918", + "name": "t", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "918", + "name": "t", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "894", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u", + "tag": "Text" + } + ] + }, + "internalId": "282", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "length", + "moduleName": "GHC.Internal.Data.Foldable", + "name": "length", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "length", + "sort": "External" + }, + "283": { + "demangledOccName": "empty", + "details": "VanillaId", + "externalId": "containers-0.7|Data.Set.Internal|Val|empty", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "779", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "283", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "empty", + "moduleName": "Data.Set.Internal", + "name": "empty", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "empty", + "sort": "External" + }, + "285": { + "demangledOccName": "sortOn", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.OldList|Val|sortOn", + "idType": { + "components": [ + { + "contents": "forall b a. ", + "tag": "Text" + }, + { + "internalId": "640", + "name": "Ord", + "tag": "TyCon" + }, + { + "contents": "_2c ", + "tag": "Text" + }, + { + "internalId": "746", + "name": "b", + "tag": "TyCon" + }, + { + "contents": " => (", + "tag": "Text" + }, + { + "internalId": "747", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "746", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> [", + "tag": "Text" + }, + { + "internalId": "747", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> [", + "tag": "Text" + }, + { + "internalId": "747", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "285", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "sortOn", + "moduleName": "GHC.Internal.Data.OldList", + "name": "sortOn", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "sortOn", + "sort": "External" + }, + "288": { + "demangledOccName": "maxBound", + "details": "ClassOpId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Enum|Val|maxBound", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "742", + "name": "Bounded", + "tag": "TyCon" + }, + { + "contents": "_21 ", + "tag": "Text" + }, + { + "internalId": "715", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "715", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "288", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "maxBound", + "moduleName": "GHC.Internal.Enum", + "name": "maxBound", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "maxBound", + "sort": "External" + }, + "289": { + "demangledOccName": "ungroup", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|ungroup", + "idType": { + "components": [ + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa -> [", + "tag": "Text" + }, + { + "internalId": "61", + "name": "LHsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5y7 ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n-> [", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n (", + "tag": "Text" + }, + { + "internalId": "57", + "name": "HsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5yd (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc))]", + "tag": "Text" + } + ] + }, + "internalId": "289", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ungroup", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "ungroup", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "ungroup", + "sort": "External" + }, + "29": { + "demangledOccName": "targetPlatform", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Val|targetPlatform", + "idType": { + "components": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0 -> ", + "tag": "Text" + }, + { + "internalId": "802", + "name": "Platform", + "tag": "TyCon" + }, + { + "contents": "_r7Mq", + "tag": "Text" + } + ] + }, + "internalId": "29", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "targetPlatform", + "moduleName": "GHC.Driver.DynFlags", + "name": "targetPlatform", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "targetPlatform", + "sort": "External" + }, + "291": { + "demangledOccName": "partition", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.OldList|Val|partition", + "idType": { + "components": [ + { + "contents": "forall a. (", + "tag": "Text" + }, + { + "internalId": "645", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38) -> [", + "tag": "Text" + }, + { + "internalId": "645", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> ([", + "tag": "Text" + }, + { + "internalId": "645", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "], [", + "tag": "Text" + }, + { + "internalId": "645", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "])", + "tag": "Text" + } + ] + }, + "internalId": "291", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "partition", + "moduleName": "GHC.Internal.Data.OldList", + "name": "partition", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "partition", + "sort": "External" + }, + "293": { + "demangledOccName": "True", + "details": "DataConWorkId", + "externalId": "ghc-prim-0.12.0|GHC.Types|Val|True", + "idType": { + "components": [ + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "293", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "True", + "moduleName": "GHC.Types", + "name": "True", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "True", + "sort": "External" + }, + "295": { + "demangledOccName": "False", + "details": "DataConWorkId", + "externalId": "ghc-prim-0.12.0|GHC.Types|Val|False", + "idType": { + "components": [ + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "295", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "False", + "moduleName": "GHC.Types", + "name": "False", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "False", + "sort": "External" + }, + "297": { + "demangledOccName": "collectDocs", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|collectDocs", + "idType": { + "components": [ + { + "contents": "[", + "tag": "Text" + }, + { + "internalId": "61", + "name": "LHsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5y7 ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa]\n-> [(", + "tag": "Text" + }, + { + "internalId": "61", + "name": "LHsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5y7 ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa, [", + "tag": "Text" + }, + { + "internalId": "70", + "name": "LHsDoc", + "tag": "TyCon" + }, + { + "contents": "_r5y8 ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa])]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "[", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n (", + "tag": "Text" + }, + { + "internalId": "57", + "name": "HsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5yd (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc))]\n-> [(", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n (", + "tag": "Text" + }, + { + "internalId": "57", + "name": "HsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5yd (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)),\n [", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya\n ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n (", + "tag": "Text" + }, + { + "internalId": "71", + "name": "WithHsDocIdentifiers", + "tag": "TyCon" + }, + { + "contents": "_r5yg\n ", + "tag": "Text" + }, + { + "internalId": "69", + "name": "HsDocString", + "tag": "TyCon" + }, + { + "contents": "_r5x2 (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc))])]", + "tag": "Text" + } + ] + }, + "internalId": "297", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "collectDocs", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "collectDocs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "collectDocs", + "sort": "External" + }, + "299": { + "demangledOccName": "Map", + "externalId": "containers-0.7|Data.Map.Internal|Typ|Map", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "299", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Map", + "moduleName": "Data.Map.Internal", + "name": "Map", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Map", + "sort": "External" + }, + "3": { + "demangledOccName": "execState", + "details": "VanillaId", + "externalId": "transformers-0.6.1.1|Control.Monad.Trans.State.Strict|Val|execState", + "idType": { + "components": [ + { + "contents": "forall s a. ", + "tag": "Text" + }, + { + "internalId": "7", + "name": "State", + "tag": "TyCon" + }, + { + "contents": "_rgmR ", + "tag": "Text" + }, + { + "internalId": "723", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "724", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "723", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "723", + "name": "s", + "tag": "TyCon" + } + ], + "componentsExpanded": [ + { + "contents": "forall s a. ", + "tag": "Text" + }, + { + "internalId": "669", + "name": "StateT", + "tag": "TyCon" + }, + { + "contents": "_rgmU ", + "tag": "Text" + }, + { + "internalId": "723", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "725", + "name": "Identity", + "tag": "TyCon" + }, + { + "contents": "_r54 ", + "tag": "Text" + }, + { + "internalId": "724", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "723", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "723", + "name": "s", + "tag": "TyCon" + } + ] + }, + "internalId": "3", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "execState", + "moduleName": "Control.Monad.Trans.State.Strict", + "name": "execState", + "packageId": { + "name": "transformers", + "version": "0.6.1.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "execState", + "sort": "External" + }, + "30": { + "demangledOccName": "GenLocated", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Typ|GenLocated", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "30", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GenLocated", + "moduleName": "GHC.Types.SrcLoc", + "name": "GenLocated", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GenLocated", + "sort": "External" + }, + "300": { + "demangledOccName": "fromList", + "details": "VanillaId", + "externalId": "containers-0.7|Data.Map.Strict.Internal|Val|fromList", + "idType": { + "components": [ + { + "contents": "forall k a. ", + "tag": "Text" + }, + { + "internalId": "640", + "name": "Ord", + "tag": "TyCon" + }, + { + "contents": "_2c ", + "tag": "Text" + }, + { + "internalId": "907", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " => [(", + "tag": "Text" + }, + { + "internalId": "907", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "790", + "name": "a", + "tag": "TyCon" + }, + { + "contents": ")] -> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId ", + "tag": "Text" + }, + { + "internalId": "907", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "790", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "300", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "fromList", + "moduleName": "Data.Map.Strict.Internal", + "name": "fromList", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "fromList", + "sort": "External" + }, + "307": { + "demangledOccName": "Maybe", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Maybe|Typ|Maybe", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "307", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Maybe", + "moduleName": "GHC.Internal.Maybe", + "name": "Maybe", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Maybe", + "sort": "External" + }, + "308": { + "demangledOccName": "LocationInfo", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|LocationInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "308", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LocationInfo", + "moduleName": "HaskellCodeExplorer.Types", + "name": "LocationInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LocationInfo", + "sort": "External" + }, + "309": { + "demangledOccName": "nameLocationInfo", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|nameLocationInfo", + "idType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n-> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H", + "tag": "Text" + } + ] + }, + "internalId": "309", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "nameLocationInfo", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "nameLocationInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "nameLocationInfo", + "sort": "External" + }, + "31": { + "demangledOccName": "pprParenSymName", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC|Val|pprParenSymName", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "768", + "name": "NamedThing", + "tag": "TyCon" + }, + { + "contents": "_r6iL ", + "tag": "Text" + }, + { + "internalId": "789", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "789", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "856", + "name": "SDoc", + "tag": "TyCon" + }, + { + "contents": "_r6I5", + "tag": "Text" + } + ] + }, + "internalId": "31", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "pprParenSymName", + "moduleName": "GHC", + "name": "pprParenSymName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "pprParenSymName", + "sort": "External" + }, + "319": { + "demangledOccName": "HTML", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|HTML", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "319", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HTML", + "moduleName": "HaskellCodeExplorer.Types", + "name": "HTML", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HTML", + "sort": "External" + }, + "32": { + "demangledOccName": "ModSummary", + "externalId": "ghc-9.10.2|GHC.Unit.Module.ModSummary|Typ|ModSummary", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "32", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModSummary", + "moduleName": "GHC.Unit.Module.ModSummary", + "name": "ModSummary", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModSummary", + "sort": "External" + }, + "320": { + "demangledOccName": "docWithNamesToHtml", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|docWithNamesToHtml", + "idType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "26", + "name": "DocH", + "tag": "TyCon" + }, + { + "contents": "_rVo (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4) ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "319", + "name": "HTML", + "tag": "TyCon" + }, + { + "contents": "_r1o", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "26", + "name": "DocH", + "tag": "TyCon" + }, + { + "contents": "_rVo (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4) ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "320", + "isExported": false, + "locationInfo": { + "endColumn": 19, + "endLine": 527, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 527, + "tag": "ExactLocation" + }, + "nameSpace": "VarName", + "occName": "docWithNamesToHtml", + "sort": "External" + }, + "323": { + "demangledOccName": "instanceToText", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|instanceToText", + "idType": { + "components": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0 -> ", + "tag": "Text" + }, + { + "internalId": "854", + "name": "ClsInst", + "tag": "TyCon" + }, + { + "contents": "_r5Aa -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "323", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "instanceToText", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "instanceToText", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "instanceToText", + "sort": "External" + }, + "326": { + "demangledOccName": "lookup", + "details": "VanillaId", + "externalId": "containers-0.7|Data.Map.Internal|Val|lookup", + "idType": { + "components": [ + { + "contents": "forall k a. ", + "tag": "Text" + }, + { + "internalId": "640", + "name": "Ord", + "tag": "TyCon" + }, + { + "contents": "_2c ", + "tag": "Text" + }, + { + "internalId": "641", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "641", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId ", + "tag": "Text" + }, + { + "internalId": "641", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "642", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "642", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "326", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "lookup", + "moduleName": "Data.Map.Internal", + "name": "lookup", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "lookup", + "sort": "External" + }, + "33": { + "demangledOccName": "locA", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Parser.Annotation|Val|locA", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "656", + "name": "HasLoc", + "tag": "TyCon" + }, + { + "contents": "_r6gH ", + "tag": "Text" + }, + { + "internalId": "728", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "728", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ", + "tag": "Text" + } + ] + }, + "internalId": "33", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "locA", + "moduleName": "GHC.Parser.Annotation", + "name": "locA", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "locA", + "sort": "External" + }, + "332": { + "demangledOccName": "hsDocsToDocH", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|hsDocsToDocH", + "idType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "95", + "name": "GlobalRdrEnv", + "tag": "TyCon" + }, + { + "contents": "_r5x1\n-> [", + "tag": "Text" + }, + { + "internalId": "69", + "name": "HsDocString", + "tag": "TyCon" + }, + { + "contents": "_r5x2]\n-> ", + "tag": "Text" + }, + { + "internalId": "687", + "name": "Doc", + "tag": "TyCon" + }, + { + "contents": "_r5y4 ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "859", + "name": "OccEnv", + "tag": "TyCon" + }, + { + "contents": "_rcRM [", + "tag": "Text" + }, + { + "internalId": "743", + "name": "GlobalRdrEltX", + "tag": "TyCon" + }, + { + "contents": "_r6HG ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "GREInfo", + "tag": "TyCon" + }, + { + "contents": "_rd3K]\n-> [", + "tag": "Text" + }, + { + "internalId": "69", + "name": "HsDocString", + "tag": "TyCon" + }, + { + "contents": "_r5x2]\n-> ", + "tag": "Text" + }, + { + "internalId": "26", + "name": "DocH", + "tag": "TyCon" + }, + { + "contents": "_rVo (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4) ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5", + "tag": "Text" + } + ] + }, + "internalId": "332", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "hsDocsToDocH", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "hsDocsToDocH", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "hsDocsToDocH", + "sort": "External" + }, + "334": { + "demangledOccName": "DefinitionSite", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|DefinitionSite", + "idType": { + "components": [ + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H %1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "319", + "name": "HTML", + "tag": "TyCon" + }, + { + "contents": "_r1o %1 -> ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H %1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g %1 -> ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS", + "tag": "Text" + } + ] + }, + "internalId": "334", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "DefinitionSite", + "moduleName": "HaskellCodeExplorer.Types", + "name": "DefinitionSite", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "DefinitionSite", + "sort": "External" + }, + "34": { + "demangledOccName": "getLocA", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Parser.Annotation|Val|getLocA", + "idType": { + "components": [ + { + "contents": "forall a e. ", + "tag": "Text" + }, + { + "internalId": "656", + "name": "HasLoc", + "tag": "TyCon" + }, + { + "contents": "_r6gH ", + "tag": "Text" + }, + { + "internalId": "657", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya ", + "tag": "Text" + }, + { + "internalId": "657", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "658", + "name": "e", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ", + "tag": "Text" + } + ] + }, + "internalId": "34", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "getLocA", + "moduleName": "GHC.Parser.Annotation", + "name": "getLocA", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "getLocA", + "sort": "External" + }, + "340": { + "demangledOccName": "getMainDeclBinder", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|getMainDeclBinder", + "idType": { + "components": [ + { + "internalId": "57", + "name": "HsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5yd ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa -> [", + "tag": "Text" + }, + { + "internalId": "786", + "name": "IdP", + "tag": "TyCon" + }, + { + "contents": "_r5zj ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "57", + "name": "HsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5yd (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n-> [", + "tag": "Text" + }, + { + "internalId": "786", + "name": "IdP", + "tag": "TyCon" + }, + { + "contents": "_r5zj (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)]", + "tag": "Text" + } + ] + }, + "internalId": "340", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "getMainDeclBinder", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "getMainDeclBinder", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "getMainDeclBinder", + "sort": "External" + }, + "347": { + "demangledOccName": "L", + "details": "DataConWorkId", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Val|L", + "idType": { + "components": [ + { + "contents": "forall l e. ", + "tag": "Text" + }, + { + "internalId": "857", + "name": "l", + "tag": "TyCon" + }, + { + "contents": " %1 -> ", + "tag": "Text" + }, + { + "internalId": "897", + "name": "e", + "tag": "TyCon" + }, + { + "contents": " %1 -> ", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya ", + "tag": "Text" + }, + { + "internalId": "857", + "name": "l", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "897", + "name": "e", + "tag": "TyCon" + } + ] + }, + "internalId": "347", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "L", + "moduleName": "GHC.Types.SrcLoc", + "name": "L", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "L", + "sort": "External" + }, + "35": { + "demangledOccName": "ModuleInfo", + "externalId": "ghc-9.10.2|GHC|Typ|ModuleInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "35", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModuleInfo", + "moduleName": "GHC", + "name": "ModuleInfo", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModuleInfo", + "sort": "External" + }, + "352": { + "demangledOccName": "subordinateNamesWithDocs", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|subordinateNamesWithDocs", + "idType": { + "components": [ + { + "contents": "[", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ (", + "tag": "Text" + }, + { + "internalId": "57", + "name": "HsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5yd ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa)]\n-> [(", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5, [", + "tag": "Text" + }, + { + "internalId": "70", + "name": "LHsDoc", + "tag": "TyCon" + }, + { + "contents": "_r5y8 ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa], ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ)]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "[", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya\n ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ (", + "tag": "Text" + }, + { + "internalId": "57", + "name": "HsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5yd (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc))]\n-> [(", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5,\n [", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya\n ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n (", + "tag": "Text" + }, + { + "internalId": "71", + "name": "WithHsDocIdentifiers", + "tag": "TyCon" + }, + { + "contents": "_r5yg\n ", + "tag": "Text" + }, + { + "internalId": "69", + "name": "HsDocString", + "tag": "TyCon" + }, + { + "contents": "_r5x2 (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc))],\n ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ)]", + "tag": "Text" + } + ] + }, + "internalId": "352", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "subordinateNamesWithDocs", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "subordinateNamesWithDocs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "subordinateNamesWithDocs", + "sort": "External" + }, + "353": { + "demangledOccName": "occNameNameSpace", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|occNameNameSpace", + "idType": { + "components": [ + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4 -> ", + "tag": "Text" + }, + { + "internalId": "847", + "name": "NameSpace", + "tag": "TyCon" + }, + { + "contents": "_r3e", + "tag": "Text" + } + ] + }, + "internalId": "353", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "occNameNameSpace", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "occNameNameSpace", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "occNameNameSpace", + "sort": "External" + }, + "356": { + "demangledOccName": "OccName", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|OccName", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "356", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "OccName", + "moduleName": "HaskellCodeExplorer.Types", + "name": "OccName", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "OccName", + "sort": "External" + }, + "357": { + "demangledOccName": "DefinitionSite", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|DefinitionSite", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "357", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "DefinitionSite", + "moduleName": "HaskellCodeExplorer.Types", + "name": "DefinitionSite", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "DefinitionSite", + "sort": "External" + }, + "358": { + "demangledOccName": "fromListWith", + "details": "VanillaId", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal.Strict|Val|fromListWith", + "idType": { + "components": [ + { + "contents": "forall k v.\n(", + "tag": "Text" + }, + { + "internalId": "248", + "name": "Eq", + "tag": "TyCon" + }, + { + "contents": "_23 ", + "tag": "Text" + }, + { + "internalId": "686", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "636", + "name": "Hashable", + "tag": "TyCon" + }, + { + "contents": "_rnh ", + "tag": "Text" + }, + { + "internalId": "686", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ") =>\n(", + "tag": "Text" + }, + { + "internalId": "939", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "939", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "939", + "name": "v", + "tag": "TyCon" + }, + { + "contents": ") -> [(", + "tag": "Text" + }, + { + "internalId": "686", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "939", + "name": "v", + "tag": "TyCon" + }, + { + "contents": ")] -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "686", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "939", + "name": "v", + "tag": "TyCon" + } + ] + }, + "internalId": "358", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "fromListWith", + "moduleName": "Data.HashMap.Internal.Strict", + "name": "fromListWith", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "fromListWith", + "sort": "External" + }, + "36": { + "demangledOccName": "ModuleName", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Module.Name|Typ|ModuleName", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "36", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModuleName", + "moduleName": "Language.Haskell.Syntax.Module.Name", + "name": "ModuleName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModuleName", + "sort": "External" + }, + "360": { + "demangledOccName": "mappend", + "details": "ClassOpId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|mappend", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "767", + "name": "Monoid", + "tag": "TyCon" + }, + { + "contents": "_2M ", + "tag": "Text" + }, + { + "internalId": "700", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "700", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "700", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "700", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "360", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "mappend", + "moduleName": "GHC.Internal.Base", + "name": "mappend", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "mappend", + "sort": "External" + }, + "367": { + "demangledOccName": "null", + "details": "ClassOpId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Foldable|Val|null", + "idType": { + "components": [ + { + "contents": "forall (t :: Type -> Type) a. ", + "tag": "Text" + }, + { + "internalId": "663", + "name": "Foldable", + "tag": "TyCon" + }, + { + "contents": "_2z ", + "tag": "Text" + }, + { + "internalId": "918", + "name": "t", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "918", + "name": "t", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "874", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "367", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "null", + "moduleName": "GHC.Internal.Data.Foldable", + "name": "null", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "null", + "sort": "External" + }, + "37": { + "demangledOccName": "TyThing", + "externalId": "ghc-9.10.2|GHC.Types.TyThing|Typ|TyThing", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "37", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TyThing", + "moduleName": "GHC.Types.TyThing", + "name": "TyThing", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TyThing", + "sort": "External" + }, + "372": { + "demangledOccName": "OccName", + "details": "DataConWrapId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|OccName", + "idType": { + "components": [ + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g %1 -> ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j", + "tag": "Text" + } + ] + }, + "internalId": "372", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "OccName", + "moduleName": "HaskellCodeExplorer.Types", + "name": "OccName", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "OccName", + "sort": "External" + }, + "374": { + "demangledOccName": "toText", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|toText", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "Outputable", + "tag": "TyCon" + }, + { + "contents": "_r5BL ", + "tag": "Text" + }, + { + "internalId": "920", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "920", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "374", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "toText", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "toText", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "toText", + "sort": "External" + }, + "375": { + "demangledOccName": "DefinitionSiteMap", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|DefinitionSiteMap", + "idType": { + "components": [ + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW", + "tag": "Text" + } + ] + }, + "internalId": "375", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "DefinitionSiteMap", + "moduleName": "HaskellCodeExplorer.Types", + "name": "DefinitionSiteMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "DefinitionSiteMap", + "sort": "External" + }, + "377": { + "demangledOccName": "values", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|values", + "idType": { + "components": [ + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS", + "tag": "Text" + } + ] + }, + "internalId": "377", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "values", + "moduleName": "HaskellCodeExplorer.Types", + "name": "values", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "values", + "sort": "External" + }, + "379": { + "demangledOccName": "types", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|types", + "idType": { + "components": [ + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS", + "tag": "Text" + } + ] + }, + "internalId": "379", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "types", + "moduleName": "HaskellCodeExplorer.Types", + "name": "types", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "types", + "sort": "External" + }, + "38": { + "demangledOccName": "Type", + "externalId": "ghc-9.10.2|GHC.Core.TyCo.Rep|Typ|Type", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "38", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Type", + "moduleName": "GHC.Core.TyCo.Rep", + "name": "Type", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Type", + "sort": "External" + }, + "381": { + "demangledOccName": "instances", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|instances", + "idType": { + "components": [ + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS", + "tag": "Text" + } + ] + }, + "internalId": "381", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "instances", + "moduleName": "HaskellCodeExplorer.Types", + "name": "instances", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "instances", + "sort": "External" + }, + "383": { + "demangledOccName": "occNameToHtml", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|occNameToHtml", + "idType": { + "components": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4)\n-> ", + "tag": "Text" + }, + { + "internalId": "385", + "name": "Html", + "tag": "TyCon" + }, + { + "contents": "_rVn", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4)\n-> ", + "tag": "Text" + }, + { + "internalId": "661", + "name": "MarkupM", + "tag": "TyCon" + }, + { + "contents": "_r1Xi ()", + "tag": "Text" + } + ] + }, + "internalId": "383", + "isExported": false, + "locationInfo": { + "endColumn": 14, + "endLine": 483, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 483, + "tag": "ExactLocation" + }, + "nameSpace": "VarName", + "occName": "occNameToHtml", + "sort": "External" + }, + "385": { + "demangledOccName": "Html", + "externalId": "blaze-html-0.9.2.0|Text.Blaze.Html|Typ|Html", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "385", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Html", + "moduleName": "Text.Blaze.Html", + "name": "Html", + "packageId": { + "name": "blaze-html", + "version": "0.9.2.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Html", + "sort": "External" + }, + "387": { + "demangledOccName": "textValue", + "details": "VanillaId", + "externalId": "blaze-markup-0.8.3.0|Text.Blaze.Internal|Val|textValue", + "idType": { + "components": [ + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "672", + "name": "AttributeValue", + "tag": "TyCon" + }, + { + "contents": "_r1WX", + "tag": "Text" + } + ] + }, + "internalId": "387", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "textValue", + "moduleName": "Text.Blaze.Internal", + "name": "textValue", + "packageId": { + "name": "blaze-markup", + "version": "0.8.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "textValue", + "sort": "External" + }, + "388": { + "demangledOccName": "toJSON", + "details": "ClassOpId", + "externalId": "aeson-2.2.3.0|Data.Aeson.Types.ToJSON|Val|toJSON", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "898", + "name": "ToJSON", + "tag": "TyCon" + }, + { + "contents": "_rHe ", + "tag": "Text" + }, + { + "internalId": "887", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "887", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "902", + "name": "Value", + "tag": "TyCon" + }, + { + "contents": "_rHj", + "tag": "Text" + } + ] + }, + "internalId": "388", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "toJSON", + "moduleName": "Data.Aeson.Types.ToJSON", + "name": "toJSON", + "packageId": { + "name": "aeson", + "version": "2.2.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "toJSON", + "sort": "External" + }, + "389": { + "demangledOccName": "occNameLocationInfo", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|occNameLocationInfo", + "idType": { + "components": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4)\n-> ", + "tag": "Text" + }, + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H", + "tag": "Text" + } + ] + }, + "internalId": "389", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "occNameLocationInfo", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "occNameLocationInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "occNameLocationInfo", + "sort": "External" + }, + "39": { + "demangledOccName": "TypecheckedModule", + "externalId": "ghc-9.10.2|GHC|Typ|TypecheckedModule", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "39", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TypecheckedModule", + "moduleName": "GHC", + "name": "TypecheckedModule", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TypecheckedModule", + "sort": "External" + }, + "395": { + "demangledOccName": "span", + "details": "VanillaId", + "externalId": "blaze-html-0.9.2.0|Text.Blaze.Html5|Val|span", + "idType": { + "components": [ + { + "internalId": "385", + "name": "Html", + "tag": "TyCon" + }, + { + "contents": "_rVn -> ", + "tag": "Text" + }, + { + "internalId": "385", + "name": "Html", + "tag": "TyCon" + }, + { + "contents": "_rVn", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "661", + "name": "MarkupM", + "tag": "TyCon" + }, + { + "contents": "_r1Xi () -> ", + "tag": "Text" + }, + { + "internalId": "661", + "name": "MarkupM", + "tag": "TyCon" + }, + { + "contents": "_r1Xi ()", + "tag": "Text" + } + ] + }, + "internalId": "395", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "span", + "moduleName": "Text.Blaze.Html5", + "name": "span", + "packageId": { + "name": "blaze-html", + "version": "0.9.2.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "span", + "sort": "External" + }, + "396": { + "demangledOccName": "!", + "details": "ClassOpId", + "externalId": "blaze-markup-0.8.3.0|Text.Blaze.Internal|Val|!", + "idType": { + "components": [ + { + "contents": "forall h. ", + "tag": "Text" + }, + { + "internalId": "712", + "name": "Attributable", + "tag": "TyCon" + }, + { + "contents": "_r1WU ", + "tag": "Text" + }, + { + "internalId": "662", + "name": "h", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "662", + "name": "h", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "713", + "name": "Attribute", + "tag": "TyCon" + }, + { + "contents": "_r1WW -> ", + "tag": "Text" + }, + { + "internalId": "662", + "name": "h", + "tag": "TyCon" + } + ] + }, + "internalId": "396", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "-33-", + "moduleName": "Text.Blaze.Internal", + "name": "!", + "packageId": { + "name": "blaze-markup", + "version": "0.8.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "!", + "sort": "External" + }, + "397": { + "demangledOccName": "dataAttribute", + "details": "VanillaId", + "externalId": "blaze-markup-0.8.3.0|Text.Blaze.Internal|Val|dataAttribute", + "idType": { + "components": [ + { + "internalId": "732", + "name": "Tag", + "tag": "TyCon" + }, + { + "contents": "_r1WZ -> ", + "tag": "Text" + }, + { + "internalId": "672", + "name": "AttributeValue", + "tag": "TyCon" + }, + { + "contents": "_r1WX -> ", + "tag": "Text" + }, + { + "internalId": "713", + "name": "Attribute", + "tag": "TyCon" + }, + { + "contents": "_r1WW", + "tag": "Text" + } + ] + }, + "internalId": "397", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "dataAttribute", + "moduleName": "Text.Blaze.Internal", + "name": "dataAttribute", + "packageId": { + "name": "blaze-markup", + "version": "0.8.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "dataAttribute", + "sort": "External" + }, + "398": { + "demangledOccName": "class_", + "details": "VanillaId", + "externalId": "blaze-html-0.9.2.0|Text.Blaze.Html5.Attributes|Val|class_", + "idType": { + "components": [ + { + "internalId": "672", + "name": "AttributeValue", + "tag": "TyCon" + }, + { + "contents": "_r1WX -> ", + "tag": "Text" + }, + { + "internalId": "713", + "name": "Attribute", + "tag": "TyCon" + }, + { + "contents": "_r1WW", + "tag": "Text" + } + ] + }, + "internalId": "398", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "class_", + "moduleName": "Text.Blaze.Html5.Attributes", + "name": "class_", + "packageId": { + "name": "blaze-html", + "version": "0.9.2.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "class_", + "sort": "External" + }, + "399": { + "demangledOccName": "toHtml", + "details": "VanillaId", + "externalId": "blaze-html-0.9.2.0|Text.Blaze.Html|Val|toHtml", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "659", + "name": "ToMarkup", + "tag": "TyCon" + }, + { + "contents": "_r1WO ", + "tag": "Text" + }, + { + "internalId": "660", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "660", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "385", + "name": "Html", + "tag": "TyCon" + }, + { + "contents": "_rVn", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "659", + "name": "ToMarkup", + "tag": "TyCon" + }, + { + "contents": "_r1WO ", + "tag": "Text" + }, + { + "internalId": "660", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "660", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "661", + "name": "MarkupM", + "tag": "TyCon" + }, + { + "contents": "_r1Xi ()", + "tag": "Text" + } + ] + }, + "internalId": "399", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "toHtml", + "moduleName": "Text.Blaze.Html", + "name": "toHtml", + "packageId": { + "name": "blaze-html", + "version": "0.9.2.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "toHtml", + "sort": "External" + }, + "4": { + "demangledOccName": "evalState", + "details": "VanillaId", + "externalId": "transformers-0.6.1.1|Control.Monad.Trans.State.Strict|Val|evalState", + "idType": { + "components": [ + { + "contents": "forall s a. ", + "tag": "Text" + }, + { + "internalId": "7", + "name": "State", + "tag": "TyCon" + }, + { + "contents": "_rgmR ", + "tag": "Text" + }, + { + "internalId": "909", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "864", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "909", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "864", + "name": "a", + "tag": "TyCon" + } + ], + "componentsExpanded": [ + { + "contents": "forall s a. ", + "tag": "Text" + }, + { + "internalId": "669", + "name": "StateT", + "tag": "TyCon" + }, + { + "contents": "_rgmU ", + "tag": "Text" + }, + { + "internalId": "909", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "725", + "name": "Identity", + "tag": "TyCon" + }, + { + "contents": "_r54 ", + "tag": "Text" + }, + { + "internalId": "864", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "909", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "864", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "4", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "evalState", + "moduleName": "Control.Monad.Trans.State.Strict", + "name": "evalState", + "packageId": { + "name": "transformers", + "version": "0.6.1.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "evalState", + "sort": "External" + }, + "40": { + "demangledOccName": "getLoc", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Val|getLoc", + "idType": { + "components": [ + { + "contents": "forall l e. ", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya ", + "tag": "Text" + }, + { + "internalId": "796", + "name": "l", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "e", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "796", + "name": "l", + "tag": "TyCon" + } + ] + }, + "internalId": "40", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "getLoc", + "moduleName": "GHC.Types.SrcLoc", + "name": "getLoc", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "getLoc", + "sort": "External" + }, + "400": { + "demangledOccName": "nameToHtml", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|nameToHtml", + "idType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "385", + "name": "Html", + "tag": "TyCon" + }, + { + "contents": "_rVn", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "661", + "name": "MarkupM", + "tag": "TyCon" + }, + { + "contents": "_r1Xi ()", + "tag": "Text" + } + ] + }, + "internalId": "400", + "isExported": false, + "locationInfo": { + "endColumn": 11, + "endLine": 500, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 500, + "tag": "ExactLocation" + }, + "nameSpace": "VarName", + "occName": "nameToHtml", + "sort": "External" + }, + "41": { + "demangledOccName": "isGoodSrcSpan", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Val|isGoodSrcSpan", + "idType": { + "components": [ + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "41", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "isGoodSrcSpan", + "moduleName": "GHC.Types.SrcLoc", + "name": "isGoodSrcSpan", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "isGoodSrcSpan", + "sort": "External" + }, + "411": { + "demangledOccName": "nameToText", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|nameToText", + "idType": { + "components": [ + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "411", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "nameToText", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "nameToText", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "nameToText", + "sort": "External" + }, + "412": { + "demangledOccName": "docToHtml", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|docToHtml", + "idType": { + "components": [ + { + "contents": "forall mod id.\n(", + "tag": "Text" + }, + { + "internalId": "718", + "name": "mod", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "385", + "name": "Html", + "tag": "TyCon" + }, + { + "contents": "_rVn)\n-> (", + "tag": "Text" + }, + { + "internalId": "719", + "name": "id", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "385", + "name": "Html", + "tag": "TyCon" + }, + { + "contents": "_rVn) -> ", + "tag": "Text" + }, + { + "internalId": "26", + "name": "DocH", + "tag": "TyCon" + }, + { + "contents": "_rVo ", + "tag": "Text" + }, + { + "internalId": "718", + "name": "mod", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "719", + "name": "id", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "319", + "name": "HTML", + "tag": "TyCon" + }, + { + "contents": "_r1o", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall mod id.\n(", + "tag": "Text" + }, + { + "internalId": "718", + "name": "mod", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "661", + "name": "MarkupM", + "tag": "TyCon" + }, + { + "contents": "_r1Xi ())\n-> (", + "tag": "Text" + }, + { + "internalId": "719", + "name": "id", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "661", + "name": "MarkupM", + "tag": "TyCon" + }, + { + "contents": "_r1Xi ()) -> ", + "tag": "Text" + }, + { + "internalId": "26", + "name": "DocH", + "tag": "TyCon" + }, + { + "contents": "_rVo ", + "tag": "Text" + }, + { + "internalId": "718", + "name": "mod", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "719", + "name": "id", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "412", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "docToHtml", + "moduleName": "HaskellCodeExplorer.Types", + "name": "docToHtml", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "docToHtml", + "sort": "External" + }, + "42": { + "demangledOccName": "modInfoExportsWithSelectors", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC|Val|modInfoExportsWithSelectors", + "idType": { + "components": [ + { + "internalId": "35", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r619 -> [", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5]", + "tag": "Text" + } + ] + }, + "internalId": "42", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "modInfoExportsWithSelectors", + "moduleName": "GHC", + "name": "modInfoExportsWithSelectors", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "modInfoExportsWithSelectors", + "sort": "External" + }, + "420": { + "demangledOccName": "Set", + "externalId": "containers-0.7|Data.Set.Internal|Typ|Set", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "420", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Set", + "moduleName": "Data.Set.Internal", + "name": "Set", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Set", + "sort": "External" + }, + "421": { + "demangledOccName": "Declaration", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|Declaration", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "421", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Declaration", + "moduleName": "HaskellCodeExplorer.Types", + "name": "Declaration", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Declaration", + "sort": "External" + }, + "423": { + "demangledOccName": "srcSpanToLineAndColNumbers", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|srcSpanToLineAndColNumbers", + "idType": { + "components": [ + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U\n (", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p, (", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), (", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u))", + "tag": "Text" + } + ] + }, + "internalId": "423", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "srcSpanToLineAndColNumbers", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "srcSpanToLineAndColNumbers", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "srcSpanToLineAndColNumbers", + "sort": "External" + }, + "428": { + "demangledOccName": "Type", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|Type", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "428", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Type", + "moduleName": "HaskellCodeExplorer.Types", + "name": "Type", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Type", + "sort": "External" + }, + "43": { + "demangledOccName": "modInfoInstances", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC|Val|modInfoInstances", + "idType": { + "components": [ + { + "internalId": "35", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r619 -> [", + "tag": "Text" + }, + { + "internalId": "854", + "name": "ClsInst", + "tag": "TyCon" + }, + { + "contents": "_r5Aa]", + "tag": "Text" + } + ] + }, + "internalId": "43", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "modInfoInstances", + "moduleName": "GHC", + "name": "modInfoInstances", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "modInfoInstances", + "sort": "External" + }, + "431": { + "demangledOccName": "mkType", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|mkType", + "idType": { + "components": [ + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD -> ", + "tag": "Text" + }, + { + "internalId": "428", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r3L", + "tag": "Text" + } + ] + }, + "internalId": "431", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "mkType", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "mkType", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "mkType", + "sort": "External" + }, + "435": { + "demangledOccName": "CollNoDictBinders", + "details": "DataConWorkId", + "externalId": "ghc-9.10.2|GHC.Hs.Utils|Val|CollNoDictBinders", + "idType": { + "components": [ + { + "contents": "forall p. ", + "tag": "Text" + }, + { + "internalId": "20", + "name": "CollectFlag", + "tag": "TyCon" + }, + { + "contents": "_r6du ", + "tag": "Text" + }, + { + "internalId": "705", + "name": "p", + "tag": "TyCon" + } + ] + }, + "internalId": "435", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "CollNoDictBinders", + "moduleName": "GHC.Hs.Utils", + "name": "CollNoDictBinders", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "CollNoDictBinders", + "sort": "External" + }, + "44": { + "demangledOccName": "moduleInfo", + "details": "ClassOpId", + "externalId": "ghc-9.10.2|GHC|Val|moduleInfo", + "idType": { + "components": [ + { + "contents": "forall m. ", + "tag": "Text" + }, + { + "internalId": "623", + "name": "TypecheckedMod", + "tag": "TyCon" + }, + { + "contents": "_r61j ", + "tag": "Text" + }, + { + "internalId": "624", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "624", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "35", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r619", + "tag": "Text" + } + ] + }, + "internalId": "44", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "moduleInfo", + "moduleName": "GHC", + "name": "moduleInfo", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "moduleInfo", + "sort": "External" + }, + "440": { + "demangledOccName": "Declaration", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|Declaration", + "idType": { + "components": [ + { + "internalId": "633", + "name": "DeclarationSort", + "tag": "TyCon" + }, + { + "contents": "_rN\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "428", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r3L\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "421", + "name": "Declaration", + "tag": "TyCon" + }, + { + "contents": "_rG", + "tag": "Text" + } + ] + }, + "internalId": "440", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "Declaration", + "moduleName": "HaskellCodeExplorer.Types", + "name": "Declaration", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "Declaration", + "sort": "External" + }, + "442": { + "demangledOccName": "ValD", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|ValD", + "idType": { + "components": [ + { + "internalId": "633", + "name": "DeclarationSort", + "tag": "TyCon" + }, + { + "contents": "_rN", + "tag": "Text" + } + ] + }, + "internalId": "442", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ValD", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ValD", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "ValD", + "sort": "External" + }, + "445": { + "demangledOccName": "member", + "details": "VanillaId", + "externalId": "containers-0.7|Data.Set.Internal|Val|member", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "640", + "name": "Ord", + "tag": "TyCon" + }, + { + "contents": "_2c ", + "tag": "Text" + }, + { + "internalId": "638", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "638", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "638", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "445", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "member", + "moduleName": "Data.Set.Internal", + "name": "member", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "member", + "sort": "External" + }, + "448": { + "demangledOccName": "hsGroupVals", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|hsGroupVals", + "idType": { + "components": [ + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa\n-> [", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya\n (", + "tag": "Text" + }, + { + "internalId": "787", + "name": "EpAnn", + "tag": "TyCon" + }, + { + "contents": "_r5yu ", + "tag": "Text" + }, + { + "internalId": "754", + "name": "AnnListItem", + "tag": "TyCon" + }, + { + "contents": "_r5yv)\n (", + "tag": "Text" + }, + { + "internalId": "9", + "name": "HsBindLR", + "tag": "TyCon" + }, + { + "contents": "_r5yz ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa)]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n-> [", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya\n (", + "tag": "Text" + }, + { + "internalId": "787", + "name": "EpAnn", + "tag": "TyCon" + }, + { + "contents": "_r5yu ", + "tag": "Text" + }, + { + "internalId": "754", + "name": "AnnListItem", + "tag": "TyCon" + }, + { + "contents": "_r5yv)\n (", + "tag": "Text" + }, + { + "internalId": "9", + "name": "HsBindLR", + "tag": "TyCon" + }, + { + "contents": "_r5yz\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc) (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc))]", + "tag": "Text" + } + ] + }, + "internalId": "448", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "hsGroupVals", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "hsGroupVals", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "hsGroupVals", + "sort": "External" + }, + "45": { + "demangledOccName": "moduleNameString", + "details": "VanillaId", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Module.Name|Val|moduleNameString", + "idType": { + "components": [ + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]", + "tag": "Text" + } + ] + }, + "internalId": "45", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "moduleNameString", + "moduleName": "Language.Haskell.Syntax.Module.Name", + "name": "moduleNameString", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "moduleNameString", + "sort": "External" + }, + "451": { + "demangledOccName": "TyClD", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|TyClD", + "idType": { + "components": [ + { + "internalId": "633", + "name": "DeclarationSort", + "tag": "TyCon" + }, + { + "contents": "_rN", + "tag": "Text" + } + ] + }, + "internalId": "451", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "TyClD", + "moduleName": "HaskellCodeExplorer.Types", + "name": "TyClD", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "TyClD", + "sort": "External" + }, + "453": { + "demangledOccName": "append", + "details": "VanillaId", + "externalId": "text-2.1.2|Data.Text.Internal|Val|append", + "idType": { + "components": [ + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "453", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "append", + "moduleName": "Data.Text.Internal", + "name": "append", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "append", + "sort": "External" + }, + "454": { + "demangledOccName": "tyClDeclPrefix", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|tyClDeclPrefix", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "64", + "name": "TyClDecl", + "tag": "TyCon" + }, + { + "contents": "_r5y6 ", + "tag": "Text" + }, + { + "internalId": "696", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "454", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tyClDeclPrefix", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "tyClDeclPrefix", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tyClDeclPrefix", + "sort": "External" + }, + "458": { + "demangledOccName": "filter", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.List|Val|filter", + "idType": { + "components": [ + { + "contents": "forall a. (", + "tag": "Text" + }, + { + "internalId": "682", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38) -> [", + "tag": "Text" + }, + { + "internalId": "682", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> [", + "tag": "Text" + }, + { + "internalId": "682", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "458", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "filter", + "moduleName": "GHC.Internal.List", + "name": "filter", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "filter", + "sort": "External" + }, + "46": { + "demangledOccName": "ms_hspp_buf", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Unit.Module.ModSummary|Val|ms_hspp_buf", + "idType": { + "components": [ + { + "internalId": "32", + "name": "ModSummary", + "tag": "TyCon" + }, + { + "contents": "_r6k0 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "651", + "name": "StringBuffer", + "tag": "TyCon" + }, + { + "contents": "_r5BG", + "tag": "Text" + } + ] + }, + "internalId": "46", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ms_hspp_buf", + "moduleName": "GHC.Unit.Module.ModSummary", + "name": "ms_hspp_buf", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "ms_hspp_buf", + "sort": "External" + }, + "460": { + "demangledOccName": "InstD", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|InstD", + "idType": { + "components": [ + { + "internalId": "633", + "name": "DeclarationSort", + "tag": "TyCon" + }, + { + "contents": "_rN", + "tag": "Text" + } + ] + }, + "internalId": "460", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "InstD", + "moduleName": "HaskellCodeExplorer.Types", + "name": "InstD", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "InstD", + "sort": "External" + }, + "462": { + "demangledOccName": "instanceDeclToText", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|instanceDeclToText", + "idType": { + "components": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0 -> ", + "tag": "Text" + }, + { + "internalId": "63", + "name": "InstDecl", + "tag": "TyCon" + }, + { + "contents": "_r5x9 ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "63", + "name": "InstDecl", + "tag": "TyCon" + }, + { + "contents": "_r5x9 (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc) -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "462", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "instanceDeclToText", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "instanceDeclToText", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "instanceDeclToText", + "sort": "External" + }, + "47": { + "demangledOccName": "ms_mod", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Unit.Module.ModSummary|Val|ms_mod", + "idType": { + "components": [ + { + "internalId": "32", + "name": "ModSummary", + "tag": "TyCon" + }, + { + "contents": "_r6k0 -> ", + "tag": "Text" + }, + { + "internalId": "86", + "name": "Module", + "tag": "TyCon" + }, + { + "contents": "_r5As", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "32", + "name": "ModSummary", + "tag": "TyCon" + }, + { + "contents": "_r6k0 -> ", + "tag": "Text" + }, + { + "internalId": "736", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn)", + "tag": "Text" + } + ] + }, + "internalId": "47", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ms_mod", + "moduleName": "GHC.Unit.Module.ModSummary", + "name": "ms_mod", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "ms_mod", + "sort": "External" + }, + "470": { + "demangledOccName": "ForD", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|ForD", + "idType": { + "components": [ + { + "internalId": "633", + "name": "DeclarationSort", + "tag": "TyCon" + }, + { + "contents": "_rN", + "tag": "Text" + } + ] + }, + "internalId": "470", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ForD", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ForD", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "ForD", + "sort": "External" + }, + "474": { + "demangledOccName": "Environment", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Typ|Environment", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "474", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Environment", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "Environment", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Environment", + "sort": "External" + }, + "478": { + "demangledOccName": "ASTState", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|ASTState", + "idType": { + "components": [ + { + "internalId": "241", + "name": "ExpressionInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r1c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "652", + "name": "TidyOccEnv", + "tag": "TyCon" + }, + { + "contents": "_r74G\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "797", + "name": "VarEnv", + "tag": "TyCon" + }, + { + "contents": "_r732 ", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "798", + "name": "HsWrapper", + "tag": "TyCon" + }, + { + "contents": "_r5y5\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "726", + "name": "GhcMode", + "tag": "TyCon" + }, + { + "contents": "_r64E\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "799", + "name": "GhcLink", + "tag": "TyCon" + }, + { + "contents": "_r64x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "800", + "name": "Backend", + "tag": "TyCon" + }, + { + "contents": "_r61Z\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "802", + "name": "Platform", + "tag": "TyCon" + }, + { + "contents": "_r7Mq\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c)]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "804", + "name": "TempDir", + "tag": "TyCon" + }, + { + "contents": "_r8mP\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "805", + "name": "ParMakeCount", + "tag": "TyCon" + }, + { + "contents": "_r8b6\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "806", + "name": "Word", + "tag": "TyCon" + }, + { + "contents": "_31W\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "807", + "name": "IntWithInf", + "tag": "TyCon" + }, + { + "contents": "_r8mQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "807", + "name": "IntWithInf", + "tag": "TyCon" + }, + { + "contents": "_r8mQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "86", + "name": "Module", + "tag": "TyCon" + }, + { + "contents": "_r5As)]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "808", + "name": "Ways", + "tag": "TyCon" + }, + { + "contents": "_r8mR\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "809", + "name": "DynLibLoader", + "tag": "TyCon" + }, + { + "contents": "_r8ao\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "810", + "name": "IncludeSpecs", + "tag": "TyCon" + }, + { + "contents": "_r8aA\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "668", + "name": "RtsOptsEnabled", + "tag": "TyCon" + }, + { + "contents": "_r8be\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3]\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c)]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "811", + "name": "ExternalPluginSpec", + "tag": "TyCon" + }, + { + "contents": "_r8mS]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "795", + "name": "PackageDBFlag", + "tag": "TyCon" + }, + { + "contents": "_r8aY]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "812", + "name": "IgnorePackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8ay]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "813", + "name": "PackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8b3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "813", + "name": "PackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8b3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "709", + "name": "TrustFlag", + "tag": "TyCon" + }, + { + "contents": "_r8bk]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "757", + "name": "DumpFlag", + "tag": "TyCon" + }, + { + "contents": "_r8bo\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "815", + "name": "GeneralFlag", + "tag": "TyCon" + }, + { + "contents": "_r64J\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "816", + "name": "WarningFlag", + "tag": "TyCon" + }, + { + "contents": "_r88u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "816", + "name": "WarningFlag", + "tag": "TyCon" + }, + { + "contents": "_r88u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "817", + "name": "WarningCategorySet", + "tag": "TyCon" + }, + { + "contents": "_r88v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "817", + "name": "WarningCategorySet", + "tag": "TyCon" + }, + { + "contents": "_r88v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "818", + "name": "Language", + "tag": "TyCon" + }, + { + "contents": "_r8d1\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "765", + "name": "SafeHaskellMode", + "tag": "TyCon" + }, + { + "contents": "_r6iV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "697", + "name": "OnOff", + "tag": "TyCon" + }, + { + "contents": "_r8aS ", + "tag": "Text" + }, + { + "internalId": "819", + "name": "Extension", + "tag": "TyCon" + }, + { + "contents": "_r6HC]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "819", + "name": "Extension", + "tag": "TyCon" + }, + { + "contents": "_r6HC\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "820", + "name": "UnfoldingOpts", + "tag": "TyCon" + }, + { + "contents": "_r8mT\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "745", + "name": "FlushOut", + "tag": "TyCon" + }, + { + "contents": "_r6Fa\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "821", + "name": "OverridingBool", + "tag": "TyCon" + }, + { + "contents": "_r8mU\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "821", + "name": "OverridingBool", + "tag": "TyCon" + }, + { + "contents": "_r8mU\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "822", + "name": "Scheme", + "tag": "TyCon" + }, + { + "contents": "_r8mV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "823", + "name": "ProfAuto", + "tag": "TyCon" + }, + { + "contents": "_r8eW\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "824", + "name": "CallerCcFilter", + "tag": "TyCon" + }, + { + "contents": "_r8mW]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "825", + "name": "SseVersion", + "tag": "TyCon" + }, + { + "contents": "_r8mX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "826", + "name": "BmiVersion", + "tag": "TyCon" + }, + { + "contents": "_r8mE\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "827", + "name": "Word64", + "tag": "TyCon" + }, + { + "contents": "_32c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "731", + "name": "Weights", + "tag": "TyCon" + }, + { + "contents": "_r8mY\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "828", + "name": "UnitInfoMap", + "tag": "TyCon" + }, + { + "contents": "_rdXj\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "829", + "name": "PreloadUnitClosure", + "tag": "TyCon" + }, + { + "contents": "_rdXb\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "830", + "name": "PackageName", + "tag": "TyCon" + }, + { + "contents": "_rb5Z ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn]\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "831", + "name": "Unit", + "tag": "TyCon" + }, + { + "contents": "_r5An, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "832", + "name": "PackageArg", + "tag": "TyCon" + }, + { + "contents": "_r8aV)]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "833", + "name": "ModuleNameProvidersMap", + "tag": "TyCon" + }, + { + "contents": "_re1I\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "833", + "name": "ModuleNameProvidersMap", + "tag": "TyCon" + }, + { + "contents": "_re1I\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3 [", + "tag": "Text" + }, + { + "internalId": "756", + "name": "InstantiatedModule", + "tag": "TyCon" + }, + { + "contents": "_rdVD]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "679", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "679", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "834", + "name": "VisibleOrphanModules", + "tag": "TyCon" + }, + { + "contents": "_r7fb\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "706", + "name": "LinePragma", + "tag": "TyCon" + }, + { + "contents": "_r2x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p (", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "691", + "name": "FileLocation", + "tag": "TyCon" + }, + { + "contents": "_r1j)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "634", + "name": "IntervalMap", + "tag": "TyCon" + }, + { + "contents": "_r4P (", + "tag": "Text" + }, + { + "internalId": "755", + "name": "Interval", + "tag": "TyCon" + }, + { + "contents": "_r4k (", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)) ", + "tag": "Text" + }, + { + "internalId": "673", + "name": "ExpressionInfo", + "tag": "TyCon" + }, + { + "contents": "_r18\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "667", + "name": "FastString", + "tag": "TyCon" + }, + { + "contents": "_r5yT ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX ", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "798", + "name": "HsWrapper", + "tag": "TyCon" + }, + { + "contents": "_r5y5\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "726", + "name": "GhcMode", + "tag": "TyCon" + }, + { + "contents": "_r64E\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "799", + "name": "GhcLink", + "tag": "TyCon" + }, + { + "contents": "_r64x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "800", + "name": "Backend", + "tag": "TyCon" + }, + { + "contents": "_r61Z\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "802", + "name": "Platform", + "tag": "TyCon" + }, + { + "contents": "_r7Mq\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g])]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "804", + "name": "TempDir", + "tag": "TyCon" + }, + { + "contents": "_r8mP\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "805", + "name": "ParMakeCount", + "tag": "TyCon" + }, + { + "contents": "_r8b6\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "806", + "name": "Word", + "tag": "TyCon" + }, + { + "contents": "_31W\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "807", + "name": "IntWithInf", + "tag": "TyCon" + }, + { + "contents": "_r8mQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "807", + "name": "IntWithInf", + "tag": "TyCon" + }, + { + "contents": "_r8mQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3,\n ", + "tag": "Text" + }, + { + "internalId": "736", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn))]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "837", + "name": "Way", + "tag": "TyCon" + }, + { + "contents": "_r8uQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "809", + "name": "DynLibLoader", + "tag": "TyCon" + }, + { + "contents": "_r8ao\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "810", + "name": "IncludeSpecs", + "tag": "TyCon" + }, + { + "contents": "_r8aA\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "668", + "name": "RtsOptsEnabled", + "tag": "TyCon" + }, + { + "contents": "_r8be\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3]\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g])]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "811", + "name": "ExternalPluginSpec", + "tag": "TyCon" + }, + { + "contents": "_r8mS]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "795", + "name": "PackageDBFlag", + "tag": "TyCon" + }, + { + "contents": "_r8aY]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "812", + "name": "IgnorePackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8ay]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "813", + "name": "PackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8b3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "813", + "name": "PackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8b3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "709", + "name": "TrustFlag", + "tag": "TyCon" + }, + { + "contents": "_r8bk]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "757", + "name": "DumpFlag", + "tag": "TyCon" + }, + { + "contents": "_r8bo\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "815", + "name": "GeneralFlag", + "tag": "TyCon" + }, + { + "contents": "_r64J\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "816", + "name": "WarningFlag", + "tag": "TyCon" + }, + { + "contents": "_r88u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "816", + "name": "WarningFlag", + "tag": "TyCon" + }, + { + "contents": "_r88u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "817", + "name": "WarningCategorySet", + "tag": "TyCon" + }, + { + "contents": "_r88v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "817", + "name": "WarningCategorySet", + "tag": "TyCon" + }, + { + "contents": "_r88v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "818", + "name": "Language", + "tag": "TyCon" + }, + { + "contents": "_r8d1\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "765", + "name": "SafeHaskellMode", + "tag": "TyCon" + }, + { + "contents": "_r6iV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "697", + "name": "OnOff", + "tag": "TyCon" + }, + { + "contents": "_r8aS ", + "tag": "Text" + }, + { + "internalId": "819", + "name": "Extension", + "tag": "TyCon" + }, + { + "contents": "_r6HC]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "819", + "name": "Extension", + "tag": "TyCon" + }, + { + "contents": "_r6HC\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "820", + "name": "UnfoldingOpts", + "tag": "TyCon" + }, + { + "contents": "_r8mT\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "745", + "name": "FlushOut", + "tag": "TyCon" + }, + { + "contents": "_r6Fa\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "821", + "name": "OverridingBool", + "tag": "TyCon" + }, + { + "contents": "_r8mU\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "821", + "name": "OverridingBool", + "tag": "TyCon" + }, + { + "contents": "_r8mU\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "822", + "name": "Scheme", + "tag": "TyCon" + }, + { + "contents": "_r8mV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "823", + "name": "ProfAuto", + "tag": "TyCon" + }, + { + "contents": "_r8eW\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "824", + "name": "CallerCcFilter", + "tag": "TyCon" + }, + { + "contents": "_r8mW]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "825", + "name": "SseVersion", + "tag": "TyCon" + }, + { + "contents": "_r8mX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "826", + "name": "BmiVersion", + "tag": "TyCon" + }, + { + "contents": "_r8mE\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "827", + "name": "Word64", + "tag": "TyCon" + }, + { + "contents": "_32c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "731", + "name": "Weights", + "tag": "TyCon" + }, + { + "contents": "_r8mY\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n (", + "tag": "Text" + }, + { + "internalId": "791", + "name": "GenericUnitInfo", + "tag": "TyCon" + }, + { + "contents": "_rdS9\n ", + "tag": "Text" + }, + { + "internalId": "738", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_rdS2\n ", + "tag": "Text" + }, + { + "internalId": "830", + "name": "PackageName", + "tag": "TyCon" + }, + { + "contents": "_rb5Z\n ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n (", + "tag": "Text" + }, + { + "internalId": "736", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn)))\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "838", + "name": "UniqSet", + "tag": "TyCon" + }, + { + "contents": "_r5Cc ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "830", + "name": "PackageName", + "tag": "TyCon" + }, + { + "contents": "_rb5Z ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn]\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "832", + "name": "PackageArg", + "tag": "TyCon" + }, + { + "contents": "_r8aV)]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n (", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n (", + "tag": "Text" + }, + { + "internalId": "736", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn)) ", + "tag": "Text" + }, + { + "internalId": "839", + "name": "ModuleOrigin", + "tag": "TyCon" + }, + { + "contents": "_rdX0)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n (", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n (", + "tag": "Text" + }, + { + "internalId": "736", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn)) ", + "tag": "Text" + }, + { + "internalId": "839", + "name": "ModuleOrigin", + "tag": "TyCon" + }, + { + "contents": "_rdX0)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n [", + "tag": "Text" + }, + { + "internalId": "736", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "840", + "name": "GenInstantiatedUnit", + "tag": "TyCon" + }, + { + "contents": "_rdVq ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn)]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "679", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "679", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "841", + "name": "NDModule", + "tag": "TyCon" + }, + { + "contents": "_rgOV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "706", + "name": "LinePragma", + "tag": "TyCon" + }, + { + "contents": "_r2x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p (", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "691", + "name": "FileLocation", + "tag": "TyCon" + }, + { + "contents": "_r1j)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw", + "tag": "Text" + } + ] + }, + "internalId": "478", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ASTState", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "ASTState", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "ASTState", + "sort": "External" + }, + "48": { + "demangledOccName": "renamedSource", + "details": "ClassOpId", + "externalId": "ghc-9.10.2|GHC|Val|renamedSource", + "idType": { + "components": [ + { + "contents": "forall m.\n", + "tag": "Text" + }, + { + "internalId": "623", + "name": "TypecheckedMod", + "tag": "TyCon" + }, + { + "contents": "_r61j ", + "tag": "Text" + }, + { + "internalId": "624", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " =>\n", + "tag": "Text" + }, + { + "internalId": "624", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "625", + "name": "RenamedSource", + "tag": "TyCon" + }, + { + "contents": "_r61i", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall m.\n", + "tag": "Text" + }, + { + "internalId": "623", + "name": "TypecheckedMod", + "tag": "TyCon" + }, + { + "contents": "_r61j ", + "tag": "Text" + }, + { + "internalId": "624", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " =>\n", + "tag": "Text" + }, + { + "internalId": "624", + "name": "m", + "tag": "TyCon" + }, + { + "contents": "\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U\n (", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc),\n [", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n (", + "tag": "Text" + }, + { + "internalId": "73", + "name": "ImportDecl", + "tag": "TyCon" + }, + { + "contents": "_r6zq (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc))],\n ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U\n [(", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n (", + "tag": "Text" + }, + { + "internalId": "72", + "name": "IE", + "tag": "TyCon" + }, + { + "contents": "_r5zW (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)),\n [", + "tag": "Text" + }, + { + "internalId": "629", + "name": "AvailInfo", + "tag": "TyCon" + }, + { + "contents": "_r6Fq])],\n ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U\n (", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya\n ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n (", + "tag": "Text" + }, + { + "internalId": "71", + "name": "WithHsDocIdentifiers", + "tag": "TyCon" + }, + { + "contents": "_r5yg\n ", + "tag": "Text" + }, + { + "internalId": "69", + "name": "HsDocString", + "tag": "TyCon" + }, + { + "contents": "_r5x2 (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc))),\n ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc) ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3))", + "tag": "Text" + } + ] + }, + "internalId": "48", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "renamedSource", + "moduleName": "GHC", + "name": "renamedSource", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "renamedSource", + "sort": "External" + }, + "480": { + "demangledOccName": "empty", + "details": "VanillaId", + "externalId": "IntervalMap-0.6.2.1|Data.IntervalMap.Generic.Base|Val|empty", + "idType": { + "components": [ + { + "contents": "forall k v. ", + "tag": "Text" + }, + { + "internalId": "634", + "name": "IntervalMap", + "tag": "TyCon" + }, + { + "contents": "_r4P ", + "tag": "Text" + }, + { + "internalId": "770", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "883", + "name": "v", + "tag": "TyCon" + } + ] + }, + "internalId": "480", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "empty", + "moduleName": "Data.IntervalMap.Generic.Base", + "name": "empty", + "packageId": { + "name": "IntervalMap", + "version": "0.6.2.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "empty", + "sort": "External" + }, + "481": { + "demangledOccName": "empty", + "details": "VanillaId", + "externalId": "containers-0.7|Data.IntMap.Internal|Val|empty", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj ", + "tag": "Text" + }, + { + "internalId": "664", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "481", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "empty", + "moduleName": "Data.IntMap.Internal", + "name": "empty", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "empty", + "sort": "External" + }, + "482": { + "demangledOccName": "empty", + "details": "VanillaId", + "externalId": "containers-0.7|Data.Map.Internal|Val|empty", + "idType": { + "components": [ + { + "contents": "forall k a. ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId ", + "tag": "Text" + }, + { + "internalId": "891", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "892", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "482", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "empty", + "moduleName": "Data.Map.Internal", + "name": "empty", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "empty", + "sort": "External" + }, + "484": { + "demangledOccName": "astStateExprInfoMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|astStateExprInfoMap", + "idType": { + "components": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw -> ", + "tag": "Text" + }, + { + "internalId": "241", + "name": "ExpressionInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r1c", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw\n-> ", + "tag": "Text" + }, + { + "internalId": "634", + "name": "IntervalMap", + "tag": "TyCon" + }, + { + "contents": "_r4P\n (", + "tag": "Text" + }, + { + "internalId": "755", + "name": "Interval", + "tag": "TyCon" + }, + { + "contents": "_r4k (", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)) ", + "tag": "Text" + }, + { + "internalId": "673", + "name": "ExpressionInfo", + "tag": "TyCon" + }, + { + "contents": "_r18", + "tag": "Text" + } + ] + }, + "internalId": "484", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "astStateExprInfoMap", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "astStateExprInfoMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "astStateExprInfoMap", + "sort": "External" + }, + "485": { + "demangledOccName": "foldTypecheckedSource", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|foldTypecheckedSource", + "idType": { + "components": [ + { + "internalId": "908", + "name": "LHsBinds", + "tag": "TyCon" + }, + { + "contents": "_r6lt ", + "tag": "Text" + }, + { + "internalId": "930", + "name": "GhcTc", + "tag": "TyCon" + }, + { + "contents": "_r6ci -> ", + "tag": "Text" + }, + { + "internalId": "7", + "name": "State", + "tag": "TyCon" + }, + { + "contents": "_rgmR ", + "tag": "Text" + }, + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw ()", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "727", + "name": "Bag", + "tag": "TyCon" + }, + { + "contents": "_r5yy\n (", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "871", + "name": "Typechecked", + "tag": "TyCon" + }, + { + "contents": "_r6co)\n (", + "tag": "Text" + }, + { + "internalId": "9", + "name": "HsBindLR", + "tag": "TyCon" + }, + { + "contents": "_r5yz\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "871", + "name": "Typechecked", + "tag": "TyCon" + }, + { + "contents": "_r6co) (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "871", + "name": "Typechecked", + "tag": "TyCon" + }, + { + "contents": "_r6co)))\n-> ", + "tag": "Text" + }, + { + "internalId": "669", + "name": "StateT", + "tag": "TyCon" + }, + { + "contents": "_rgmU ", + "tag": "Text" + }, + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw ", + "tag": "Text" + }, + { + "internalId": "725", + "name": "Identity", + "tag": "TyCon" + }, + { + "contents": "_r54 ()", + "tag": "Text" + } + ] + }, + "internalId": "485", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "foldTypecheckedSource", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "foldTypecheckedSource", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "foldTypecheckedSource", + "sort": "External" + }, + "486": { + "demangledOccName": "addIdentifierToMaps", + "details": "VanillaId", + "doc": "

Updates IdentifierOccurrenceMap and IdentifierInfoMap using information\n from typechecked source and renamed source

", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|addIdentifierToMaps", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n-> (", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20, ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b)\n-> ", + "tag": "Text" + }, + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz\n-> (", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20, ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b)", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n-> (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "763", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N,\n ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)])\n-> ", + "tag": "Text" + }, + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz\n-> (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "763", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N,\n ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)])", + "tag": "Text" + } + ] + }, + "internalId": "486", + "isExported": false, + "locationInfo": { + "endColumn": 20, + "endLine": 689, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 689, + "tag": "ExactLocation" + }, + "nameSpace": "VarName", + "occName": "addIdentifierToMaps", + "sort": "External" + }, + "49": { + "demangledOccName": "tm_internals_", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC|Val|tm_internals_", + "idType": { + "components": [ + { + "internalId": "39", + "name": "TypecheckedModule", + "tag": "TyCon" + }, + { + "contents": "_r61n -> (", + "tag": "Text" + }, + { + "internalId": "681", + "name": "TcGblEnv", + "tag": "TyCon" + }, + { + "contents": "_r6DZ, ", + "tag": "Text" + }, + { + "internalId": "680", + "name": "ModDetails", + "tag": "TyCon" + }, + { + "contents": "_r6E0)", + "tag": "Text" + } + ] + }, + "internalId": "49", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tm_internals_", + "moduleName": "GHC", + "name": "tm_internals_", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tm_internals_", + "sort": "External" + }, + "490": { + "demangledOccName": "namesFromRenamedSource", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.RenamedSource|Val|namesFromRenamedSource", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "703", + "name": "Data", + "tag": "TyCon" + }, + { + "contents": "_29 ", + "tag": "Text" + }, + { + "internalId": "752", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "752", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz]", + "tag": "Text" + } + ] + }, + "internalId": "490", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "namesFromRenamedSource", + "moduleName": "HaskellCodeExplorer.AST.RenamedSource", + "name": "namesFromRenamedSource", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "namesFromRenamedSource", + "sort": "External" + }, + "497": { + "demangledOccName": "moduleLocationInfo", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|moduleLocationInfo", + "idType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v)\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n-> ", + "tag": "Text" + }, + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H", + "tag": "Text" + } + ] + }, + "internalId": "497", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "moduleLocationInfo", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "moduleLocationInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "moduleLocationInfo", + "sort": "External" + }, + "5": { + "demangledOccName": "get", + "details": "ClassOpId", + "externalId": "mtl-2.3.1|Control.Monad.State.Class|Val|get", + "idType": { + "components": [ + { + "contents": "forall s (m :: Type -> Type). ", + "tag": "Text" + }, + { + "internalId": "771", + "name": "MonadState", + "tag": "TyCon" + }, + { + "contents": "_rgJ4 ", + "tag": "Text" + }, + { + "internalId": "772", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "739", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "739", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "772", + "name": "s", + "tag": "TyCon" + } + ] + }, + "internalId": "5", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "get", + "moduleName": "Control.Monad.State.Class", + "name": "get", + "packageId": { + "name": "mtl", + "version": "2.3.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "get", + "sort": "External" + }, + "50": { + "demangledOccName": "tm_typechecked_source", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC|Val|tm_typechecked_source", + "idType": { + "components": [ + { + "internalId": "39", + "name": "TypecheckedModule", + "tag": "TyCon" + }, + { + "contents": "_r61n -> ", + "tag": "Text" + }, + { + "internalId": "870", + "name": "TypecheckedSource", + "tag": "TyCon" + }, + { + "contents": "_r61u", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "39", + "name": "TypecheckedModule", + "tag": "TyCon" + }, + { + "contents": "_r61n\n-> ", + "tag": "Text" + }, + { + "internalId": "727", + "name": "Bag", + "tag": "TyCon" + }, + { + "contents": "_r5yy\n (", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "871", + "name": "Typechecked", + "tag": "TyCon" + }, + { + "contents": "_r6co)\n (", + "tag": "Text" + }, + { + "internalId": "9", + "name": "HsBindLR", + "tag": "TyCon" + }, + { + "contents": "_r5yz\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "871", + "name": "Typechecked", + "tag": "TyCon" + }, + { + "contents": "_r6co) (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "871", + "name": "Typechecked", + "tag": "TyCon" + }, + { + "contents": "_r6co)))", + "tag": "Text" + } + ] + }, + "internalId": "50", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tm_typechecked_source", + "moduleName": "GHC", + "name": "tm_typechecked_source", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tm_typechecked_source", + "sort": "External" + }, + "507": { + "demangledOccName": "map", + "details": "VanillaId", + "externalId": "containers-0.7|Data.IntMap.Strict.Internal|Val|map", + "idType": { + "components": [ + { + "contents": "forall a b. (", + "tag": "Text" + }, + { + "internalId": "933", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "934", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj ", + "tag": "Text" + }, + { + "internalId": "933", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj ", + "tag": "Text" + }, + { + "internalId": "934", + "name": "b", + "tag": "TyCon" + } + ] + }, + "internalId": "507", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "map", + "moduleName": "Data.IntMap.Strict.Internal", + "name": "map", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "map", + "sort": "External" + }, + "508": { + "demangledOccName": "addModules", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|addModules", + "idType": { + "components": [ + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ, ", + "tag": "Text" + }, + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H)]\n-> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b\n-> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ, ", + "tag": "Text" + }, + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H)]\n-> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]\n-> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]", + "tag": "Text" + } + ] + }, + "internalId": "508", + "isExported": false, + "locationInfo": { + "endColumn": 11, + "endLine": 860, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 860, + "tag": "ExactLocation" + }, + "nameSpace": "VarName", + "occName": "addModules", + "sort": "External" + }, + "51": { + "demangledOccName": "unLoc", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Val|unLoc", + "idType": { + "components": [ + { + "contents": "forall l e. ", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya ", + "tag": "Text" + }, + { + "internalId": "935", + "name": "l", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "923", + "name": "e", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "923", + "name": "e", + "tag": "TyCon" + } + ] + }, + "internalId": "51", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "unLoc", + "moduleName": "GHC.Types.SrcLoc", + "name": "unLoc", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "unLoc", + "sort": "External" + }, + "514": { + "demangledOccName": "NameOccurrence", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.RenamedSource|Typ|NameOccurrence", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "514", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "NameOccurrence", + "moduleName": "HaskellCodeExplorer.AST.RenamedSource", + "name": "NameOccurrence", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "NameOccurrence", + "sort": "External" + }, + "517": { + "demangledOccName": "&&", + "details": "VanillaId", + "externalId": "ghc-prim-0.12.0|GHC.Classes|Val|&&", + "idType": { + "components": [ + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "517", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "-38--38-", + "moduleName": "GHC.Classes", + "name": "&&", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "&&", + "sort": "External" + }, + "519": { + "demangledOccName": "kind", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.RenamedSource|Val|kind", + "idType": { + "components": [ + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz -> ", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD", + "tag": "Text" + } + ] + }, + "internalId": "519", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "kind", + "moduleName": "HaskellCodeExplorer.AST.RenamedSource", + "name": "kind", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "kind", + "sort": "External" + }, + "52": { + "demangledOccName": "expandTypeSynonyms", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Core.Type|Val|expandTypeSynonyms", + "idType": { + "components": [ + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD -> ", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD", + "tag": "Text" + } + ] + }, + "internalId": "52", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "expandTypeSynonyms", + "moduleName": "GHC.Core.Type", + "name": "expandTypeSynonyms", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "expandTypeSynonyms", + "sort": "External" + }, + "520": { + "demangledOccName": "addNameToMaps", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|addNameToMaps", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> (", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20, ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b)\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> (", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20, ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b)", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "763", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N,\n ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)])\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "763", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N,\n ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)])", + "tag": "Text" + } + ] + }, + "internalId": "520", + "isExported": false, + "locationInfo": { + "endColumn": 14, + "endLine": 771, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 771, + "tag": "ExactLocation" + }, + "nameSpace": "VarName", + "occName": "addNameToMaps", + "sort": "External" + }, + "526": { + "demangledOccName": "isBinder", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.RenamedSource|Val|isBinder", + "idType": { + "components": [ + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "526", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "isBinder", + "moduleName": "HaskellCodeExplorer.AST.RenamedSource", + "name": "isBinder", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "isBinder", + "sort": "External" + }, + "527": { + "demangledOccName": "lookupIdByNameOccurrence", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|lookupIdByNameOccurrence", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n-> ", + "tag": "Text" + }, + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n-> ", + "tag": "Text" + }, + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))", + "tag": "Text" + } + ] + }, + "internalId": "527", + "isExported": false, + "locationInfo": { + "endColumn": 25, + "endLine": 815, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 815, + "tag": "ExactLocation" + }, + "nameSpace": "VarName", + "occName": "lookupIdByNameOccurrence", + "sort": "External" + }, + "53": { + "demangledOccName": "isFamInstTyCon", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Core.TyCon|Val|isFamInstTyCon", + "idType": { + "components": [ + { + "internalId": "896", + "name": "TyCon", + "tag": "TyCon" + }, + { + "contents": "_r61V -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "53", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "isFamInstTyCon", + "moduleName": "GHC.Core.TyCon", + "name": "isFamInstTyCon", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "isFamInstTyCon", + "sort": "External" + }, + "535": { + "demangledOccName": "tyConsOfType", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|tyConsOfType", + "idType": { + "components": [ + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD -> [", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD -> [", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX]", + "tag": "Text" + } + ] + }, + "internalId": "535", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tyConsOfType", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "tyConsOfType", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tyConsOfType", + "sort": "External" + }, + "536": { + "demangledOccName": "tyVarsOfType", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|tyVarsOfType", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "703", + "name": "Data", + "tag": "TyCon" + }, + { + "contents": "_29 ", + "tag": "Text" + }, + { + "internalId": "704", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "704", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "703", + "name": "Data", + "tag": "TyCon" + }, + { + "contents": "_29 ", + "tag": "Text" + }, + { + "internalId": "704", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "704", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX]", + "tag": "Text" + } + ] + }, + "internalId": "536", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tyVarsOfType", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "tyVarsOfType", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tyVarsOfType", + "sort": "External" + }, + "539": { + "demangledOccName": "updateIdMap", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|updateIdMap", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> [(", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5)]\n-> ", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20\n-> ", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> [(", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5)]\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "763", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "763", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N", + "tag": "Text" + } + ] + }, + "internalId": "539", + "isExported": false, + "locationInfo": { + "endColumn": 12, + "endLine": 842, + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/ModuleInfo.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 842, + "tag": "ExactLocation" + }, + "nameSpace": "VarName", + "occName": "updateIdMap", + "sort": "External" + }, + "54": { + "demangledOccName": "tyConName", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Core.TyCon|Val|tyConName", + "idType": { + "components": [ + { + "internalId": "896", + "name": "TyCon", + "tag": "TyCon" + }, + { + "contents": "_r61V -> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5", + "tag": "Text" + } + ] + }, + "internalId": "54", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tyConName", + "moduleName": "GHC.Core.TyCon", + "name": "tyConName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tyConName", + "sort": "External" + }, + "543": { + "demangledOccName": "mkIdentifierOccurrence", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|mkIdentifierOccurrence", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7\n-> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD])\n-> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n-> ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX\n-> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD])\n-> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n-> ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21", + "tag": "Text" + } + ] + }, + "internalId": "543", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "mkIdentifierOccurrence", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "mkIdentifierOccurrence", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "mkIdentifierOccurrence", + "sort": "External" + }, + "546": { + "demangledOccName": "insertWith", + "details": "VanillaId", + "externalId": "containers-0.7|Data.IntMap.Strict.Internal|Val|insertWith", + "idType": { + "components": [ + { + "contents": "forall a.\n(", + "tag": "Text" + }, + { + "internalId": "649", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "649", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "649", + "name": "a", + "tag": "TyCon" + }, + { + "contents": ")\n-> ", + "tag": "Text" + }, + { + "internalId": "650", + "name": "Key", + "tag": "TyCon" + }, + { + "contents": "_r1p8 -> ", + "tag": "Text" + }, + { + "internalId": "649", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj ", + "tag": "Text" + }, + { + "internalId": "649", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj ", + "tag": "Text" + }, + { + "internalId": "649", + "name": "a", + "tag": "TyCon" + } + ], + "componentsExpanded": [ + { + "contents": "forall a.\n(", + "tag": "Text" + }, + { + "internalId": "649", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "649", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "649", + "name": "a", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u -> ", + "tag": "Text" + }, + { + "internalId": "649", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj ", + "tag": "Text" + }, + { + "internalId": "649", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj ", + "tag": "Text" + }, + { + "internalId": "649", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "546", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "insertWith", + "moduleName": "Data.IntMap.Strict.Internal", + "name": "insertWith", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "insertWith", + "sort": "External" + }, + "547": { + "demangledOccName": "removeOverlappingInterval", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|removeOverlappingInterval", + "idType": { + "components": [ + { + "contents": "forall a.\n[((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "873", + "name": "a", + "tag": "TyCon" + }, + { + "contents": ")]\n-> [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "873", + "name": "a", + "tag": "TyCon" + }, + { + "contents": ")] -> [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "873", + "name": "a", + "tag": "TyCon" + }, + { + "contents": ")]", + "tag": "Text" + } + ] + }, + "internalId": "547", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "removeOverlappingInterval", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "removeOverlappingInterval", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "removeOverlappingInterval", + "sort": "External" + }, + "55": { + "demangledOccName": "createSourceCodeTransformation", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Preprocessor|Val|createSourceCodeTransformation", + "idType": { + "components": [ + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> (", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B, ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g)", + "tag": "Text" + } + ] + }, + "internalId": "55", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "createSourceCodeTransformation", + "moduleName": "HaskellCodeExplorer.Preprocessor", + "name": "createSourceCodeTransformation", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "createSourceCodeTransformation", + "sort": "External" + }, + "558": { + "demangledOccName": "IdentifierOccurrence", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|IdentifierOccurrence", + "idType": { + "components": [ + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "848", + "name": "InstanceResolution", + "tag": "TyCon" + }, + { + "contents": "_r2m\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "428", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r3L\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "428", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r3L]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "683", + "name": "IdentifierOccurrenceSort", + "tag": "TyCon" + }, + { + "contents": "_r2c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21", + "tag": "Text" + } + ] + }, + "internalId": "558", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "IdentifierOccurrence", + "moduleName": "HaskellCodeExplorer.Types", + "name": "IdentifierOccurrence", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "IdentifierOccurrence", + "sort": "External" + }, + "56": { + "demangledOccName": "ForeignDecl", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|ForeignDecl", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "56", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ForeignDecl", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "ForeignDecl", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ForeignDecl", + "sort": "External" + }, + "560": { + "demangledOccName": "internalId", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|internalId", + "idType": { + "components": [ + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u", + "tag": "Text" + } + ] + }, + "internalId": "560", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "internalId", + "moduleName": "HaskellCodeExplorer.Types", + "name": "internalId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "internalId", + "sort": "External" + }, + "561": { + "demangledOccName": "fmap", + "details": "ClassOpId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|fmap", + "idType": { + "components": [ + { + "contents": "forall (f :: Type -> Type) a b.\n", + "tag": "Text" + }, + { + "internalId": "905", + "name": "Functor", + "tag": "TyCon" + }, + { + "contents": "_2a ", + "tag": "Text" + }, + { + "internalId": "942", + "name": "f", + "tag": "TyCon" + }, + { + "contents": " =>\n(", + "tag": "Text" + }, + { + "internalId": "855", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "943", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "942", + "name": "f", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "855", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "942", + "name": "f", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "943", + "name": "b", + "tag": "TyCon" + } + ] + }, + "internalId": "561", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "fmap", + "moduleName": "GHC.Internal.Base", + "name": "fmap", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "fmap", + "sort": "External" + }, + "562": { + "demangledOccName": "nameKey", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|nameKey", + "idType": { + "components": [ + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "562", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "nameKey", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "nameKey", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "nameKey", + "sort": "External" + }, + "564": { + "demangledOccName": "internalIdFromRenamedSource", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|internalIdFromRenamedSource", + "idType": { + "components": [ + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u", + "tag": "Text" + } + ] + }, + "internalId": "564", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "internalIdFromRenamedSource", + "moduleName": "HaskellCodeExplorer.Types", + "name": "internalIdFromRenamedSource", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "internalIdFromRenamedSource", + "sort": "External" + }, + "565": { + "demangledOccName": "<$>", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Functor|Val|<$>", + "idType": { + "components": [ + { + "contents": "forall (f :: Type -> Type) a b.\n", + "tag": "Text" + }, + { + "internalId": "905", + "name": "Functor", + "tag": "TyCon" + }, + { + "contents": "_2a ", + "tag": "Text" + }, + { + "internalId": "922", + "name": "f", + "tag": "TyCon" + }, + { + "contents": " =>\n(", + "tag": "Text" + }, + { + "internalId": "919", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "931", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "922", + "name": "f", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "919", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "922", + "name": "f", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "931", + "name": "b", + "tag": "TyCon" + } + ] + }, + "internalId": "565", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "-60--36--62-", + "moduleName": "GHC.Internal.Data.Functor", + "name": "<$>", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "<$>", + "sort": "External" + }, + "566": { + "demangledOccName": "isBinder", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|isBinder", + "idType": { + "components": [ + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21 -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "566", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "isBinder", + "moduleName": "HaskellCodeExplorer.Types", + "name": "isBinder", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "isBinder", + "sort": "External" + }, + "567": { + "demangledOccName": "instanceResolution", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|instanceResolution", + "idType": { + "components": [ + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "848", + "name": "InstanceResolution", + "tag": "TyCon" + }, + { + "contents": "_r2m", + "tag": "Text" + } + ] + }, + "internalId": "567", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "instanceResolution", + "moduleName": "HaskellCodeExplorer.Types", + "name": "instanceResolution", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "instanceResolution", + "sort": "External" + }, + "568": { + "demangledOccName": "idOccType", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|idOccType", + "idType": { + "components": [ + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "428", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r3L", + "tag": "Text" + } + ] + }, + "internalId": "568", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "idOccType", + "moduleName": "HaskellCodeExplorer.Types", + "name": "idOccType", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "idOccType", + "sort": "External" + }, + "569": { + "demangledOccName": "typeArguments", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|typeArguments", + "idType": { + "components": [ + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "428", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r3L]", + "tag": "Text" + } + ] + }, + "internalId": "569", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "typeArguments", + "moduleName": "HaskellCodeExplorer.Types", + "name": "typeArguments", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "typeArguments", + "sort": "External" + }, + "57": { + "demangledOccName": "HsDecl", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|HsDecl", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "57", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HsDecl", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "HsDecl", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HsDecl", + "sort": "External" + }, + "570": { + "demangledOccName": "description", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|description", + "idType": { + "components": [ + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21 -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "570", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "description", + "moduleName": "HaskellCodeExplorer.Types", + "name": "description", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "description", + "sort": "External" + }, + "572": { + "demangledOccName": "sort", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|sort", + "idType": { + "components": [ + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21 -> ", + "tag": "Text" + }, + { + "internalId": "683", + "name": "IdentifierOccurrenceSort", + "tag": "TyCon" + }, + { + "contents": "_r2c", + "tag": "Text" + } + ] + }, + "internalId": "572", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "sort", + "moduleName": "HaskellCodeExplorer.Types", + "name": "sort", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "sort", + "sort": "External" + }, + "573": { + "demangledOccName": "TypeId", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|TypeId", + "idType": { + "components": [ + { + "internalId": "683", + "name": "IdentifierOccurrenceSort", + "tag": "TyCon" + }, + { + "contents": "_r2c", + "tag": "Text" + } + ] + }, + "internalId": "573", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "TypeId", + "moduleName": "HaskellCodeExplorer.Types", + "name": "TypeId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "TypeId", + "sort": "External" + }, + "576": { + "demangledOccName": "ValueId", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|ValueId", + "idType": { + "components": [ + { + "internalId": "683", + "name": "IdentifierOccurrenceSort", + "tag": "TyCon" + }, + { + "contents": "_r2c", + "tag": "Text" + } + ] + }, + "internalId": "576", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ValueId", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ValueId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "ValueId", + "sort": "External" + }, + "58": { + "demangledOccName": "LForeignDecl", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|LForeignDecl", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "58", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LForeignDecl", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "LForeignDecl", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LForeignDecl", + "sort": "External" + }, + "59": { + "demangledOccName": "LInstDecl", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|LInstDecl", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "59", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LInstDecl", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "LInstDecl", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LInstDecl", + "sort": "External" + }, + "6": { + "demangledOccName": "put", + "details": "ClassOpId", + "externalId": "mtl-2.3.1|Control.Monad.State.Class|Val|put", + "idType": { + "components": [ + { + "contents": "forall s (m :: Type -> Type). ", + "tag": "Text" + }, + { + "internalId": "771", + "name": "MonadState", + "tag": "TyCon" + }, + { + "contents": "_rgJ4 ", + "tag": "Text" + }, + { + "internalId": "772", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "739", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "772", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "739", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " ()", + "tag": "Text" + } + ] + }, + "internalId": "6", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "put", + "moduleName": "Control.Monad.State.Class", + "name": "put", + "packageId": { + "name": "mtl", + "version": "2.3.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "put", + "sort": "External" + }, + "60": { + "demangledOccName": "LTyClDecl", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|LTyClDecl", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "60", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LTyClDecl", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "LTyClDecl", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LTyClDecl", + "sort": "External" + }, + "600": { + "demangledOccName": "flip", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|flip", + "idType": { + "components": [ + { + "contents": "forall a b c. (", + "tag": "Text" + }, + { + "internalId": "936", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "858", + "name": "b", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "753", + "name": "c", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "858", + "name": "b", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "936", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "753", + "name": "c", + "tag": "TyCon" + } + ] + }, + "internalId": "600", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "flip", + "moduleName": "GHC.Internal.Base", + "name": "flip", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "flip", + "sort": "External" + }, + "601": { + "demangledOccName": "const", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|const", + "idType": { + "components": [ + { + "contents": "forall a b. ", + "tag": "Text" + }, + { + "internalId": "643", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "741", + "name": "b", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "643", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "601", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "const", + "moduleName": "GHC.Internal.Base", + "name": "const", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "const", + "sort": "External" + }, + "602": { + "demangledOccName": "identifierKey", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|identifierKey", + "idType": { + "components": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0 -> ", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7 -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0 -> ", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "602", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "identifierKey", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "identifierKey", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "identifierKey", + "sort": "External" + }, + "607": { + "demangledOccName": "IntMap", + "externalId": "containers-0.7|Data.IntMap.Internal|Typ|IntMap", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "607", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IntMap", + "moduleName": "Data.IntMap.Internal", + "name": "IntMap", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IntMap", + "sort": "External" + }, + "608": { + "demangledOccName": "IdentifierOccurrence", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|IdentifierOccurrence", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "608", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IdentifierOccurrence", + "moduleName": "HaskellCodeExplorer.Types", + "name": "IdentifierOccurrence", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IdentifierOccurrence", + "sort": "External" + }, + "61": { + "demangledOccName": "LHsDecl", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|LHsDecl", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "61", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LHsDecl", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "LHsDecl", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LHsDecl", + "sort": "External" + }, + "613": { + "demangledOccName": "ModuleId", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|ModuleId", + "idType": { + "components": [ + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H %1 -> ", + "tag": "Text" + }, + { + "internalId": "683", + "name": "IdentifierOccurrenceSort", + "tag": "TyCon" + }, + { + "contents": "_r2c", + "tag": "Text" + } + ] + }, + "internalId": "613", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ModuleId", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ModuleId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "ModuleId", + "sort": "External" + }, + "62": { + "demangledOccName": "HsGroup", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|HsGroup", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "62", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HsGroup", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "HsGroup", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HsGroup", + "sort": "External" + }, + "623": { + "demangledOccName": "TypecheckedMod", + "externalId": "ghc-9.10.2|GHC|Typ|TypecheckedMod", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "623", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TypecheckedMod", + "moduleName": "GHC", + "name": "TypecheckedMod", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TypecheckedMod", + "sort": "External" + }, + "624": { + "demangledOccName": "m", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "624", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe m is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "m", + "sort": "Internal" + }, + "625": { + "demangledOccName": "RenamedSource", + "externalId": "ghc-9.10.2|GHC|Typ|RenamedSource", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "625", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "RenamedSource", + "moduleName": "GHC", + "name": "RenamedSource", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "RenamedSource", + "sort": "External" + }, + "626": { + "demangledOccName": "GhcPass", + "externalId": "ghc-9.10.2|GHC.Hs.Extension|Typ|GhcPass", + "idType": { + "components": [ + { + "internalId": "708", + "name": "Pass", + "tag": "TyCon" + }, + { + "contents": "_r5zV -> Type", + "tag": "Text" + } + ] + }, + "internalId": "626", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GhcPass", + "moduleName": "GHC.Hs.Extension", + "name": "GhcPass", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GhcPass", + "sort": "External" + }, + "627": { + "demangledOccName": "Renamed", + "externalId": "ghc-9.10.2|GHC.Hs.Extension|Val|Renamed", + "idType": { + "components": [ + { + "internalId": "708", + "name": "Pass", + "tag": "TyCon" + }, + { + "contents": "_r5zV", + "tag": "Text" + } + ] + }, + "internalId": "627", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "Renamed", + "moduleName": "GHC.Hs.Extension", + "name": "Renamed", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "Renamed", + "sort": "External" + }, + "628": { + "demangledOccName": "XRec", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Extension|Typ|XRec", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "628", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "XRec", + "moduleName": "Language.Haskell.Syntax.Extension", + "name": "XRec", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "XRec", + "sort": "External" + }, + "629": { + "demangledOccName": "AvailInfo", + "externalId": "ghc-9.10.2|GHC.Types.Avail|Typ|AvailInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "629", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "AvailInfo", + "moduleName": "GHC.Types.Avail", + "name": "AvailInfo", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "AvailInfo", + "sort": "External" + }, + "63": { + "demangledOccName": "InstDecl", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|InstDecl", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "63", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "InstDecl", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "InstDecl", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "InstDecl", + "sort": "External" + }, + "630": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "630", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "631": { + "demangledOccName": "String", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Typ|String", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "631", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "String", + "moduleName": "GHC.Internal.Base", + "name": "String", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "String", + "sort": "External" + }, + "632": { + "demangledOccName": "Char", + "externalId": "ghc-prim-0.12.0|GHC.Types|Typ|Char", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "632", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Char", + "moduleName": "GHC.Types", + "name": "Char", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Char", + "sort": "External" + }, + "633": { + "demangledOccName": "DeclarationSort", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|DeclarationSort", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "633", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "DeclarationSort", + "moduleName": "HaskellCodeExplorer.Types", + "name": "DeclarationSort", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "DeclarationSort", + "sort": "External" + }, + "634": { + "demangledOccName": "IntervalMap", + "externalId": "IntervalMap-0.6.2.1|Data.IntervalMap.Generic.Base|Typ|IntervalMap", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "634", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IntervalMap", + "moduleName": "Data.IntervalMap.Generic.Base", + "name": "IntervalMap", + "packageId": { + "name": "IntervalMap", + "version": "0.6.2.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IntervalMap", + "sort": "External" + }, + "635": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "635", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "636": { + "demangledOccName": "Hashable", + "externalId": "hashable-1.5.0.0|Data.Hashable.Class|Typ|Hashable", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "636", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Hashable", + "moduleName": "Data.Hashable.Class", + "name": "Hashable", + "packageId": { + "name": "hashable", + "version": "1.5.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Hashable", + "sort": "External" + }, + "637": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "637", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "638": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "638", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "639": { + "demangledOccName": "Tuple3", + "externalId": "ghc-prim-0.12.0|GHC.Tuple|Typ|Tuple3", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "639", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Tuple3", + "moduleName": "GHC.Tuple", + "name": "Tuple3", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Tuple3", + "sort": "External" + }, + "64": { + "demangledOccName": "TyClDecl", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|TyClDecl", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "64", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TyClDecl", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "TyClDecl", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TyClDecl", + "sort": "External" + }, + "640": { + "demangledOccName": "Ord", + "externalId": "ghc-prim-0.12.0|GHC.Classes|Typ|Ord", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "640", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Ord", + "moduleName": "GHC.Classes", + "name": "Ord", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Ord", + "sort": "External" + }, + "641": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "641", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "642": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "642", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "643": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "643", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "644": { + "demangledOccName": "Either", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Either|Typ|Either", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "644", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Either", + "moduleName": "GHC.Internal.Data.Either", + "name": "Either", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Either", + "sort": "External" + }, + "645": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "645", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "646": { + "demangledOccName": "Bool", + "externalId": "ghc-prim-0.12.0|GHC.Types|Typ|Bool", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "646", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Bool", + "moduleName": "GHC.Types", + "name": "Bool", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Bool", + "sort": "External" + }, + "647": { + "demangledOccName": "LazyText", + "externalId": "text-2.1.2|Data.Text.Internal.Lazy|Typ|LazyText", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "647", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LazyText", + "moduleName": "Data.Text.Internal.Lazy", + "name": "LazyText", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LazyText", + "sort": "External" + }, + "648": { + "demangledOccName": "e", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "648", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe e is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "e", + "sort": "Internal" + }, + "649": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "649", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "65": { + "demangledOccName": "group_tyclds", + "details": "RecSelId", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Val|group_tyclds", + "idType": { + "components": [ + { + "contents": "forall pass. ", + "tag": "Text" + }, + { + "internalId": "843", + "name": "TyClGroup", + "tag": "TyCon" + }, + { + "contents": "_r6pE ", + "tag": "Text" + }, + { + "internalId": "844", + "name": "pass", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "60", + "name": "LTyClDecl", + "tag": "TyCon" + }, + { + "contents": "_r6oJ ", + "tag": "Text" + }, + { + "internalId": "844", + "name": "pass", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall pass.\n", + "tag": "Text" + }, + { + "internalId": "843", + "name": "TyClGroup", + "tag": "TyCon" + }, + { + "contents": "_r6pE ", + "tag": "Text" + }, + { + "internalId": "844", + "name": "pass", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS ", + "tag": "Text" + }, + { + "internalId": "844", + "name": "pass", + "tag": "TyCon" + }, + { + "contents": " (", + "tag": "Text" + }, + { + "internalId": "64", + "name": "TyClDecl", + "tag": "TyCon" + }, + { + "contents": "_r5y6 ", + "tag": "Text" + }, + { + "internalId": "844", + "name": "pass", + "tag": "TyCon" + }, + { + "contents": ")]", + "tag": "Text" + } + ] + }, + "internalId": "65", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "group_tyclds", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "group_tyclds", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "group_tyclds", + "sort": "External" + }, + "650": { + "demangledOccName": "Key", + "externalId": "containers-0.7|Data.IntSet.Internal|Typ|Key", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "650", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Key", + "moduleName": "Data.IntSet.Internal", + "name": "Key", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Key", + "sort": "External" + }, + "651": { + "demangledOccName": "StringBuffer", + "externalId": "ghc-9.10.2|GHC.Data.StringBuffer|Typ|StringBuffer", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "651", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "StringBuffer", + "moduleName": "GHC.Data.StringBuffer", + "name": "StringBuffer", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "StringBuffer", + "sort": "External" + }, + "652": { + "demangledOccName": "TidyOccEnv", + "externalId": "ghc-9.10.2|GHC.Types.Name.Occurrence|Typ|TidyOccEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "652", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TidyOccEnv", + "moduleName": "GHC.Types.Name.Occurrence", + "name": "TidyOccEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TidyOccEnv", + "sort": "External" + }, + "653": { + "demangledOccName": "Lifted", + "externalId": "ghc-prim-0.12.0|GHC.Types|Val|Lifted", + "idType": { + "components": [ + { + "internalId": "654", + "name": "Levity", + "tag": "TyCon" + }, + { + "contents": "_332", + "tag": "Text" + } + ] + }, + "internalId": "653", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "Lifted", + "moduleName": "GHC.Types", + "name": "Lifted", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "Lifted", + "sort": "External" + }, + "655": { + "demangledOccName": "Var", + "externalId": "ghc-9.10.2|GHC.Types.Var|Typ|Var", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "655", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Var", + "moduleName": "GHC.Types.Var", + "name": "Var", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Var", + "sort": "External" + }, + "656": { + "demangledOccName": "HasLoc", + "externalId": "ghc-9.10.2|GHC.Parser.Annotation|Typ|HasLoc", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "656", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HasLoc", + "moduleName": "GHC.Parser.Annotation", + "name": "HasLoc", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HasLoc", + "sort": "External" + }, + "657": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "657", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "658": { + "demangledOccName": "e", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "658", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe e is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "e", + "sort": "Internal" + }, + "659": { + "demangledOccName": "ToMarkup", + "externalId": "blaze-markup-0.8.3.0|Text.Blaze|Typ|ToMarkup", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "659", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ToMarkup", + "moduleName": "Text.Blaze", + "name": "ToMarkup", + "packageId": { + "name": "blaze-markup", + "version": "0.8.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ToMarkup", + "sort": "External" + }, + "66": { + "demangledOccName": "tyClDeclLName", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Hs.Decls|Val|tyClDeclLName", + "idType": { + "components": [ + { + "contents": "forall (p :: Pass).\n(", + "tag": "Text" + }, + { + "internalId": "781", + "name": "Anno", + "tag": "TyCon" + }, + { + "contents": "_r5zo (", + "tag": "Text" + }, + { + "internalId": "782", + "name": "IdGhcP", + "tag": "TyCon" + }, + { + "contents": "_r5A2 ", + "tag": "Text" + }, + { + "internalId": "783", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ") ", + "tag": "Text" + }, + { + "internalId": "784", + "name": "~", + "tag": "TyCon" + }, + { + "contents": "_31i ", + "tag": "Text" + }, + { + "internalId": "785", + "name": "SrcSpanAnnN", + "tag": "TyCon" + }, + { + "contents": "_r5Bx) =>\n", + "tag": "Text" + }, + { + "internalId": "64", + "name": "TyClDecl", + "tag": "TyCon" + }, + { + "contents": "_r5y6 (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye ", + "tag": "Text" + }, + { + "internalId": "783", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ")\n-> ", + "tag": "Text" + }, + { + "internalId": "698", + "name": "LocatedN", + "tag": "TyCon" + }, + { + "contents": "_r6gS (", + "tag": "Text" + }, + { + "internalId": "786", + "name": "IdP", + "tag": "TyCon" + }, + { + "contents": "_r5zj (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye ", + "tag": "Text" + }, + { + "internalId": "783", + "name": "p", + "tag": "TyCon" + }, + { + "contents": "))", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall (p :: Pass).\n(", + "tag": "Text" + }, + { + "internalId": "781", + "name": "Anno", + "tag": "TyCon" + }, + { + "contents": "_r5zo (", + "tag": "Text" + }, + { + "internalId": "782", + "name": "IdGhcP", + "tag": "TyCon" + }, + { + "contents": "_r5A2 ", + "tag": "Text" + }, + { + "internalId": "783", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ") ", + "tag": "Text" + }, + { + "internalId": "784", + "name": "~", + "tag": "TyCon" + }, + { + "contents": "_31i ", + "tag": "Text" + }, + { + "internalId": "787", + "name": "EpAnn", + "tag": "TyCon" + }, + { + "contents": "_r5yu ", + "tag": "Text" + }, + { + "internalId": "733", + "name": "NameAnn", + "tag": "TyCon" + }, + { + "contents": "_r6gZ) =>\n", + "tag": "Text" + }, + { + "internalId": "64", + "name": "TyClDecl", + "tag": "TyCon" + }, + { + "contents": "_r5y6 (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye ", + "tag": "Text" + }, + { + "internalId": "783", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ")\n-> ", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya\n (", + "tag": "Text" + }, + { + "internalId": "787", + "name": "EpAnn", + "tag": "TyCon" + }, + { + "contents": "_r5yu ", + "tag": "Text" + }, + { + "internalId": "733", + "name": "NameAnn", + "tag": "TyCon" + }, + { + "contents": "_r6gZ) (", + "tag": "Text" + }, + { + "internalId": "786", + "name": "IdP", + "tag": "TyCon" + }, + { + "contents": "_r5zj (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye ", + "tag": "Text" + }, + { + "internalId": "783", + "name": "p", + "tag": "TyCon" + }, + { + "contents": "))", + "tag": "Text" + } + ] + }, + "internalId": "66", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tyClDeclLName", + "moduleName": "GHC.Hs.Decls", + "name": "tyClDeclLName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tyClDeclLName", + "sort": "External" + }, + "660": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "660", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "661": { + "demangledOccName": "MarkupM", + "externalId": "blaze-markup-0.8.3.0|Text.Blaze.Internal|Typ|MarkupM", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "661", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "MarkupM", + "moduleName": "Text.Blaze.Internal", + "name": "MarkupM", + "packageId": { + "name": "blaze-markup", + "version": "0.8.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "MarkupM", + "sort": "External" + }, + "662": { + "demangledOccName": "h", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "662", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe h is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "h", + "sort": "Internal" + }, + "663": { + "demangledOccName": "Foldable", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Foldable|Typ|Foldable", + "idType": { + "components": [ + { + "contents": "(Type -> Type) -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "663", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Foldable", + "moduleName": "GHC.Internal.Data.Foldable", + "name": "Foldable", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Foldable", + "sort": "External" + }, + "664": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "664", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "665": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "665", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "666": { + "demangledOccName": "elt", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "666", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe elt is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "elt", + "sort": "Internal" + }, + "667": { + "demangledOccName": "FastString", + "externalId": "ghc-9.10.2|GHC.Data.FastString|Typ|FastString", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "667", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "FastString", + "moduleName": "GHC.Data.FastString", + "name": "FastString", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "FastString", + "sort": "External" + }, + "668": { + "demangledOccName": "RtsOptsEnabled", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|RtsOptsEnabled", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "668", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "RtsOptsEnabled", + "moduleName": "GHC.Driver.DynFlags", + "name": "RtsOptsEnabled", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "RtsOptsEnabled", + "sort": "External" + }, + "669": { + "demangledOccName": "StateT", + "externalId": "transformers-0.6.1.1|Control.Monad.Trans.State.Strict|Typ|StateT", + "idType": { + "components": [ + { + "contents": "Type -> (Type -> Type) -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "669", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "StateT", + "moduleName": "Control.Monad.Trans.State.Strict", + "name": "StateT", + "packageId": { + "name": "transformers", + "version": "0.6.1.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "StateT", + "sort": "External" + }, + "67": { + "demangledOccName": "tcdName", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Hs.Decls|Val|tcdName", + "idType": { + "components": [ + { + "contents": "forall (p :: Pass).\n(", + "tag": "Text" + }, + { + "internalId": "781", + "name": "Anno", + "tag": "TyCon" + }, + { + "contents": "_r5zo (", + "tag": "Text" + }, + { + "internalId": "782", + "name": "IdGhcP", + "tag": "TyCon" + }, + { + "contents": "_r5A2 ", + "tag": "Text" + }, + { + "internalId": "707", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ") ", + "tag": "Text" + }, + { + "internalId": "784", + "name": "~", + "tag": "TyCon" + }, + { + "contents": "_31i ", + "tag": "Text" + }, + { + "internalId": "785", + "name": "SrcSpanAnnN", + "tag": "TyCon" + }, + { + "contents": "_r5Bx) =>\n", + "tag": "Text" + }, + { + "internalId": "64", + "name": "TyClDecl", + "tag": "TyCon" + }, + { + "contents": "_r5y6 (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye ", + "tag": "Text" + }, + { + "internalId": "707", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "786", + "name": "IdP", + "tag": "TyCon" + }, + { + "contents": "_r5zj (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye ", + "tag": "Text" + }, + { + "internalId": "707", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ")", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall (p :: Pass).\n(", + "tag": "Text" + }, + { + "internalId": "781", + "name": "Anno", + "tag": "TyCon" + }, + { + "contents": "_r5zo (", + "tag": "Text" + }, + { + "internalId": "782", + "name": "IdGhcP", + "tag": "TyCon" + }, + { + "contents": "_r5A2 ", + "tag": "Text" + }, + { + "internalId": "707", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ") ", + "tag": "Text" + }, + { + "internalId": "784", + "name": "~", + "tag": "TyCon" + }, + { + "contents": "_31i ", + "tag": "Text" + }, + { + "internalId": "787", + "name": "EpAnn", + "tag": "TyCon" + }, + { + "contents": "_r5yu ", + "tag": "Text" + }, + { + "internalId": "733", + "name": "NameAnn", + "tag": "TyCon" + }, + { + "contents": "_r6gZ) =>\n", + "tag": "Text" + }, + { + "internalId": "64", + "name": "TyClDecl", + "tag": "TyCon" + }, + { + "contents": "_r5y6 (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye ", + "tag": "Text" + }, + { + "internalId": "707", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "786", + "name": "IdP", + "tag": "TyCon" + }, + { + "contents": "_r5zj (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye ", + "tag": "Text" + }, + { + "internalId": "707", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ")", + "tag": "Text" + } + ] + }, + "internalId": "67", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tcdName", + "moduleName": "GHC.Hs.Decls", + "name": "tcdName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tcdName", + "sort": "External" + }, + "670": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "670", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "671": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "671", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "672": { + "demangledOccName": "AttributeValue", + "externalId": "blaze-markup-0.8.3.0|Text.Blaze.Internal|Typ|AttributeValue", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "672", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "AttributeValue", + "moduleName": "Text.Blaze.Internal", + "name": "AttributeValue", + "packageId": { + "name": "blaze-markup", + "version": "0.8.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "AttributeValue", + "sort": "External" + }, + "673": { + "demangledOccName": "ExpressionInfo", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|ExpressionInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "673", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ExpressionInfo", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ExpressionInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ExpressionInfo", + "sort": "External" + }, + "674": { + "demangledOccName": "UniqFM", + "externalId": "ghc-9.10.2|GHC.Types.Unique.FM|Typ|UniqFM", + "idType": { + "components": [ + { + "contents": "forall {k}. ", + "tag": "Text" + }, + { + "internalId": "675", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "674", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UniqFM", + "moduleName": "GHC.Types.Unique.FM", + "name": "UniqFM", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UniqFM", + "sort": "External" + }, + "676": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "676", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "677": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "677", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "678": { + "demangledOccName": "PackageInstEnv", + "externalId": "ghc-9.10.2|GHC.Unit.External|Typ|PackageInstEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "678", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "PackageInstEnv", + "moduleName": "GHC.Unit.External", + "name": "PackageInstEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "PackageInstEnv", + "sort": "External" + }, + "679": { + "demangledOccName": "InstEnv", + "externalId": "ghc-9.10.2|GHC.Core.InstEnv|Typ|InstEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "679", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "InstEnv", + "moduleName": "GHC.Core.InstEnv", + "name": "InstEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "InstEnv", + "sort": "External" + }, + "68": { + "demangledOccName": "hsGroupInstDecls", + "details": "VanillaId", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Val|hsGroupInstDecls", + "idType": { + "components": [ + { + "contents": "forall id. ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD ", + "tag": "Text" + }, + { + "internalId": "910", + "name": "id", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "59", + "name": "LInstDecl", + "tag": "TyCon" + }, + { + "contents": "_r6oC ", + "tag": "Text" + }, + { + "internalId": "910", + "name": "id", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall id. ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD ", + "tag": "Text" + }, + { + "internalId": "910", + "name": "id", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS ", + "tag": "Text" + }, + { + "internalId": "910", + "name": "id", + "tag": "TyCon" + }, + { + "contents": " (", + "tag": "Text" + }, + { + "internalId": "63", + "name": "InstDecl", + "tag": "TyCon" + }, + { + "contents": "_r5x9 ", + "tag": "Text" + }, + { + "internalId": "910", + "name": "id", + "tag": "TyCon" + }, + { + "contents": ")]", + "tag": "Text" + } + ] + }, + "internalId": "68", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "hsGroupInstDecls", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "hsGroupInstDecls", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "hsGroupInstDecls", + "sort": "External" + }, + "680": { + "demangledOccName": "ModDetails", + "externalId": "ghc-9.10.2|GHC.Unit.Module.ModDetails|Typ|ModDetails", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "680", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModDetails", + "moduleName": "GHC.Unit.Module.ModDetails", + "name": "ModDetails", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModDetails", + "sort": "External" + }, + "681": { + "demangledOccName": "TcGblEnv", + "externalId": "ghc-9.10.2|GHC.Tc.Types|Typ|TcGblEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "681", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TcGblEnv", + "moduleName": "GHC.Tc.Types", + "name": "TcGblEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TcGblEnv", + "sort": "External" + }, + "682": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "682", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "683": { + "demangledOccName": "IdentifierOccurrenceSort", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|IdentifierOccurrenceSort", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "683", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IdentifierOccurrenceSort", + "moduleName": "HaskellCodeExplorer.Types", + "name": "IdentifierOccurrenceSort", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IdentifierOccurrenceSort", + "sort": "External" + }, + "684": { + "demangledOccName": "UnitId", + "externalId": "ghc-9.10.2|GHC.Unit.Types|Typ|UnitId", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "684", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UnitId", + "moduleName": "GHC.Unit.Types", + "name": "UnitId", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UnitId", + "sort": "External" + }, + "685": { + "demangledOccName": "Outputable", + "externalId": "ghc-9.10.2|GHC.Utils.Outputable|Typ|Outputable", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "685", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Outputable", + "moduleName": "GHC.Utils.Outputable", + "name": "Outputable", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Outputable", + "sort": "External" + }, + "686": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "686", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "687": { + "demangledOccName": "Doc", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Typ|Doc", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "687", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Doc", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "Doc", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Doc", + "sort": "External" + }, + "688": { + "demangledOccName": "DFunId", + "externalId": "ghc-9.10.2|GHC.Types.Var|Typ|DFunId", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "688", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "DFunId", + "moduleName": "GHC.Types.Var", + "name": "DFunId", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "DFunId", + "sort": "External" + }, + "689": { + "demangledOccName": "ByteArray#", + "externalId": "ghc-prim-0.12.0|GHC.Prim|Typ|ByteArray#", + "idType": { + "components": [ + { + "internalId": "761", + "name": "UnliftedType", + "tag": "TyCon" + }, + { + "contents": "_32S", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "716", + "name": "TYPE", + "tag": "TyCon" + }, + { + "contents": "_32W ('", + "tag": "Text" + }, + { + "internalId": "759", + "name": "BoxedRep", + "tag": "TyCon" + }, + { + "contents": "_63A '", + "tag": "Text" + }, + { + "internalId": "762", + "name": "Unlifted", + "tag": "TyCon" + }, + { + "contents": "_64j)", + "tag": "Text" + } + ] + }, + "internalId": "689", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ByteArray-35-", + "moduleName": "GHC.Prim", + "name": "ByteArray#", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ByteArray#", + "sort": "External" + }, + "69": { + "demangledOccName": "HsDocString", + "externalId": "ghc-9.10.2|GHC.Hs.DocString|Typ|HsDocString", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "69", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HsDocString", + "moduleName": "GHC.Hs.DocString", + "name": "HsDocString", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HsDocString", + "sort": "External" + }, + "690": { + "demangledOccName": "Int#", + "externalId": "ghc-prim-0.12.0|GHC.Prim|Typ|Int#", + "idType": { + "components": [ + { + "internalId": "716", + "name": "TYPE", + "tag": "TyCon" + }, + { + "contents": "_32W '", + "tag": "Text" + }, + { + "internalId": "946", + "name": "IntRep", + "tag": "TyCon" + }, + { + "contents": "_63D", + "tag": "Text" + } + ] + }, + "internalId": "690", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Int-35-", + "moduleName": "GHC.Prim", + "name": "Int#", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Int#", + "sort": "External" + }, + "691": { + "demangledOccName": "FileLocation", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|FileLocation", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "691", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "FileLocation", + "moduleName": "HaskellCodeExplorer.Types", + "name": "FileLocation", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "FileLocation", + "sort": "External" + }, + "692": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "692", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "693": { + "demangledOccName": "GREInfo", + "externalId": "ghc-9.10.2|GHC.Types.GREInfo|Typ|GREInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "693", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GREInfo", + "moduleName": "GHC.Types.GREInfo", + "name": "GREInfo", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GREInfo", + "sort": "External" + }, + "694": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "694", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "695": { + "demangledOccName": "Vector", + "externalId": "vector-0.13.2.0|Data.Vector|Typ|Vector", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "695", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Vector", + "moduleName": "Data.Vector", + "name": "Vector", + "packageId": { + "name": "vector", + "version": "0.13.2.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Vector", + "sort": "External" + }, + "696": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "696", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "697": { + "demangledOccName": "OnOff", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|OnOff", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "697", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "OnOff", + "moduleName": "GHC.Driver.DynFlags", + "name": "OnOff", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "OnOff", + "sort": "External" + }, + "698": { + "demangledOccName": "LocatedN", + "externalId": "ghc-9.10.2|GHC.Parser.Annotation|Typ|LocatedN", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "698", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LocatedN", + "moduleName": "GHC.Parser.Annotation", + "name": "LocatedN", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LocatedN", + "sort": "External" + }, + "699": { + "demangledOccName": "List", + "externalId": "ghc-prim-0.12.0|GHC.Types|Typ|List", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "699", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "List", + "moduleName": "GHC.Types", + "name": "List", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "List", + "sort": "External" + }, + "7": { + "demangledOccName": "State", + "externalId": "transformers-0.6.1.1|Control.Monad.Trans.State.Strict|Typ|State", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "7", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "State", + "moduleName": "Control.Monad.Trans.State.Strict", + "name": "State", + "packageId": { + "name": "transformers", + "version": "0.6.1.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "State", + "sort": "External" + }, + "70": { + "demangledOccName": "LHsDoc", + "externalId": "ghc-9.10.2|GHC.Hs.Doc|Typ|LHsDoc", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "70", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LHsDoc", + "moduleName": "GHC.Hs.Doc", + "name": "LHsDoc", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LHsDoc", + "sort": "External" + }, + "700": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "700", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "701": { + "demangledOccName": "PackageTypeEnv", + "externalId": "ghc-9.10.2|GHC.Unit.External|Typ|PackageTypeEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "701", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "PackageTypeEnv", + "moduleName": "GHC.Unit.External", + "name": "PackageTypeEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "PackageTypeEnv", + "sort": "External" + }, + "702": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "702", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "703": { + "demangledOccName": "Data", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Data|Typ|Data", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "703", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Data", + "moduleName": "GHC.Internal.Data.Data", + "name": "Data", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Data", + "sort": "External" + }, + "704": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "704", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "705": { + "demangledOccName": "p", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "705", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe p is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "p", + "sort": "Internal" + }, + "706": { + "demangledOccName": "LinePragma", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|LinePragma", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "706", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LinePragma", + "moduleName": "HaskellCodeExplorer.Types", + "name": "LinePragma", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LinePragma", + "sort": "External" + }, + "707": { + "demangledOccName": "p", + "idType": { + "components": [ + { + "internalId": "708", + "name": "Pass", + "tag": "TyCon" + }, + { + "contents": "_r5zV", + "tag": "Text" + } + ] + }, + "internalId": "707", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe p is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "p", + "sort": "Internal" + }, + "709": { + "demangledOccName": "TrustFlag", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|TrustFlag", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "709", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TrustFlag", + "moduleName": "GHC.Driver.DynFlags", + "name": "TrustFlag", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TrustFlag", + "sort": "External" + }, + "71": { + "demangledOccName": "WithHsDocIdentifiers", + "externalId": "ghc-9.10.2|GHC.Hs.Doc|Typ|WithHsDocIdentifiers", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "71", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "WithHsDocIdentifiers", + "moduleName": "GHC.Hs.Doc", + "name": "WithHsDocIdentifiers", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "WithHsDocIdentifiers", + "sort": "External" + }, + "710": { + "demangledOccName": "ByteString", + "externalId": "bytestring-0.12.2.0|Data.ByteString.Internal.Type|Typ|ByteString", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "710", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ByteString", + "moduleName": "Data.ByteString.Internal.Type", + "name": "ByteString", + "packageId": { + "name": "bytestring", + "version": "0.12.2.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ByteString", + "sort": "External" + }, + "711": { + "demangledOccName": "UnicodeException", + "externalId": "text-2.1.2|Data.Text.Encoding.Error|Typ|UnicodeException", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "711", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UnicodeException", + "moduleName": "Data.Text.Encoding.Error", + "name": "UnicodeException", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UnicodeException", + "sort": "External" + }, + "712": { + "demangledOccName": "Attributable", + "externalId": "blaze-markup-0.8.3.0|Text.Blaze.Internal|Typ|Attributable", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "712", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Attributable", + "moduleName": "Text.Blaze.Internal", + "name": "Attributable", + "packageId": { + "name": "blaze-markup", + "version": "0.8.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Attributable", + "sort": "External" + }, + "713": { + "demangledOccName": "Attribute", + "externalId": "blaze-markup-0.8.3.0|Text.Blaze.Internal|Typ|Attribute", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "713", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Attribute", + "moduleName": "Text.Blaze.Internal", + "name": "Attribute", + "packageId": { + "name": "blaze-markup", + "version": "0.8.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Attribute", + "sort": "External" + }, + "714": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "714", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "715": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "715", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "716": { + "demangledOccName": "TYPE", + "externalId": "ghc-prim-0.12.0|GHC.Prim|Typ|TYPE", + "idType": { + "components": [ + { + "internalId": "717", + "name": "RuntimeRep", + "tag": "TyCon" + }, + { + "contents": "_334 -> Type", + "tag": "Text" + } + ] + }, + "internalId": "716", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TYPE", + "moduleName": "GHC.Prim", + "name": "TYPE", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TYPE", + "sort": "External" + }, + "718": { + "demangledOccName": "mod", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "718", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe mod is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "mod", + "sort": "Internal" + }, + "719": { + "demangledOccName": "id", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "719", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe id is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "id", + "sort": "Internal" + }, + "72": { + "demangledOccName": "IE", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.ImpExp|Typ|IE", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "72", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IE", + "moduleName": "Language.Haskell.Syntax.ImpExp", + "name": "IE", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IE", + "sort": "External" + }, + "720": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "720", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "721": { + "demangledOccName": "One", + "externalId": "ghc-prim-0.12.0|GHC.Types|Val|One", + "idType": { + "components": [ + { + "internalId": "722", + "name": "Multiplicity", + "tag": "TyCon" + }, + { + "contents": "_36m", + "tag": "Text" + } + ] + }, + "internalId": "721", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "One", + "moduleName": "GHC.Types", + "name": "One", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "One", + "sort": "External" + }, + "723": { + "demangledOccName": "s", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "723", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe s is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "s", + "sort": "Internal" + }, + "724": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "724", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "725": { + "demangledOccName": "Identity", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Functor.Identity|Typ|Identity", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "725", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Identity", + "moduleName": "GHC.Internal.Data.Functor.Identity", + "name": "Identity", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Identity", + "sort": "External" + }, + "726": { + "demangledOccName": "GhcMode", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|GhcMode", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "726", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GhcMode", + "moduleName": "GHC.Driver.DynFlags", + "name": "GhcMode", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GhcMode", + "sort": "External" + }, + "727": { + "demangledOccName": "Bag", + "externalId": "ghc-9.10.2|GHC.Data.Bag|Typ|Bag", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "727", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Bag", + "moduleName": "GHC.Data.Bag", + "name": "Bag", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Bag", + "sort": "External" + }, + "728": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "728", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "729": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "729", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "73": { + "demangledOccName": "ImportDecl", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.ImpExp|Typ|ImportDecl", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "73", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ImportDecl", + "moduleName": "Language.Haskell.Syntax.ImpExp", + "name": "ImportDecl", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ImportDecl", + "sort": "External" + }, + "730": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "730", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "731": { + "demangledOccName": "Weights", + "externalId": "ghc-9.10.2|GHC.CmmToAsm.CFG.Weight|Typ|Weights", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "731", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Weights", + "moduleName": "GHC.CmmToAsm.CFG.Weight", + "name": "Weights", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Weights", + "sort": "External" + }, + "732": { + "demangledOccName": "Tag", + "externalId": "blaze-markup-0.8.3.0|Text.Blaze.Internal|Typ|Tag", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "732", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Tag", + "moduleName": "Text.Blaze.Internal", + "name": "Tag", + "packageId": { + "name": "blaze-markup", + "version": "0.8.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Tag", + "sort": "External" + }, + "733": { + "demangledOccName": "NameAnn", + "externalId": "ghc-9.10.2|GHC.Parser.Annotation|Typ|NameAnn", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "733", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "NameAnn", + "moduleName": "GHC.Parser.Annotation", + "name": "NameAnn", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "NameAnn", + "sort": "External" + }, + "734": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "734", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "735": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "735", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "736": { + "demangledOccName": "GenModule", + "externalId": "ghc-9.10.2|GHC.Unit.Types|Typ|GenModule", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "736", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GenModule", + "moduleName": "GHC.Unit.Types", + "name": "GenModule", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GenModule", + "sort": "External" + }, + "737": { + "demangledOccName": "Option", + "externalId": "ghc-9.10.2|GHC.Utils.CliOption|Typ|Option", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "737", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Option", + "moduleName": "GHC.Utils.CliOption", + "name": "Option", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Option", + "sort": "External" + }, + "738": { + "demangledOccName": "PackageId", + "externalId": "ghc-9.10.2|GHC.Unit.Info|Typ|PackageId", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "738", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "PackageId", + "moduleName": "GHC.Unit.Info", + "name": "PackageId", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "PackageId", + "sort": "External" + }, + "739": { + "demangledOccName": "m", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "739", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe m is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "m", + "sort": "Internal" + }, + "74": { + "demangledOccName": "ideclImplicit", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Hs.ImpExp|Val|ideclImplicit", + "idType": { + "components": [ + { + "internalId": "788", + "name": "XImportDeclPass", + "tag": "TyCon" + }, + { + "contents": "_r6cx -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "74", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ideclImplicit", + "moduleName": "GHC.Hs.ImpExp", + "name": "ideclImplicit", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "ideclImplicit", + "sort": "External" + }, + "740": { + "demangledOccName": "Kind", + "externalId": "ghc-9.10.2|GHC.Core.TyCo.Rep|Typ|Kind", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "740", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Kind", + "moduleName": "GHC.Core.TyCo.Rep", + "name": "Kind", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Kind", + "sort": "External" + }, + "741": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "741", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "742": { + "demangledOccName": "Bounded", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Enum|Typ|Bounded", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "742", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Bounded", + "moduleName": "GHC.Internal.Enum", + "name": "Bounded", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Bounded", + "sort": "External" + }, + "743": { + "demangledOccName": "GlobalRdrEltX", + "externalId": "ghc-9.10.2|GHC.Types.Name.Reader|Typ|GlobalRdrEltX", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "743", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GlobalRdrEltX", + "moduleName": "GHC.Types.Name.Reader", + "name": "GlobalRdrEltX", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GlobalRdrEltX", + "sort": "External" + }, + "744": { + "demangledOccName": "HasCallStack", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Stack.Types|Typ|HasCallStack", + "idType": { + "components": [ + { + "contents": "Constraint", + "tag": "Text" + } + ] + }, + "internalId": "744", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HasCallStack", + "moduleName": "GHC.Internal.Stack.Types", + "name": "HasCallStack", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HasCallStack", + "sort": "External" + }, + "745": { + "demangledOccName": "FlushOut", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|FlushOut", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "745", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "FlushOut", + "moduleName": "GHC.Driver.DynFlags", + "name": "FlushOut", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "FlushOut", + "sort": "External" + }, + "746": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "746", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "747": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "747", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "748": { + "demangledOccName": "UniqDFM", + "externalId": "ghc-9.10.2|GHC.Types.Unique.DFM|Typ|UniqDFM", + "idType": { + "components": [ + { + "contents": "forall {k}. ", + "tag": "Text" + }, + { + "internalId": "917", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "748", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UniqDFM", + "moduleName": "GHC.Types.Unique.DFM", + "name": "UniqDFM", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UniqDFM", + "sort": "External" + }, + "749": { + "demangledOccName": "HomeModInfo", + "externalId": "ghc-9.10.2|GHC.Unit.Home.ModInfo|Typ|HomeModInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "749", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HomeModInfo", + "moduleName": "GHC.Unit.Home.ModInfo", + "name": "HomeModInfo", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HomeModInfo", + "sort": "External" + }, + "75": { + "demangledOccName": "ExternalPackageState", + "externalId": "ghc-9.10.2|GHC.Unit.External|Typ|ExternalPackageState", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "75", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ExternalPackageState", + "moduleName": "GHC.Unit.External", + "name": "ExternalPackageState", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ExternalPackageState", + "sort": "External" + }, + "750": { + "demangledOccName": "StrictText", + "externalId": "text-2.1.2|Data.Text.Internal|Typ|StrictText", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "750", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "StrictText", + "moduleName": "Data.Text.Internal", + "name": "StrictText", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "StrictText", + "sort": "External" + }, + "751": { + "demangledOccName": "Text", + "externalId": "text-2.1.2|Data.Text.Internal.Lazy|Typ|Text", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "751", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Text", + "moduleName": "Data.Text.Internal.Lazy", + "name": "Text", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Text", + "sort": "External" + }, + "752": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "752", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "753": { + "demangledOccName": "c", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "753", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe c is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "c", + "sort": "Internal" + }, + "754": { + "demangledOccName": "AnnListItem", + "externalId": "ghc-9.10.2|GHC.Parser.Annotation|Typ|AnnListItem", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "754", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "AnnListItem", + "moduleName": "GHC.Parser.Annotation", + "name": "AnnListItem", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "AnnListItem", + "sort": "External" + }, + "755": { + "demangledOccName": "Interval", + "externalId": "IntervalMap-0.6.2.1|Data.IntervalMap.Interval|Typ|Interval", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "755", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Interval", + "moduleName": "Data.IntervalMap.Interval", + "name": "Interval", + "packageId": { + "name": "IntervalMap", + "version": "0.6.2.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Interval", + "sort": "External" + }, + "756": { + "demangledOccName": "InstantiatedModule", + "externalId": "ghc-9.10.2|GHC.Unit.Types|Typ|InstantiatedModule", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "756", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "InstantiatedModule", + "moduleName": "GHC.Unit.Types", + "name": "InstantiatedModule", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "InstantiatedModule", + "sort": "External" + }, + "757": { + "demangledOccName": "DumpFlag", + "externalId": "ghc-9.10.2|GHC.Driver.Flags|Typ|DumpFlag", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "757", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "DumpFlag", + "moduleName": "GHC.Driver.Flags", + "name": "DumpFlag", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "DumpFlag", + "sort": "External" + }, + "758": { + "demangledOccName": "Array#", + "externalId": "ghc-prim-0.12.0|GHC.Prim|Typ|Array#", + "idType": { + "components": [ + { + "contents": "forall {l :: Levity}.\n", + "tag": "Text" + }, + { + "internalId": "716", + "name": "TYPE", + "tag": "TyCon" + }, + { + "contents": "_32W ('", + "tag": "Text" + }, + { + "internalId": "759", + "name": "BoxedRep", + "tag": "TyCon" + }, + { + "contents": "_63A ", + "tag": "Text" + }, + { + "internalId": "760", + "name": "l", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "761", + "name": "UnliftedType", + "tag": "TyCon" + }, + { + "contents": "_32S", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall {l :: Levity}.\n", + "tag": "Text" + }, + { + "internalId": "716", + "name": "TYPE", + "tag": "TyCon" + }, + { + "contents": "_32W ('", + "tag": "Text" + }, + { + "internalId": "759", + "name": "BoxedRep", + "tag": "TyCon" + }, + { + "contents": "_63A ", + "tag": "Text" + }, + { + "internalId": "760", + "name": "l", + "tag": "TyCon" + }, + { + "contents": ")\n-> ", + "tag": "Text" + }, + { + "internalId": "716", + "name": "TYPE", + "tag": "TyCon" + }, + { + "contents": "_32W ('", + "tag": "Text" + }, + { + "internalId": "759", + "name": "BoxedRep", + "tag": "TyCon" + }, + { + "contents": "_63A '", + "tag": "Text" + }, + { + "internalId": "762", + "name": "Unlifted", + "tag": "TyCon" + }, + { + "contents": "_64j)", + "tag": "Text" + } + ] + }, + "internalId": "758", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Array-35-", + "moduleName": "GHC.Prim", + "name": "Array#", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Array#", + "sort": "External" + }, + "759": { + "demangledOccName": "BoxedRep", + "externalId": "ghc-prim-0.12.0|GHC.Types|Val|BoxedRep", + "idType": { + "components": [ + { + "internalId": "654", + "name": "Levity", + "tag": "TyCon" + }, + { + "contents": "_332 -> ", + "tag": "Text" + }, + { + "internalId": "717", + "name": "RuntimeRep", + "tag": "TyCon" + }, + { + "contents": "_334", + "tag": "Text" + } + ] + }, + "internalId": "759", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "BoxedRep", + "moduleName": "GHC.Types", + "name": "BoxedRep", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "BoxedRep", + "sort": "External" + }, + "76": { + "demangledOccName": "eps_PTE", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Unit.External|Val|eps_PTE", + "idType": { + "components": [ + { + "internalId": "75", + "name": "ExternalPackageState", + "tag": "TyCon" + }, + { + "contents": "_rdR5 -> ", + "tag": "Text" + }, + { + "internalId": "701", + "name": "PackageTypeEnv", + "tag": "TyCon" + }, + { + "contents": "_rh2G", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "75", + "name": "ExternalPackageState", + "tag": "TyCon" + }, + { + "contents": "_rdR5 -> ", + "tag": "Text" + }, + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag", + "tag": "Text" + } + ] + }, + "internalId": "76", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "eps_PTE", + "moduleName": "GHC.Unit.External", + "name": "eps_PTE", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "eps_PTE", + "sort": "External" + }, + "763": { + "demangledOccName": "IdentifierInfo", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|IdentifierInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "763", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IdentifierInfo", + "moduleName": "HaskellCodeExplorer.Types", + "name": "IdentifierInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IdentifierInfo", + "sort": "External" + }, + "764": { + "demangledOccName": "ExternalIdentifierInfo", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|ExternalIdentifierInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "764", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ExternalIdentifierInfo", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ExternalIdentifierInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ExternalIdentifierInfo", + "sort": "External" + }, + "765": { + "demangledOccName": "SafeHaskellMode", + "externalId": "ghc-9.10.2|GHC.Types.SafeHaskell|Typ|SafeHaskellMode", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "765", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "SafeHaskellMode", + "moduleName": "GHC.Types.SafeHaskell", + "name": "SafeHaskellMode", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "SafeHaskellMode", + "sort": "External" + }, + "766": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "766", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "767": { + "demangledOccName": "Monoid", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Typ|Monoid", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "767", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Monoid", + "moduleName": "GHC.Internal.Base", + "name": "Monoid", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Monoid", + "sort": "External" + }, + "768": { + "demangledOccName": "NamedThing", + "externalId": "ghc-9.10.2|GHC.Types.Name|Typ|NamedThing", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "768", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "NamedThing", + "moduleName": "GHC.Types.Name", + "name": "NamedThing", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "NamedThing", + "sort": "External" + }, + "769": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "769", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "77": { + "demangledOccName": "eps_inst_env", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Unit.External|Val|eps_inst_env", + "idType": { + "components": [ + { + "internalId": "75", + "name": "ExternalPackageState", + "tag": "TyCon" + }, + { + "contents": "_rdR5 -> ", + "tag": "Text" + }, + { + "internalId": "678", + "name": "PackageInstEnv", + "tag": "TyCon" + }, + { + "contents": "_rh2E", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "75", + "name": "ExternalPackageState", + "tag": "TyCon" + }, + { + "contents": "_rdR5 -> ", + "tag": "Text" + }, + { + "internalId": "679", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX", + "tag": "Text" + } + ] + }, + "internalId": "77", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "eps_inst_env", + "moduleName": "GHC.Unit.External", + "name": "eps_inst_env", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "eps_inst_env", + "sort": "External" + }, + "770": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "770", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "771": { + "demangledOccName": "MonadState", + "externalId": "mtl-2.3.1|Control.Monad.State.Class|Typ|MonadState", + "idType": { + "components": [ + { + "contents": "Type -> (Type -> Type) -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "771", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "MonadState", + "moduleName": "Control.Monad.State.Class", + "name": "MonadState", + "packageId": { + "name": "mtl", + "version": "2.3.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "MonadState", + "sort": "External" + }, + "772": { + "demangledOccName": "s", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "772", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe s is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "s", + "sort": "Internal" + }, + "773": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "773", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "774": { + "demangledOccName": "UniqMap", + "externalId": "ghc-9.10.2|GHC.Types.Unique.Map|Typ|UniqMap", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "774", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UniqMap", + "moduleName": "GHC.Types.Unique.Map", + "name": "UniqMap", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UniqMap", + "sort": "External" + }, + "775": { + "demangledOccName": "ModuleSet", + "externalId": "ghc-9.10.2|GHC.Unit.Module.Env|Typ|ModuleSet", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "775", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModuleSet", + "moduleName": "GHC.Unit.Module.Env", + "name": "ModuleSet", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModuleSet", + "sort": "External" + }, + "776": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "776", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "777": { + "demangledOccName": "Applicative", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Typ|Applicative", + "idType": { + "components": [ + { + "contents": "(Type -> Type) -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "777", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Applicative", + "moduleName": "GHC.Internal.Base", + "name": "Applicative", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Applicative", + "sort": "External" + }, + "778": { + "demangledOccName": "Tuple5", + "externalId": "ghc-prim-0.12.0|GHC.Tuple|Typ|Tuple5", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type -> Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "778", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Tuple5", + "moduleName": "GHC.Tuple", + "name": "Tuple5", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Tuple5", + "sort": "External" + }, + "779": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "779", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "78": { + "demangledOccName": "HomePackageTable", + "externalId": "ghc-9.10.2|GHC.Unit.Home.ModInfo|Typ|HomePackageTable", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "78", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HomePackageTable", + "moduleName": "GHC.Unit.Home.ModInfo", + "name": "HomePackageTable", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HomePackageTable", + "sort": "External" + }, + "780": { + "demangledOccName": "Many", + "externalId": "ghc-prim-0.12.0|GHC.Types|Val|Many", + "idType": { + "components": [ + { + "internalId": "722", + "name": "Multiplicity", + "tag": "TyCon" + }, + { + "contents": "_36m", + "tag": "Text" + } + ] + }, + "internalId": "780", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "Many", + "moduleName": "GHC.Types", + "name": "Many", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "Many", + "sort": "External" + }, + "781": { + "demangledOccName": "Anno", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Extension|Typ|Anno", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "781", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Anno", + "moduleName": "Language.Haskell.Syntax.Extension", + "name": "Anno", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Anno", + "sort": "External" + }, + "782": { + "demangledOccName": "IdGhcP", + "externalId": "ghc-9.10.2|GHC.Hs.Extension|Typ|IdGhcP", + "idType": { + "components": [ + { + "internalId": "708", + "name": "Pass", + "tag": "TyCon" + }, + { + "contents": "_r5zV -> Type", + "tag": "Text" + } + ] + }, + "internalId": "782", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IdGhcP", + "moduleName": "GHC.Hs.Extension", + "name": "IdGhcP", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IdGhcP", + "sort": "External" + }, + "783": { + "demangledOccName": "p", + "idType": { + "components": [ + { + "internalId": "708", + "name": "Pass", + "tag": "TyCon" + }, + { + "contents": "_r5zV", + "tag": "Text" + } + ] + }, + "internalId": "783", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe p is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "p", + "sort": "Internal" + }, + "784": { + "demangledOccName": "~", + "externalId": "ghc-prim-0.12.0|GHC.Types|Typ|~", + "idType": { + "components": [ + { + "contents": "forall k. ", + "tag": "Text" + }, + { + "internalId": "916", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "916", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "784", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "-126-", + "moduleName": "GHC.Types", + "name": "~", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "~", + "sort": "External" + }, + "785": { + "demangledOccName": "SrcSpanAnnN", + "externalId": "ghc-9.10.2|GHC.Parser.Annotation|Typ|SrcSpanAnnN", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "785", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "SrcSpanAnnN", + "moduleName": "GHC.Parser.Annotation", + "name": "SrcSpanAnnN", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "SrcSpanAnnN", + "sort": "External" + }, + "786": { + "demangledOccName": "IdP", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Extension|Typ|IdP", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "786", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IdP", + "moduleName": "Language.Haskell.Syntax.Extension", + "name": "IdP", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IdP", + "sort": "External" + }, + "787": { + "demangledOccName": "EpAnn", + "externalId": "ghc-9.10.2|GHC.Parser.Annotation|Typ|EpAnn", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "787", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "EpAnn", + "moduleName": "GHC.Parser.Annotation", + "name": "EpAnn", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "EpAnn", + "sort": "External" + }, + "788": { + "demangledOccName": "XImportDeclPass", + "externalId": "ghc-9.10.2|GHC.Hs.ImpExp|Typ|XImportDeclPass", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "788", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "XImportDeclPass", + "moduleName": "GHC.Hs.ImpExp", + "name": "XImportDeclPass", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "XImportDeclPass", + "sort": "External" + }, + "789": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "789", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "79": { + "demangledOccName": "hm_details", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Unit.Home.ModInfo|Val|hm_details", + "idType": { + "components": [ + { + "internalId": "749", + "name": "HomeModInfo", + "tag": "TyCon" + }, + { + "contents": "_r6Hv -> ", + "tag": "Text" + }, + { + "internalId": "680", + "name": "ModDetails", + "tag": "TyCon" + }, + { + "contents": "_r6E0", + "tag": "Text" + } + ] + }, + "internalId": "79", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "hm_details", + "moduleName": "GHC.Unit.Home.ModInfo", + "name": "hm_details", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "hm_details", + "sort": "External" + }, + "790": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "790", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "791": { + "demangledOccName": "GenericUnitInfo", + "externalId": "ghc-boot-9.10.2|GHC.Unit.Database|Typ|GenericUnitInfo", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type -> Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "791", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GenericUnitInfo", + "moduleName": "GHC.Unit.Database", + "name": "GenericUnitInfo", + "packageId": { + "name": "ghc-boot", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GenericUnitInfo", + "sort": "External" + }, + "792": { + "demangledOccName": "CallStack", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Stack.Types|Typ|CallStack", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "792", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "CallStack", + "moduleName": "GHC.Internal.Stack.Types", + "name": "CallStack", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "CallStack", + "sort": "External" + }, + "793": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "793", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "794": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "794", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "795": { + "demangledOccName": "PackageDBFlag", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|PackageDBFlag", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "795", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "PackageDBFlag", + "moduleName": "GHC.Driver.DynFlags", + "name": "PackageDBFlag", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "PackageDBFlag", + "sort": "External" + }, + "796": { + "demangledOccName": "l", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "796", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe l is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "l", + "sort": "Internal" + }, + "797": { + "demangledOccName": "VarEnv", + "externalId": "ghc-9.10.2|GHC.Types.Var.Env|Typ|VarEnv", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "797", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "VarEnv", + "moduleName": "GHC.Types.Var.Env", + "name": "VarEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "VarEnv", + "sort": "External" + }, + "798": { + "demangledOccName": "HsWrapper", + "externalId": "ghc-9.10.2|GHC.Tc.Types.Evidence|Typ|HsWrapper", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "798", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HsWrapper", + "moduleName": "GHC.Tc.Types.Evidence", + "name": "HsWrapper", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HsWrapper", + "sort": "External" + }, + "799": { + "demangledOccName": "GhcLink", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|GhcLink", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "799", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GhcLink", + "moduleName": "GHC.Driver.DynFlags", + "name": "GhcLink", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GhcLink", + "sort": "External" + }, + "8": { + "demangledOccName": "encodeToLazyText", + "details": "VanillaId", + "externalId": "aeson-2.2.3.0|Data.Aeson.Text|Val|encodeToLazyText", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "898", + "name": "ToJSON", + "tag": "TyCon" + }, + { + "contents": "_rHe ", + "tag": "Text" + }, + { + "internalId": "882", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "882", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "751", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r1FH", + "tag": "Text" + } + ] + }, + "internalId": "8", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "encodeToLazyText", + "moduleName": "Data.Aeson.Text", + "name": "encodeToLazyText", + "packageId": { + "name": "aeson", + "version": "2.2.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "encodeToLazyText", + "sort": "External" + }, + "80": { + "demangledOccName": "md_types", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Unit.Module.ModDetails|Val|md_types", + "idType": { + "components": [ + { + "internalId": "680", + "name": "ModDetails", + "tag": "TyCon" + }, + { + "contents": "_r6E0 -> ", + "tag": "Text" + }, + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "680", + "name": "ModDetails", + "tag": "TyCon" + }, + { + "contents": "_r6E0 -> ", + "tag": "Text" + }, + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag", + "tag": "Text" + } + ] + }, + "internalId": "80", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "md_types", + "moduleName": "GHC.Unit.Module.ModDetails", + "name": "md_types", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "md_types", + "sort": "External" + }, + "800": { + "demangledOccName": "Backend", + "externalId": "ghc-9.10.2|GHC.Driver.Backend|Typ|Backend", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "800", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Backend", + "moduleName": "GHC.Driver.Backend", + "name": "Backend", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Backend", + "sort": "External" + }, + "801": { + "demangledOccName": "FilePath", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.IO|Typ|FilePath", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "801", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "FilePath", + "moduleName": "GHC.Internal.IO", + "name": "FilePath", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "FilePath", + "sort": "External" + }, + "802": { + "demangledOccName": "Platform", + "externalId": "ghc-9.10.2|GHC.Platform|Typ|Platform", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "802", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Platform", + "moduleName": "GHC.Platform", + "name": "Platform", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Platform", + "sort": "External" + }, + "803": { + "demangledOccName": "Fingerprint", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Fingerprint.Type|Typ|Fingerprint", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "803", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Fingerprint", + "moduleName": "GHC.Internal.Fingerprint.Type", + "name": "Fingerprint", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Fingerprint", + "sort": "External" + }, + "804": { + "demangledOccName": "TempDir", + "externalId": "ghc-9.10.2|GHC.Utils.TmpFs|Typ|TempDir", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "804", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TempDir", + "moduleName": "GHC.Utils.TmpFs", + "name": "TempDir", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TempDir", + "sort": "External" + }, + "805": { + "demangledOccName": "ParMakeCount", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|ParMakeCount", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "805", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ParMakeCount", + "moduleName": "GHC.Driver.DynFlags", + "name": "ParMakeCount", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ParMakeCount", + "sort": "External" + }, + "806": { + "demangledOccName": "Word", + "externalId": "ghc-prim-0.12.0|GHC.Types|Typ|Word", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "806", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Word", + "moduleName": "GHC.Types", + "name": "Word", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Word", + "sort": "External" + }, + "807": { + "demangledOccName": "IntWithInf", + "externalId": "ghc-9.10.2|GHC.Types.Basic|Typ|IntWithInf", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "807", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IntWithInf", + "moduleName": "GHC.Types.Basic", + "name": "IntWithInf", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IntWithInf", + "sort": "External" + }, + "808": { + "demangledOccName": "Ways", + "externalId": "ghc-9.10.2|GHC.Platform.Ways|Typ|Ways", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "808", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Ways", + "moduleName": "GHC.Platform.Ways", + "name": "Ways", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Ways", + "sort": "External" + }, + "809": { + "demangledOccName": "DynLibLoader", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|DynLibLoader", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "809", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "DynLibLoader", + "moduleName": "GHC.Driver.DynFlags", + "name": "DynLibLoader", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "DynLibLoader", + "sort": "External" + }, + "81": { + "demangledOccName": "TypeEnv", + "externalId": "ghc-9.10.2|GHC.Types.TypeEnv|Typ|TypeEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "81", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TypeEnv", + "moduleName": "GHC.Types.TypeEnv", + "name": "TypeEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TypeEnv", + "sort": "External" + }, + "810": { + "demangledOccName": "IncludeSpecs", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|IncludeSpecs", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "810", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IncludeSpecs", + "moduleName": "GHC.Driver.DynFlags", + "name": "IncludeSpecs", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IncludeSpecs", + "sort": "External" + }, + "811": { + "demangledOccName": "ExternalPluginSpec", + "externalId": "ghc-9.10.2|GHC.Driver.Plugins.External|Typ|ExternalPluginSpec", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "811", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ExternalPluginSpec", + "moduleName": "GHC.Driver.Plugins.External", + "name": "ExternalPluginSpec", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ExternalPluginSpec", + "sort": "External" + }, + "812": { + "demangledOccName": "IgnorePackageFlag", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|IgnorePackageFlag", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "812", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IgnorePackageFlag", + "moduleName": "GHC.Driver.DynFlags", + "name": "IgnorePackageFlag", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IgnorePackageFlag", + "sort": "External" + }, + "813": { + "demangledOccName": "PackageFlag", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|PackageFlag", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "813", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "PackageFlag", + "moduleName": "GHC.Driver.DynFlags", + "name": "PackageFlag", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "PackageFlag", + "sort": "External" + }, + "814": { + "demangledOccName": "EnumSet", + "externalId": "ghc-9.10.2|GHC.Data.EnumSet|Typ|EnumSet", + "idType": { + "components": [ + { + "contents": "forall {k}. ", + "tag": "Text" + }, + { + "internalId": "912", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> Type", + "tag": "Text" + } + ] + }, + "internalId": "814", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "EnumSet", + "moduleName": "GHC.Data.EnumSet", + "name": "EnumSet", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "EnumSet", + "sort": "External" + }, + "815": { + "demangledOccName": "GeneralFlag", + "externalId": "ghc-9.10.2|GHC.Driver.Flags|Typ|GeneralFlag", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "815", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GeneralFlag", + "moduleName": "GHC.Driver.Flags", + "name": "GeneralFlag", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GeneralFlag", + "sort": "External" + }, + "816": { + "demangledOccName": "WarningFlag", + "externalId": "ghc-9.10.2|GHC.Driver.Flags|Typ|WarningFlag", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "816", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "WarningFlag", + "moduleName": "GHC.Driver.Flags", + "name": "WarningFlag", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "WarningFlag", + "sort": "External" + }, + "817": { + "demangledOccName": "WarningCategorySet", + "externalId": "ghc-9.10.2|GHC.Unit.Module.Warnings|Typ|WarningCategorySet", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "817", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "WarningCategorySet", + "moduleName": "GHC.Unit.Module.Warnings", + "name": "WarningCategorySet", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "WarningCategorySet", + "sort": "External" + }, + "818": { + "demangledOccName": "Language", + "externalId": "ghc-9.10.2|GHC.Driver.Flags|Typ|Language", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "818", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Language", + "moduleName": "GHC.Driver.Flags", + "name": "Language", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Language", + "sort": "External" + }, + "819": { + "demangledOccName": "Extension", + "externalId": "ghc-boot-th-9.10.2|GHC.LanguageExtensions.Type|Typ|Extension", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "819", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Extension", + "moduleName": "GHC.LanguageExtensions.Type", + "name": "Extension", + "packageId": { + "name": "ghc-boot-th", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Extension", + "sort": "External" + }, + "82": { + "demangledOccName": "mkTypeEnv", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.TypeEnv|Val|mkTypeEnv", + "idType": { + "components": [ + { + "contents": "[", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag] -> ", + "tag": "Text" + }, + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "[", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag] -> ", + "tag": "Text" + }, + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag", + "tag": "Text" + } + ] + }, + "internalId": "82", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "mkTypeEnv", + "moduleName": "GHC.Types.TypeEnv", + "name": "mkTypeEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "mkTypeEnv", + "sort": "External" + }, + "820": { + "demangledOccName": "UnfoldingOpts", + "externalId": "ghc-9.10.2|GHC.Core.Unfold|Typ|UnfoldingOpts", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "820", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UnfoldingOpts", + "moduleName": "GHC.Core.Unfold", + "name": "UnfoldingOpts", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UnfoldingOpts", + "sort": "External" + }, + "821": { + "demangledOccName": "OverridingBool", + "externalId": "ghc-9.10.2|GHC.Data.Bool|Typ|OverridingBool", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "821", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "OverridingBool", + "moduleName": "GHC.Data.Bool", + "name": "OverridingBool", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "OverridingBool", + "sort": "External" + }, + "822": { + "demangledOccName": "Scheme", + "externalId": "ghc-9.10.2|GHC.Utils.Ppr.Colour|Typ|Scheme", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "822", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Scheme", + "moduleName": "GHC.Utils.Ppr.Colour", + "name": "Scheme", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Scheme", + "sort": "External" + }, + "823": { + "demangledOccName": "ProfAuto", + "externalId": "ghc-9.10.2|GHC.Types.ProfAuto|Typ|ProfAuto", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "823", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ProfAuto", + "moduleName": "GHC.Types.ProfAuto", + "name": "ProfAuto", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ProfAuto", + "sort": "External" + }, + "824": { + "demangledOccName": "CallerCcFilter", + "externalId": "ghc-9.10.2|GHC.Core.Opt.CallerCC.Types|Typ|CallerCcFilter", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "824", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "CallerCcFilter", + "moduleName": "GHC.Core.Opt.CallerCC.Types", + "name": "CallerCcFilter", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "CallerCcFilter", + "sort": "External" + }, + "825": { + "demangledOccName": "SseVersion", + "externalId": "ghc-9.10.2|GHC.Platform|Typ|SseVersion", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "825", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "SseVersion", + "moduleName": "GHC.Platform", + "name": "SseVersion", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "SseVersion", + "sort": "External" + }, + "826": { + "demangledOccName": "BmiVersion", + "externalId": "ghc-9.10.2|GHC.Platform|Typ|BmiVersion", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "826", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "BmiVersion", + "moduleName": "GHC.Platform", + "name": "BmiVersion", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "BmiVersion", + "sort": "External" + }, + "827": { + "demangledOccName": "Word64", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Word|Typ|Word64", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "827", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Word64", + "moduleName": "GHC.Internal.Word", + "name": "Word64", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Word64", + "sort": "External" + }, + "828": { + "demangledOccName": "UnitInfoMap", + "externalId": "ghc-9.10.2|GHC.Unit.State|Typ|UnitInfoMap", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "828", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UnitInfoMap", + "moduleName": "GHC.Unit.State", + "name": "UnitInfoMap", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UnitInfoMap", + "sort": "External" + }, + "829": { + "demangledOccName": "PreloadUnitClosure", + "externalId": "ghc-9.10.2|GHC.Unit.State|Typ|PreloadUnitClosure", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "829", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "PreloadUnitClosure", + "moduleName": "GHC.Unit.State", + "name": "PreloadUnitClosure", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "PreloadUnitClosure", + "sort": "External" + }, + "83": { + "demangledOccName": "typeEnvElts", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.TypeEnv|Val|typeEnvElts", + "idType": { + "components": [ + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae -> [", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag -> [", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag]", + "tag": "Text" + } + ] + }, + "internalId": "83", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "typeEnvElts", + "moduleName": "GHC.Types.TypeEnv", + "name": "typeEnvElts", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "typeEnvElts", + "sort": "External" + }, + "830": { + "demangledOccName": "PackageName", + "externalId": "ghc-9.10.2|GHC.Unit.Info|Typ|PackageName", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "830", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "PackageName", + "moduleName": "GHC.Unit.Info", + "name": "PackageName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "PackageName", + "sort": "External" + }, + "831": { + "demangledOccName": "Unit", + "externalId": "ghc-9.10.2|GHC.Unit.Types|Typ|Unit", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "831", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Unit", + "moduleName": "GHC.Unit.Types", + "name": "Unit", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Unit", + "sort": "External" + }, + "832": { + "demangledOccName": "PackageArg", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|PackageArg", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "832", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "PackageArg", + "moduleName": "GHC.Driver.DynFlags", + "name": "PackageArg", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "PackageArg", + "sort": "External" + }, + "833": { + "demangledOccName": "ModuleNameProvidersMap", + "externalId": "ghc-9.10.2|GHC.Unit.State|Typ|ModuleNameProvidersMap", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "833", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModuleNameProvidersMap", + "moduleName": "GHC.Unit.State", + "name": "ModuleNameProvidersMap", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModuleNameProvidersMap", + "sort": "External" + }, + "834": { + "demangledOccName": "VisibleOrphanModules", + "externalId": "ghc-9.10.2|GHC.Core.InstEnv|Typ|VisibleOrphanModules", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "834", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "VisibleOrphanModules", + "moduleName": "GHC.Core.InstEnv", + "name": "VisibleOrphanModules", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "VisibleOrphanModules", + "sort": "External" + }, + "835": { + "demangledOccName": "ASTState", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Typ|ASTState", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "835", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ASTState", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "ASTState", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ASTState", + "sort": "External" + }, + "836": { + "demangledOccName": "GenUnit", + "externalId": "ghc-9.10.2|GHC.Unit.Types|Typ|GenUnit", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "836", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GenUnit", + "moduleName": "GHC.Unit.Types", + "name": "GenUnit", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GenUnit", + "sort": "External" + }, + "837": { + "demangledOccName": "Way", + "externalId": "ghc-9.10.2|GHC.Platform.Ways|Typ|Way", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "837", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Way", + "moduleName": "GHC.Platform.Ways", + "name": "Way", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Way", + "sort": "External" + }, + "838": { + "demangledOccName": "UniqSet", + "externalId": "ghc-9.10.2|GHC.Types.Unique.Set|Typ|UniqSet", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "838", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UniqSet", + "moduleName": "GHC.Types.Unique.Set", + "name": "UniqSet", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UniqSet", + "sort": "External" + }, + "839": { + "demangledOccName": "ModuleOrigin", + "externalId": "ghc-9.10.2|GHC.Unit.State|Typ|ModuleOrigin", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "839", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModuleOrigin", + "moduleName": "GHC.Unit.State", + "name": "ModuleOrigin", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModuleOrigin", + "sort": "External" + }, + "84": { + "demangledOccName": "InstEnvs", + "externalId": "ghc-9.10.2|GHC.Core.InstEnv|Typ|InstEnvs", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "84", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "InstEnvs", + "moduleName": "GHC.Core.InstEnv", + "name": "InstEnvs", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "InstEnvs", + "sort": "External" + }, + "840": { + "demangledOccName": "GenInstantiatedUnit", + "externalId": "ghc-9.10.2|GHC.Unit.Types|Typ|GenInstantiatedUnit", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "840", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GenInstantiatedUnit", + "moduleName": "GHC.Unit.Types", + "name": "GenInstantiatedUnit", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GenInstantiatedUnit", + "sort": "External" + }, + "841": { + "demangledOccName": "NDModule", + "externalId": "ghc-9.10.2|GHC.Unit.Module.Env|Typ|NDModule", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "841", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "NDModule", + "moduleName": "GHC.Unit.Module.Env", + "name": "NDModule", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "NDModule", + "sort": "External" + }, + "842": { + "demangledOccName": "UnitEnv", + "externalId": "ghc-9.10.2|GHC.Unit.Env|Typ|UnitEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "842", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UnitEnv", + "moduleName": "GHC.Unit.Env", + "name": "UnitEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UnitEnv", + "sort": "External" + }, + "843": { + "demangledOccName": "TyClGroup", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|TyClGroup", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "843", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TyClGroup", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "TyClGroup", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TyClGroup", + "sort": "External" + }, + "844": { + "demangledOccName": "pass", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "844", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe pass is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "pass", + "sort": "Internal" + }, + "845": { + "demangledOccName": "t", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "845", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe t is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "t", + "sort": "Internal" + }, + "846": { + "demangledOccName": "key", + "idType": { + "components": [ + { + "internalId": "702", + "name": "k", + "tag": "TyCon" + } + ] + }, + "internalId": "846", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe key is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "key", + "sort": "Internal" + }, + "847": { + "demangledOccName": "NameSpace", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|NameSpace", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "847", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "NameSpace", + "moduleName": "HaskellCodeExplorer.Types", + "name": "NameSpace", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "NameSpace", + "sort": "External" + }, + "848": { + "demangledOccName": "InstanceResolution", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|InstanceResolution", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "848", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "InstanceResolution", + "moduleName": "HaskellCodeExplorer.Types", + "name": "InstanceResolution", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "InstanceResolution", + "sort": "External" + }, + "849": { + "demangledOccName": "Monad", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Typ|Monad", + "idType": { + "components": [ + { + "contents": "(Type -> Type) -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "849", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Monad", + "moduleName": "GHC.Internal.Base", + "name": "Monad", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Monad", + "sort": "External" + }, + "85": { + "demangledOccName": "is_dfun", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Core.InstEnv|Val|is_dfun", + "idType": { + "components": [ + { + "internalId": "854", + "name": "ClsInst", + "tag": "TyCon" + }, + { + "contents": "_r5Aa -> ", + "tag": "Text" + }, + { + "internalId": "688", + "name": "DFunId", + "tag": "TyCon" + }, + { + "contents": "_r5xc", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "854", + "name": "ClsInst", + "tag": "TyCon" + }, + { + "contents": "_r5Aa -> ", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX", + "tag": "Text" + } + ] + }, + "internalId": "85", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "is_dfun", + "moduleName": "GHC.Core.InstEnv", + "name": "is_dfun", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "is_dfun", + "sort": "External" + }, + "850": { + "demangledOccName": "m", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "850", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe m is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "m", + "sort": "Internal" + }, + "851": { + "demangledOccName": "Biplate", + "externalId": "uniplate-1.6.13|Data.Generics.Uniplate.Operations|Typ|Biplate", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "851", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Biplate", + "moduleName": "Data.Generics.Uniplate.Operations", + "name": "Biplate", + "packageId": { + "name": "uniplate", + "version": "1.6.13" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Biplate", + "sort": "External" + }, + "852": { + "demangledOccName": "from", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "852", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe from is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "from", + "sort": "Internal" + }, + "853": { + "demangledOccName": "to", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "853", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe to is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "to", + "sort": "Internal" + }, + "854": { + "demangledOccName": "ClsInst", + "externalId": "ghc-9.10.2|GHC.Core.InstEnv|Typ|ClsInst", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "854", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ClsInst", + "moduleName": "GHC.Core.InstEnv", + "name": "ClsInst", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ClsInst", + "sort": "External" + }, + "855": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "855", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "856": { + "demangledOccName": "SDoc", + "externalId": "ghc-9.10.2|GHC.Utils.Outputable|Typ|SDoc", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "856", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "SDoc", + "moduleName": "GHC.Utils.Outputable", + "name": "SDoc", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "SDoc", + "sort": "External" + }, + "857": { + "demangledOccName": "l", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "857", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe l is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "l", + "sort": "Internal" + }, + "858": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "858", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "859": { + "demangledOccName": "OccEnv", + "externalId": "ghc-9.10.2|GHC.Types.Name.Occurrence|Typ|OccEnv", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "859", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "OccEnv", + "moduleName": "GHC.Types.Name.Occurrence", + "name": "OccEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "OccEnv", + "sort": "External" + }, + "86": { + "demangledOccName": "Module", + "externalId": "ghc-9.10.2|GHC.Unit.Types|Typ|Module", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "86", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Module", + "moduleName": "GHC.Unit.Types", + "name": "Module", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Module", + "sort": "External" + }, + "860": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "860", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "861": { + "demangledOccName": "c", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "861", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe c is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "c", + "sort": "Internal" + }, + "862": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "862", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "863": { + "demangledOccName": "astStateIdOccMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|astStateIdOccMap", + "idType": { + "components": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw -> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw\n-> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]", + "tag": "Text" + } + ] + }, + "internalId": "863", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "astStateIdOccMap", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "astStateIdOccMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "astStateIdOccMap", + "sort": "External" + }, + "864": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "864", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "865": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "865", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "866": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "866", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "867": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "867", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "868": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "868", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "869": { + "demangledOccName": "HasDebugCallStack", + "externalId": "ghc-9.10.2|GHC.Utils.Misc|Typ|HasDebugCallStack", + "idType": { + "components": [ + { + "contents": "Constraint", + "tag": "Text" + } + ] + }, + "internalId": "869", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HasDebugCallStack", + "moduleName": "GHC.Utils.Misc", + "name": "HasDebugCallStack", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HasDebugCallStack", + "sort": "External" + }, + "87": { + "demangledOccName": "moduleName", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Unit.Types|Val|moduleName", + "idType": { + "components": [ + { + "contents": "forall unit. ", + "tag": "Text" + }, + { + "internalId": "736", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh ", + "tag": "Text" + }, + { + "internalId": "884", + "name": "unit", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3", + "tag": "Text" + } + ] + }, + "internalId": "87", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "moduleName", + "moduleName": "GHC.Unit.Types", + "name": "moduleName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "moduleName", + "sort": "External" + }, + "870": { + "demangledOccName": "TypecheckedSource", + "externalId": "ghc-9.10.2|GHC|Typ|TypecheckedSource", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "870", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TypecheckedSource", + "moduleName": "GHC", + "name": "TypecheckedSource", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TypecheckedSource", + "sort": "External" + }, + "871": { + "demangledOccName": "Typechecked", + "externalId": "ghc-9.10.2|GHC.Hs.Extension|Val|Typechecked", + "idType": { + "components": [ + { + "internalId": "708", + "name": "Pass", + "tag": "TyCon" + }, + { + "contents": "_r5zV", + "tag": "Text" + } + ] + }, + "internalId": "871", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "Typechecked", + "moduleName": "GHC.Hs.Extension", + "name": "Typechecked", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "Typechecked", + "sort": "External" + }, + "872": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "872", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "873": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "873", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "874": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "874", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "875": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "internalId": "716", + "name": "TYPE", + "tag": "TyCon" + }, + { + "contents": "_32W ", + "tag": "Text" + }, + { + "internalId": "876", + "name": "r", + "tag": "TyCon" + } + ] + }, + "internalId": "875", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "877": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "877", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "878": { + "demangledOccName": "CollectPass", + "externalId": "ghc-9.10.2|GHC.Hs.Utils|Typ|CollectPass", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "878", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "CollectPass", + "moduleName": "GHC.Hs.Utils", + "name": "CollectPass", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "CollectPass", + "sort": "External" + }, + "879": { + "demangledOccName": "p", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "879", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe p is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "p", + "sort": "Internal" + }, + "88": { + "demangledOccName": "Name", + "externalId": "ghc-9.10.2|GHC.Types.Name|Typ|Name", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "88", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Name", + "moduleName": "GHC.Types.Name", + "name": "Name", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Name", + "sort": "External" + }, + "880": { + "demangledOccName": "idR", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "880", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe idR is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "idR", + "sort": "Internal" + }, + "881": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "881", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "882": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "882", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "883": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "883", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "884": { + "demangledOccName": "unit", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "884", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe unit is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "unit", + "sort": "Internal" + }, + "885": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "885", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "886": { + "demangledOccName": "Constraint", + "externalId": "ghc-prim-0.12.0|GHC.Types|Typ|Constraint", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "886", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Constraint", + "moduleName": "GHC.Types", + "name": "Constraint", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Constraint", + "sort": "External" + }, + "887": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "887", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "888": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "internalId": "716", + "name": "TYPE", + "tag": "TyCon" + }, + { + "contents": "_32W ", + "tag": "Text" + }, + { + "internalId": "889", + "name": "repa", + "tag": "TyCon" + } + ] + }, + "internalId": "888", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "89": { + "demangledOccName": "OccName", + "externalId": "ghc-9.10.2|GHC.Types.Name.Occurrence|Typ|OccName", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "89", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "OccName", + "moduleName": "GHC.Types.Name.Occurrence", + "name": "OccName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "OccName", + "sort": "External" + }, + "890": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "890", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "891": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "891", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "892": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "892", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "893": { + "demangledOccName": "Unit", + "externalId": "ghc-prim-0.12.0|GHC.Tuple|Typ|Unit", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "893", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Unit", + "moduleName": "GHC.Tuple", + "name": "Unit", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Unit", + "sort": "External" + }, + "894": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "894", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "895": { + "demangledOccName": "m", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "895", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe m is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "m", + "sort": "Internal" + }, + "896": { + "demangledOccName": "TyCon", + "externalId": "ghc-9.10.2|GHC.Core.TyCon|Typ|TyCon", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "896", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TyCon", + "moduleName": "GHC.Core.TyCon", + "name": "TyCon", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TyCon", + "sort": "External" + }, + "897": { + "demangledOccName": "e", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "897", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe e is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "e", + "sort": "Internal" + }, + "898": { + "demangledOccName": "ToJSON", + "externalId": "aeson-2.2.3.0|Data.Aeson.Types.ToJSON|Typ|ToJSON", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "898", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ToJSON", + "moduleName": "Data.Aeson.Types.ToJSON", + "name": "ToJSON", + "packageId": { + "name": "aeson", + "version": "2.2.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ToJSON", + "sort": "External" + }, + "899": { + "demangledOccName": "Num", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Num|Typ|Num", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "899", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Num", + "moduleName": "GHC.Internal.Num", + "name": "Num", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Num", + "sort": "External" + }, + "9": { + "demangledOccName": "HsBindLR", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Binds|Typ|HsBindLR", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "9", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HsBindLR", + "moduleName": "Language.Haskell.Syntax.Binds", + "name": "HsBindLR", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HsBindLR", + "sort": "External" + }, + "90": { + "demangledOccName": "getSrcSpan", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.Name|Val|getSrcSpan", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "768", + "name": "NamedThing", + "tag": "TyCon" + }, + { + "contents": "_r6iL ", + "tag": "Text" + }, + { + "internalId": "769", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "769", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ", + "tag": "Text" + } + ] + }, + "internalId": "90", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "getSrcSpan", + "moduleName": "GHC.Types.Name", + "name": "getSrcSpan", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "getSrcSpan", + "sort": "External" + }, + "900": { + "demangledOccName": "Tuple2", + "externalId": "ghc-prim-0.12.0|GHC.Tuple|Typ|Tuple2", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "900", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Tuple2", + "moduleName": "GHC.Tuple", + "name": "Tuple2", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Tuple2", + "sort": "External" + }, + "901": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "901", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "902": { + "demangledOccName": "Value", + "externalId": "aeson-2.2.3.0|Data.Aeson.Types.Internal|Typ|Value", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "902", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Value", + "moduleName": "Data.Aeson.Types.Internal", + "name": "Value", + "packageId": { + "name": "aeson", + "version": "2.2.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Value", + "sort": "External" + }, + "903": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "903", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "904": { + "demangledOccName": "astStateHsWrapper", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|astStateHsWrapper", + "idType": { + "components": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "798", + "name": "HsWrapper", + "tag": "TyCon" + }, + { + "contents": "_r5y5", + "tag": "Text" + } + ] + }, + "internalId": "904", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "astStateHsWrapper", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "astStateHsWrapper", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "astStateHsWrapper", + "sort": "External" + }, + "905": { + "demangledOccName": "Functor", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Typ|Functor", + "idType": { + "components": [ + { + "contents": "(Type -> Type) -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "905", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Functor", + "moduleName": "GHC.Internal.Base", + "name": "Functor", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Functor", + "sort": "External" + }, + "906": { + "demangledOccName": "CONSTRAINT", + "externalId": "ghc-prim-0.12.0|GHC.Prim|Typ|CONSTRAINT", + "idType": { + "components": [ + { + "internalId": "717", + "name": "RuntimeRep", + "tag": "TyCon" + }, + { + "contents": "_334 -> Type", + "tag": "Text" + } + ] + }, + "internalId": "906", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "CONSTRAINT", + "moduleName": "GHC.Prim", + "name": "CONSTRAINT", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "CONSTRAINT", + "sort": "External" + }, + "907": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "907", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "908": { + "demangledOccName": "LHsBinds", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Binds|Typ|LHsBinds", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "908", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LHsBinds", + "moduleName": "Language.Haskell.Syntax.Binds", + "name": "LHsBinds", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LHsBinds", + "sort": "External" + }, + "909": { + "demangledOccName": "s", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "909", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe s is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "s", + "sort": "Internal" + }, + "91": { + "demangledOccName": "nameOccName", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.Name|Val|nameOccName", + "idType": { + "components": [ + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 -> ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4", + "tag": "Text" + } + ] + }, + "internalId": "91", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "nameOccName", + "moduleName": "GHC.Types.Name", + "name": "nameOccName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "nameOccName", + "sort": "External" + }, + "910": { + "demangledOccName": "id", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "910", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe id is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "id", + "sort": "Internal" + }, + "911": { + "demangledOccName": "CUnit", + "externalId": "ghc-prim-0.12.0|GHC.Classes|Typ|CUnit", + "idType": { + "components": [ + { + "contents": "Constraint", + "tag": "Text" + } + ] + }, + "internalId": "911", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "CUnit", + "moduleName": "GHC.Classes", + "name": "CUnit", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "CUnit", + "sort": "External" + }, + "913": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "913", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "914": { + "demangledOccName": "Type", + "externalId": "ghc-prim-0.12.0|GHC.Types|Typ|Type", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "914", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Type", + "moduleName": "GHC.Types", + "name": "Type", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Type", + "sort": "External" + }, + "915": { + "demangledOccName": "Unique", + "externalId": "ghc-9.10.2|GHC.Types.Unique|Typ|Unique", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "915", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Unique", + "moduleName": "GHC.Types.Unique", + "name": "Unique", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Unique", + "sort": "External" + }, + "918": { + "demangledOccName": "t", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "918", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe t is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "t", + "sort": "Internal" + }, + "919": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "919", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "92": { + "demangledOccName": "nameSrcSpan", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.Name|Val|nameSrcSpan", + "idType": { + "components": [ + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ", + "tag": "Text" + } + ] + }, + "internalId": "92", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "nameSrcSpan", + "moduleName": "GHC.Types.Name", + "name": "nameSrcSpan", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "nameSrcSpan", + "sort": "External" + }, + "920": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "920", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "921": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "internalId": "716", + "name": "TYPE", + "tag": "TyCon" + }, + { + "contents": "_32W ", + "tag": "Text" + }, + { + "internalId": "937", + "name": "repb", + "tag": "TyCon" + } + ] + }, + "internalId": "921", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "922": { + "demangledOccName": "f", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "922", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe f is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "f", + "sort": "Internal" + }, + "923": { + "demangledOccName": "e", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "923", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe e is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "e", + "sort": "Internal" + }, + "924": { + "demangledOccName": "astStateIdSrcSpanMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|astStateIdSrcSpanMap", + "idType": { + "components": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw\n-> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))", + "tag": "Text" + } + ] + }, + "internalId": "924", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "astStateIdSrcSpanMap", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "astStateIdSrcSpanMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "astStateIdSrcSpanMap", + "sort": "External" + }, + "925": { + "demangledOccName": "TidyEnv", + "externalId": "ghc-9.10.2|GHC.Types.Var.Env|Typ|TidyEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "925", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TidyEnv", + "moduleName": "GHC.Types.Var.Env", + "name": "TidyEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TidyEnv", + "sort": "External" + }, + "926": { + "demangledOccName": "astStateTidyEnv", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|astStateTidyEnv", + "idType": { + "components": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw -> ", + "tag": "Text" + }, + { + "internalId": "925", + "name": "TidyEnv", + "tag": "TyCon" + }, + { + "contents": "_r5xW", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw\n-> (", + "tag": "Text" + }, + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "667", + "name": "FastString", + "tag": "TyCon" + }, + { + "contents": "_r5yT ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u,\n ", + "tag": "Text" + }, + { + "internalId": "674", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX ", + "tag": "Text" + }, + { + "internalId": "655", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX)", + "tag": "Text" + } + ] + }, + "internalId": "926", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "astStateTidyEnv", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "astStateTidyEnv", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "astStateTidyEnv", + "sort": "External" + }, + "927": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "927", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "928": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "928", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "929": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "929", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "93": { + "demangledOccName": "nameUnique", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.Name|Val|nameUnique", + "idType": { + "components": [ + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 -> ", + "tag": "Text" + }, + { + "internalId": "915", + "name": "Unique", + "tag": "TyCon" + }, + { + "contents": "_r6P0", + "tag": "Text" + } + ] + }, + "internalId": "93", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "nameUnique", + "moduleName": "GHC.Types.Name", + "name": "nameUnique", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "nameUnique", + "sort": "External" + }, + "930": { + "demangledOccName": "GhcTc", + "externalId": "ghc-9.10.2|GHC.Hs.Extension|Typ|GhcTc", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "930", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GhcTc", + "moduleName": "GHC.Hs.Extension", + "name": "GhcTc", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GhcTc", + "sort": "External" + }, + "931": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "931", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "932": { + "demangledOccName": "astStateEnv", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|astStateEnv", + "idType": { + "components": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw -> ", + "tag": "Text" + }, + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF", + "tag": "Text" + } + ] + }, + "internalId": "932", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "astStateEnv", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "astStateEnv", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "astStateEnv", + "sort": "External" + }, + "933": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "933", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "934": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "934", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "935": { + "demangledOccName": "l", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "935", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe l is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "l", + "sort": "Internal" + }, + "936": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "936", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "938": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "938", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "939": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "939", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "94": { + "demangledOccName": "id", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|id", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "890", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "890", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "94", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "id", + "moduleName": "GHC.Internal.Base", + "name": "id", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "id", + "sort": "External" + }, + "940": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "940", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "941": { + "demangledOccName": "astStateTypeErrors", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|astStateTypeErrors", + "idType": { + "components": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw -> [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT]", + "tag": "Text" + } + ] + }, + "internalId": "941", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "astStateTypeErrors", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "astStateTypeErrors", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "astStateTypeErrors", + "sort": "External" + }, + "942": { + "demangledOccName": "f", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "942", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe f is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "f", + "sort": "Internal" + }, + "943": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "943", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "944": { + "demangledOccName": "IP", + "externalId": "ghc-prim-0.12.0|GHC.Classes|Typ|IP", + "idType": { + "components": [ + { + "internalId": "945", + "name": "Symbol", + "tag": "TyCon" + }, + { + "contents": "_3cU -> Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "944", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IP", + "moduleName": "GHC.Classes", + "name": "IP", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IP", + "sort": "External" + }, + "95": { + "demangledOccName": "GlobalRdrEnv", + "externalId": "ghc-9.10.2|GHC.Types.Name.Reader|Typ|GlobalRdrEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "95", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GlobalRdrEnv", + "moduleName": "GHC.Types.Name.Reader", + "name": "GlobalRdrEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GlobalRdrEnv", + "sort": "External" + }, + "96": { + "demangledOccName": "isOneLineSpan", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Val|isOneLineSpan", + "idType": { + "components": [ + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "96", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "isOneLineSpan", + "moduleName": "GHC.Types.SrcLoc", + "name": "isOneLineSpan", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "isOneLineSpan", + "sort": "External" + }, + "97": { + "demangledOccName": "tcVisibleOrphanMods", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Tc.Types|Val|tcVisibleOrphanMods", + "idType": { + "components": [ + { + "internalId": "681", + "name": "TcGblEnv", + "tag": "TyCon" + }, + { + "contents": "_r6DZ -> ", + "tag": "Text" + }, + { + "internalId": "775", + "name": "ModuleSet", + "tag": "TyCon" + }, + { + "contents": "_r7iV", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "681", + "name": "TcGblEnv", + "tag": "TyCon" + }, + { + "contents": "_r6DZ -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "841", + "name": "NDModule", + "tag": "TyCon" + }, + { + "contents": "_rgOV", + "tag": "Text" + } + ] + }, + "internalId": "97", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tcVisibleOrphanMods", + "moduleName": "GHC.Tc.Types", + "name": "tcVisibleOrphanMods", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tcVisibleOrphanMods", + "sort": "External" + }, + "98": { + "demangledOccName": "tcg_inst_env", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Tc.Types|Val|tcg_inst_env", + "idType": { + "components": [ + { + "internalId": "681", + "name": "TcGblEnv", + "tag": "TyCon" + }, + { + "contents": "_r6DZ -> ", + "tag": "Text" + }, + { + "internalId": "679", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX", + "tag": "Text" + } + ] + }, + "internalId": "98", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tcg_inst_env", + "moduleName": "GHC.Tc.Types", + "name": "tcg_inst_env", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tcg_inst_env", + "sort": "External" + }, + "99": { + "demangledOccName": "tcg_rdr_env", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Tc.Types|Val|tcg_rdr_env", + "idType": { + "components": [ + { + "internalId": "681", + "name": "TcGblEnv", + "tag": "TyCon" + }, + { + "contents": "_r6DZ -> ", + "tag": "Text" + }, + { + "internalId": "95", + "name": "GlobalRdrEnv", + "tag": "TyCon" + }, + { + "contents": "_r5x1", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "681", + "name": "TcGblEnv", + "tag": "TyCon" + }, + { + "contents": "_r6DZ -> ", + "tag": "Text" + }, + { + "internalId": "859", + "name": "OccEnv", + "tag": "TyCon" + }, + { + "contents": "_rcRM [", + "tag": "Text" + }, + { + "internalId": "743", + "name": "GlobalRdrEltX", + "tag": "TyCon" + }, + { + "contents": "_r6HG ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "GREInfo", + "tag": "TyCon" + }, + { + "contents": "_rd3K]", + "tag": "Text" + } + ] + }, + "internalId": "99", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tcg_rdr_env", + "moduleName": "GHC.Tc.Types", + "name": "tcg_rdr_env", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tcg_rdr_env", + "sort": "External" + } + }, + "name": "HaskellCodeExplorer.ModuleInfo", + "occurrences": { + "100-8-18": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Hs.Doc", + "name": "GHC.Hs.Doc", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "101-5-16": { + "description": "IE", + "internalId": "69", + "sort": { + "tag": "TypeId" + } + }, + "102-5-11": { + "description": "IE", + "internalId": "70", + "sort": { + "tag": "TypeId" + } + }, + "103-5-25": { + "description": "IE", + "internalId": "71", + "sort": { + "tag": "TypeId" + } + }, + "104-23-25": { + "description": "IE", + "internalId": "72", + "sort": { + "tag": "TypeId" + } + }, + "104-31-41": { + "description": "IE", + "internalId": "73", + "sort": { + "tag": "TypeId" + } + }, + "104-47-60": { + "description": "IE", + "internalId": "74", + "sort": { + "tag": "ValueId" + } + }, + "104-8-21": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Hs.ImpExp", + "name": "GHC.Hs.ImpExp", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "105-21-41": { + "description": "IE", + "internalId": "19", + "sort": { + "tag": "ValueId" + } + }, + "105-8-20": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Hs.Utils", + "name": "GHC.Hs.Utils", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "106-8-25": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Unit.External", + "name": "GHC.Unit.External", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "107-5-25": { + "description": "IE", + "internalId": "75", + "sort": { + "tag": "TypeId" + } + }, + "108-5-12": { + "description": "IE", + "internalId": "76", + "sort": { + "tag": "ValueId" + } + }, + "109-5-17": { + "description": "IE", + "internalId": "77", + "sort": { + "tag": "ValueId" + } + }, + "110-8-29": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Unit.Home.ModInfo", + "name": "GHC.Unit.Home.ModInfo", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "111-5-21": { + "description": "IE", + "internalId": "78", + "sort": { + "tag": "TypeId" + } + }, + "112-5-15": { + "description": "IE", + "internalId": "79", + "sort": { + "tag": "ValueId" + } + }, + "113-8-34": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Unit.Module.ModDetails", + "name": "GHC.Unit.Module.ModDetails", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "114-5-13": { + "description": "IE", + "internalId": "80", + "sort": { + "tag": "ValueId" + } + }, + "115-8-25": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Types.TypeEnv", + "name": "GHC.Types.TypeEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "116-5-12": { + "description": "IE", + "internalId": "81", + "sort": { + "tag": "TypeId" + } + }, + "117-5-14": { + "description": "IE", + "internalId": "82", + "sort": { + "tag": "ValueId" + } + }, + "118-5-16": { + "description": "IE", + "internalId": "83", + "sort": { + "tag": "ValueId" + } + }, + "119-26-34": { + "description": "IE", + "internalId": "84", + "sort": { + "tag": "TypeId" + } + }, + "119-40-47": { + "description": "IE", + "internalId": "85", + "sort": { + "tag": "ValueId" + } + }, + "119-8-24": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Core.InstEnv", + "name": "GHC.Core.InstEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "120-24-30": { + "description": "IE", + "internalId": "86", + "sort": { + "tag": "TypeId" + } + }, + "120-36-46": { + "description": "IE", + "internalId": "87", + "sort": { + "tag": "ValueId" + } + }, + "120-8-23": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Unit.Module", + "name": "GHC.Unit.Module", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "121-24-28": { + "description": "IE", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "121-30-37": { + "description": "IE", + "internalId": "89", + "sort": { + "tag": "TypeId" + } + }, + "121-39-49": { + "description": "IE", + "internalId": "90", + "sort": { + "tag": "ValueId" + } + }, + "121-51-62": { + "description": "IE", + "internalId": "91", + "sort": { + "tag": "ValueId" + } + }, + "121-64-75": { + "description": "IE", + "internalId": "92", + "sort": { + "tag": "ValueId" + } + }, + "121-77-87": { + "description": "IE", + "internalId": "93", + "sort": { + "tag": "ValueId" + } + }, + "121-8-22": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Types.Name", + "name": "GHC.Types.Name", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "122-23-25": { + "description": "IE", + "internalId": "94", + "sort": { + "tag": "ValueId" + } + }, + "122-26-30": { + "description": "IE", + "internalId": "11", + "sort": { + "tag": "ValueId" + } + }, + "122-8-15": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Prelude", + "name": "Prelude", + "packageId": { + "name": "base", + "version": "4.20.1.0" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "123-30-42": { + "description": "IE", + "internalId": "95", + "sort": { + "tag": "TypeId" + } + }, + "123-8-29": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Types.Name.Reader", + "name": "GHC.Types.Name.Reader", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "124-26-39": { + "description": "IE", + "internalId": "96", + "sort": { + "tag": "ValueId" + } + }, + "124-41-52": { + "description": "IE", + "internalId": "16", + "sort": { + "tag": "TypeId" + } + }, + "124-58-74": { + "description": "IE", + "internalId": "17", + "sort": { + "tag": "ValueId" + } + }, + "124-76-91": { + "description": "IE", + "internalId": "18", + "sort": { + "tag": "ValueId" + } + }, + "124-8-24": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Types.SrcLoc", + "name": "GHC.Types.SrcLoc", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "125-22-41": { + "description": "IE", + "internalId": "97", + "sort": { + "tag": "ValueId" + } + }, + "125-43-55": { + "description": "IE", + "internalId": "98", + "sort": { + "tag": "ValueId" + } + }, + "125-57-68": { + "description": "IE", + "internalId": "99", + "sort": { + "tag": "ValueId" + } + }, + "125-70-82": { + "description": "IE", + "internalId": "100", + "sort": { + "tag": "ValueId" + } + }, + "125-8-20": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Tc.Types", + "name": "GHC.Tc.Types", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "126-18-34": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Text.Blaze.Html5", + "name": "Text.Blaze.Html5", + "packageId": { + "name": "blaze-html", + "version": "0.9.2.0" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "127-18-45": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Text.Blaze.Html5.Attributes", + "name": "Text.Blaze.Html5.Attributes", + "packageId": { + "name": "blaze-html", + "version": "0.9.2.0" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "128-26-32": { + "description": "IE", + "internalId": "101", + "sort": { + "tag": "ValueId" + } + }, + "128-8-24": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Types.Unique", + "name": "GHC.Types.Unique", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "129-23-30": { + "description": "IE", + "internalId": "102", + "sort": { + "tag": "ValueId" + } + }, + "129-32-39": { + "description": "IE", + "internalId": "103", + "sort": { + "tag": "ValueId" + } + }, + "129-40-42": { + "description": "IE", + "internalId": "104", + "sort": { + "tag": "TypeId" + } + }, + "129-8-21": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Types.Var", + "name": "GHC.Types.Var", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "130-27-39": { + "description": "IE", + "internalId": "105", + "sort": { + "tag": "ValueId" + } + }, + "130-8-25": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Types.Var.Env", + "name": "GHC.Types.Var.Env", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "132-6-24": { + "description": "SynDecl", + "internalId": "1", + "isBinder": true, + "sort": { + "tag": "TypeId" + } + }, + "133-19-38": { + "description": "HsTyVar", + "internalId": "107", + "sort": { + "tag": "TypeId" + } + }, + "133-39-60": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "133-8-18": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "134-19-40": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "134-41-62": { + "description": "HsTyVar", + "internalId": "109", + "sort": { + "tag": "TypeId" + } + }, + "134-8-18": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "135-19-40": { + "description": "HsTyVar", + "internalId": "110", + "sort": { + "tag": "TypeId" + } + }, + "135-42-52": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "135-53-68": { + "description": "HsTyVar", + "internalId": "111", + "sort": { + "tag": "TypeId" + } + }, + "135-69-90": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "135-8-18": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "137-6-19": { + "description": "SynDecl", + "internalId": "112", + "isBinder": true, + "sort": { + "tag": "TypeId" + } + }, + "138-8-16": { + "description": "HsTyVar", + "internalId": "28", + "sort": { + "tag": "TypeId" + } + }, + "139-8-25": { + "description": "HsTyVar", + "internalId": "39", + "sort": { + "tag": "TypeId" + } + }, + "14-5-21": { + "description": "IE", + "internalId": "0", + "sort": { + "tag": "ValueId" + } + }, + "140-8-24": { + "description": "HsTyVar", + "internalId": "78", + "sort": { + "tag": "TypeId" + } + }, + "141-8-28": { + "description": "HsTyVar", + "internalId": "75", + "sort": { + "tag": "TypeId" + } + }, + "142-8-18": { + "description": "HsTyVar", + "internalId": "32", + "sort": { + "tag": "TypeId" + } + }, + "144-1-17": { + "description": "TypeSig", + "internalId": "0", + "sort": { + "tag": "ValueId" + } + }, + "145-3-21": { + "description": "HsTyVar", + "internalId": "1", + "sort": { + "tag": "TypeId" + } + }, + "146-6-19": { + "description": "HsTyVar", + "internalId": "112", + "sort": { + "tag": "TypeId" + } + }, + "147-6-27": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "148-6-19": { + "description": "HsTyVar", + "internalId": "113", + "sort": { + "tag": "TypeId" + } + }, + "149-6-21": { + "description": "HsTyVar", + "internalId": "111", + "sort": { + "tag": "TypeId" + } + }, + "15-5-23": { + "description": "IE", + "internalId": "1", + "sort": { + "tag": "TypeId" + } + }, + "150-15-42": { + "description": "HsTyVar", + "internalId": "115", + "sort": { + "tag": "TypeId" + } + }, + "150-7-13": { + "description": "HsTyVar", + "internalId": "114", + "sort": { + "tag": "TypeId" + } + }, + "151-6-12": { + "description": "HsTyVar", + "internalId": "22", + "sort": { + "tag": "TypeId" + } + }, + "152-23-41": { + "description": "HsTyVar", + "internalId": "1", + "sort": { + "tag": "TypeId" + } + }, + "152-44-53": { + "description": "HsTyVar", + "internalId": "117", + "sort": { + "tag": "TypeId" + } + }, + "152-7-21": { + "description": "HsTyVar", + "internalId": "116", + "sort": { + "tag": "TypeId" + } + }, + "153-1-17": { + "description": "Match", + "internalId": "0", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "154-34-35": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "154-36-39": { + "description": "HsVar", + "internalId": "120", + "sort": { + "tag": "ValueId" + } + }, + "154-40-41": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "154-56-57": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "154-58-75": { + "description": "HsVar", + "internalId": "122", + "sort": { + "tag": "ValueId" + } + }, + "154-7-19": { + "description": "Match", + "internalId": "118", + "sort": { + "tag": "ValueId" + } + }, + "155-17-27": { + "description": "HsVar", + "internalId": "44", + "sort": { + "tag": "ValueId" + } + }, + "155-28-45": { + "description": "HsVar", + "internalId": "122", + "sort": { + "tag": "ValueId" + } + }, + "155-7-14": { + "description": "Match", + "internalId": "123", + "sort": { + "tag": "ValueId" + } + }, + "156-38-51": { + "description": "HsVar", + "internalId": "48", + "sort": { + "tag": "ValueId" + } + }, + "156-52-69": { + "description": "HsVar", + "internalId": "122", + "sort": { + "tag": "ValueId" + } + }, + "157-26-36": { + "description": "HsVar", + "internalId": "125", + "sort": { + "tag": "ValueId" + } + }, + "157-37-38": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "157-39-66": { + "description": "HsVar", + "internalId": "42", + "sort": { + "tag": "ValueId" + } + }, + "157-67-74": { + "description": "HsVar", + "internalId": "123", + "sort": { + "tag": "ValueId" + } + }, + "157-7-23": { + "description": "Match", + "internalId": "124", + "sort": { + "tag": "ValueId" + } + }, + "162-9-26": { + "description": "HsVar", + "internalId": "126", + "sort": { + "tag": "ValueId" + } + }, + "163-11-34": { + "description": "HsVar", + "internalId": "128", + "sort": { + "tag": "ValueId" + } + }, + "164-11-29": { + "description": "HsVar", + "internalId": "129", + "sort": { + "tag": "ValueId" + } + }, + "165-11-17": { + "description": "HsVar", + "internalId": "130", + "sort": { + "tag": "ValueId" + } + }, + "166-11-21": { + "description": "HsVar", + "internalId": "131", + "sort": { + "tag": "ValueId" + } + }, + "167-23-30": { + "description": "HsVar", + "internalId": "133", + "sort": { + "tag": "ValueId" + } + }, + "167-31-32": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "167-47-61": { + "description": "HsVar", + "internalId": "134", + "sort": { + "tag": "ValueId" + } + }, + "167-7-20": { + "description": "Match", + "internalId": "132", + "sort": { + "tag": "ValueId" + } + }, + "171-37-54": { + "description": "HsVar", + "internalId": "122", + "sort": { + "tag": "ValueId" + } + }, + "172-31-42": { + "description": "HsVar", + "internalId": "83", + "sort": { + "tag": "ValueId" + } + }, + "172-43-44": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "172-58-66": { + "description": "HsVar", + "internalId": "136", + "sort": { + "tag": "ValueId" + } + }, + "172-7-28": { + "description": "Match", + "internalId": "135", + "sort": { + "tag": "ValueId" + } + }, + "173-7-26": { + "description": "Match", + "internalId": "137", + "sort": { + "tag": "ValueId" + } + }, + "174-20-31": { + "description": "HsVar", + "internalId": "83", + "sort": { + "tag": "ValueId" + } + }, + "174-32-33": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "174-43-44": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "174-57-58": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "174-9-18": { + "description": "HsVar", + "internalId": "138", + "sort": { + "tag": "ValueId" + } + }, + "175-18-34": { + "description": "HsVar", + "internalId": "139", + "sort": { + "tag": "ValueId" + } + }, + "175-9-17": { + "description": "HsVar", + "internalId": "24", + "sort": { + "tag": "ValueId" + } + }, + "176-34-45": { + "description": "HsVar", + "internalId": "83", + "sort": { + "tag": "ValueId" + } + }, + "176-46-47": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "176-56-76": { + "description": "HsVar", + "internalId": "141", + "sort": { + "tag": "ValueId" + } + }, + "176-7-31": { + "description": "Match", + "internalId": "140", + "sort": { + "tag": "ValueId" + } + }, + "177-7-14": { + "description": "Match", + "internalId": "142", + "sort": { + "tag": "ValueId" + } + }, + "178-9-18": { + "description": "HsVar", + "internalId": "82", + "sort": { + "tag": "ValueId" + } + }, + "179-12-33": { + "description": "HsVar", + "internalId": "135", + "sort": { + "tag": "ValueId" + } + }, + "179-34-36": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "18-18-45": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Generics.Uniplate.Data", + "name": "Data.Generics.Uniplate.Data", + "packageId": { + "name": "uniplate", + "version": "1.6.13" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "180-12-31": { + "description": "HsVar", + "internalId": "137", + "sort": { + "tag": "ValueId" + } + }, + "180-32-34": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "180-35-59": { + "description": "HsVar", + "internalId": "140", + "sort": { + "tag": "ValueId" + } + }, + "184-7-20": { + "description": "Match", + "internalId": "144", + "sort": { + "tag": "ValueId" + } + }, + "185-9-17": { + "description": "HsVar", + "internalId": "13", + "sort": { + "tag": "ValueId" + } + }, + "188-18-32": { + "description": "HsVar", + "internalId": "53", + "sort": { + "tag": "ValueId" + } + }, + "188-33-35": { + "description": "HsVar", + "internalId": "145", + "sort": { + "tag": "ValueId" + } + }, + "188-39-43": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "188-44-45": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "188-56-58": { + "description": "HsVar", + "internalId": "145", + "sort": { + "tag": "ValueId" + } + }, + "189-19-26": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "19-24-33": { + "description": "IE", + "internalId": "2", + "sort": { + "tag": "TypeId" + } + }, + "19-8-22": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Unit.State", + "name": "GHC.Unit.State", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "190-11-32": { + "description": "HsVar", + "internalId": "135", + "sort": { + "tag": "ValueId" + } + }, + "192-9-32": { + "description": "HsVar", + "internalId": "150", + "sort": { + "tag": "ValueId" + } + }, + "193-11-20": { + "description": "HsVar", + "internalId": "152", + "sort": { + "tag": "ValueId" + } + }, + "194-11-16": { + "description": "HsVar", + "internalId": "153", + "sort": { + "tag": "ValueId" + } + }, + "195-11-27": { + "description": "HsVar", + "internalId": "154", + "sort": { + "tag": "ValueId" + } + }, + "196-11-17": { + "description": "HsVar", + "internalId": "155", + "sort": { + "tag": "ValueId" + } + }, + "197-11-21": { + "description": "HsVar", + "internalId": "156", + "sort": { + "tag": "ValueId" + } + }, + "198-11-18": { + "description": "HsVar", + "internalId": "157", + "sort": { + "tag": "ValueId" + } + }, + "199-11-23": { + "description": "HsVar", + "internalId": "118", + "sort": { + "tag": "ValueId" + } + }, + "20-36-45": { + "description": "IE", + "internalId": "3", + "sort": { + "tag": "ValueId" + } + }, + "20-46-55": { + "description": "IE", + "internalId": "4", + "sort": { + "tag": "ValueId" + } + }, + "20-56-59": { + "description": "IE", + "internalId": "5", + "sort": { + "tag": "ValueId" + } + }, + "20-60-63": { + "description": "IE", + "internalId": "6", + "sort": { + "tag": "ValueId" + } + }, + "20-64-69": { + "description": "IE", + "internalId": "7", + "sort": { + "tag": "TypeId" + } + }, + "20-8-34": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Control.Monad.State.Strict", + "name": "Control.Monad.State.Strict", + "packageId": { + "name": "mtl", + "version": "2.3.1" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "200-11-25": { + "description": "HsVar", + "internalId": "134", + "sort": { + "tag": "ValueId" + } + }, + "201-11-18": { + "description": "HsVar", + "internalId": "123", + "sort": { + "tag": "ValueId" + } + }, + "202-11-24": { + "description": "HsVar", + "internalId": "144", + "sort": { + "tag": "ValueId" + } + }, + "203-11-18": { + "description": "HsVar", + "internalId": "158", + "sort": { + "tag": "ValueId" + } + }, + "207-34-42": { + "description": "HsVar", + "internalId": "136", + "sort": { + "tag": "ValueId" + } + }, + "207-7-18": { + "description": "Match", + "internalId": "159", + "sort": { + "tag": "ValueId" + } + }, + "208-26-45": { + "description": "HsVar", + "internalId": "97", + "sort": { + "tag": "ValueId" + } + }, + "208-46-54": { + "description": "HsVar", + "internalId": "136", + "sort": { + "tag": "ValueId" + } + }, + "208-7-23": { + "description": "Match", + "internalId": "160", + "sort": { + "tag": "ValueId" + } + }, + "209-37-57": { + "description": "HsVar", + "internalId": "141", + "sort": { + "tag": "ValueId" + } + }, + "209-7-21": { + "description": "Match", + "internalId": "161", + "sort": { + "tag": "ValueId" + } + }, + "21-18-28": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Aeson", + "name": "Data.Aeson", + "packageId": { + "name": "aeson", + "version": "2.2.3.0" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "210-17-25": { + "description": "HsVar", + "internalId": "163", + "sort": { + "tag": "ValueId" + } + }, + "210-26-40": { + "description": "HsVar", + "internalId": "161", + "sort": { + "tag": "ValueId" + } + }, + "210-41-52": { + "description": "HsVar", + "internalId": "159", + "sort": { + "tag": "ValueId" + } + }, + "210-53-69": { + "description": "HsVar", + "internalId": "160", + "sort": { + "tag": "ValueId" + } + }, + "210-7-14": { + "description": "Match", + "internalId": "162", + "sort": { + "tag": "ValueId" + } + }, + "212-7-19": { + "description": "Match", + "internalId": "165", + "sort": { + "tag": "ValueId" + } + }, + "213-28-33": { + "description": "HsVar", + "internalId": "153", + "sort": { + "tag": "ValueId" + } + }, + "213-34-41": { + "description": "HsVar", + "internalId": "158", + "sort": { + "tag": "ValueId" + } + }, + "213-42-49": { + "description": "HsVar", + "internalId": "142", + "sort": { + "tag": "ValueId" + } + }, + "213-50-66": { + "description": "HsVar", + "internalId": "124", + "sort": { + "tag": "ValueId" + } + }, + "213-67-81": { + "description": "HsVar", + "internalId": "134", + "sort": { + "tag": "ValueId" + } + }, + "213-9-27": { + "description": "HsVar", + "internalId": "166", + "sort": { + "tag": "ValueId" + } + }, + "214-19-27": { + "description": "HsVar", + "internalId": "23", + "sort": { + "tag": "ValueId" + } + }, + "214-42-48": { + "description": "HsVar", + "internalId": "168", + "sort": { + "tag": "ValueId" + } + }, + "214-7-16": { + "description": "Match", + "internalId": "152", + "sort": { + "tag": "ValueId" + } + }, + "215-7-18": { + "description": "Match", + "internalId": "169", + "sort": { + "tag": "ValueId" + } + }, + "216-9-20": { + "description": "RecordCon", + "internalId": "170", + "sort": { + "tag": "ValueId" + } + }, + "217-13-24": { + "description": "FieldOcc", + "internalId": "172", + "sort": { + "tag": "ValueId" + } + }, + "217-27-32": { + "description": "HsVar", + "internalId": "153", + "sort": { + "tag": "ValueId" + } + }, + "218-13-23": { + "description": "FieldOcc", + "internalId": "173", + "sort": { + "tag": "ValueId" + } + }, + "218-26-33": { + "description": "HsVar", + "internalId": "162", + "sort": { + "tag": "ValueId" + } + }, + "219-13-23": { + "description": "FieldOcc", + "internalId": "174", + "sort": { + "tag": "ValueId" + } + }, + "219-26-33": { + "description": "HsVar", + "internalId": "142", + "sort": { + "tag": "ValueId" + } + }, + "22-24-40": { + "description": "IE", + "internalId": "8", + "sort": { + "tag": "ValueId" + } + }, + "22-8-23": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Aeson.Text", + "name": "Data.Aeson.Text", + "packageId": { + "name": "aeson", + "version": "2.2.3.0" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "220-13-30": { + "description": "FieldOcc", + "internalId": "175", + "sort": { + "tag": "ValueId" + } + }, + "220-33-47": { + "description": "HsVar", + "internalId": "134", + "sort": { + "tag": "ValueId" + } + }, + "221-13-37": { + "description": "FieldOcc", + "internalId": "176", + "sort": { + "tag": "ValueId" + } + }, + "221-40-48": { + "description": "HsVar", + "internalId": "177", + "sort": { + "tag": "ValueId" + } + }, + "222-13-23": { + "description": "FieldOcc", + "internalId": "178", + "sort": { + "tag": "ValueId" + } + }, + "222-26-33": { + "description": "HsVar", + "internalId": "157", + "sort": { + "tag": "ValueId" + } + }, + "223-13-26": { + "description": "FieldOcc", + "internalId": "179", + "sort": { + "tag": "ValueId" + } + }, + "223-29-39": { + "description": "HsVar", + "internalId": "156", + "sort": { + "tag": "ValueId" + } + }, + "224-13-29": { + "description": "FieldOcc", + "internalId": "180", + "sort": { + "tag": "ValueId" + } + }, + "224-32-45": { + "description": "HsVar", + "internalId": "181", + "sort": { + "tag": "ValueId" + } + }, + "225-13-25": { + "description": "FieldOcc", + "internalId": "182", + "sort": { + "tag": "ValueId" + } + }, + "225-28-44": { + "description": "HsVar", + "internalId": "154", + "sort": { + "tag": "ValueId" + } + }, + "226-13-27": { + "description": "FieldOcc", + "internalId": "183", + "sort": { + "tag": "ValueId" + } + }, + "226-30-36": { + "description": "HsVar", + "internalId": "155", + "sort": { + "tag": "ValueId" + } + }, + "227-13-29": { + "description": "FieldOcc", + "internalId": "184", + "sort": { + "tag": "ValueId" + } + }, + "227-32-48": { + "description": "HsVar", + "internalId": "124", + "sort": { + "tag": "ValueId" + } + }, + "228-13-25": { + "description": "FieldOcc", + "internalId": "185", + "sort": { + "tag": "ValueId" + } + }, + "228-28-37": { + "description": "HsVar", + "internalId": "152", + "sort": { + "tag": "ValueId" + } + }, + "23-18-29": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Vector", + "name": "Data.Vector", + "packageId": { + "name": "vector", + "version": "0.13.2.0" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "230-7-18": { + "description": "Match", + "internalId": "186", + "sort": { + "tag": "ValueId" + } + }, + "231-9-17": { + "description": "HsVar", + "internalId": "187", + "sort": { + "tag": "ValueId" + } + }, + "233-14-19": { + "description": "HsVar", + "internalId": "188", + "sort": { + "tag": "ValueId" + } + }, + "234-16-19": { + "description": "HsVar", + "internalId": "189", + "sort": { + "tag": "ValueId" + } + }, + "235-101-104": { + "description": "HsVar", + "internalId": "189", + "sort": { + "tag": "ValueId" + } + }, + "235-25-51": { + "description": "HsVar", + "internalId": "190", + "sort": { + "tag": "ValueId" + } + }, + "235-52-53": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "235-54-70": { + "description": "HsVar", + "internalId": "192", + "sort": { + "tag": "ValueId" + } + }, + "235-71-82": { + "description": "HsVar", + "internalId": "169", + "sort": { + "tag": "ValueId" + } + }, + "235-83-85": { + "description": "HsVar", + "internalId": "193", + "sort": { + "tag": "ValueId" + } + }, + "235-87-91": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "235-92-96": { + "description": "HsVar", + "internalId": "194", + "sort": { + "tag": "ValueId" + } + }, + "235-99-100": { + "description": "HsVar", + "internalId": "195", + "sort": { + "tag": "ValueId" + } + }, + "236-17-34": { + "description": "HsVar", + "internalId": "197", + "sort": { + "tag": "ValueId" + } + }, + "236-35-42": { + "description": "HsVar", + "internalId": "142", + "sort": { + "tag": "ValueId" + } + }, + "236-43-47": { + "description": "HsVar", + "internalId": "194", + "sort": { + "tag": "ValueId" + } + }, + "237-11-13": { + "description": "HsVar", + "internalId": "198", + "sort": { + "tag": "ValueId" + } + }, + "238-11-19": { + "description": "HsVar", + "internalId": "200", + "sort": { + "tag": "ValueId" + } + }, + "239-7-24": { + "description": "Match", + "internalId": "201", + "sort": { + "tag": "ValueId" + } + }, + "24-18-37": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.HashMap.Strict", + "name": "Data.HashMap.Strict", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "240-31-32": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "240-33-39": { + "description": "HsVar", + "internalId": "204", + "sort": { + "tag": "ValueId" + } + }, + "240-9-30": { + "description": "HsVar", + "internalId": "202", + "sort": { + "tag": "ValueId" + } + }, + "241-11-27": { + "description": "HsVar", + "internalId": "45", + "sort": { + "tag": "ValueId" + } + }, + "241-28-29": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "241-41-42": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "241-9-10": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "242-11-17": { + "description": "HsVar", + "internalId": "130", + "sort": { + "tag": "ValueId" + } + }, + "242-9-10": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "248-19-21": { + "description": "FieldOcc", + "internalId": "205", + "sort": { + "tag": "ValueId" + } + }, + "248-25-32": { + "description": "HsVar", + "internalId": "206", + "sort": { + "tag": "ValueId" + } + }, + "248-33-42": { + "description": "HsVar", + "internalId": "152", + "sort": { + "tag": "ValueId" + } + }, + "248-43-54": { + "description": "HsVar", + "internalId": "169", + "sort": { + "tag": "ValueId" + } + }, + "248-55-72": { + "description": "HsVar", + "internalId": "122", + "sort": { + "tag": "ValueId" + } + }, + "249-24-38": { + "description": "RecordCon", + "internalId": "210", + "sort": { + "tag": "ValueId" + } + }, + "249-8-23": { + "description": "HsVar", + "internalId": "208", + "sort": { + "tag": "ValueId" + } + }, + "25-18-33": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Map.Strict", + "name": "Data.Map.Strict", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "250-13-15": { + "description": "FieldOcc", + "internalId": "212", + "sort": { + "tag": "ValueId" + } + }, + "250-18-28": { + "description": "HsVar", + "internalId": "131", + "sort": { + "tag": "ValueId" + } + }, + "251-13-27": { + "description": "FieldOcc", + "internalId": "213", + "sort": { + "tag": "ValueId" + } + }, + "251-30-44": { + "description": "HsVar", + "internalId": "134", + "sort": { + "tag": "ValueId" + } + }, + "252-13-17": { + "description": "FieldOcc", + "internalId": "214", + "sort": { + "tag": "ValueId" + } + }, + "252-20-37": { + "description": "HsVar", + "internalId": "201", + "sort": { + "tag": "ValueId" + } + }, + "253-13-25": { + "description": "FieldOcc", + "internalId": "215", + "sort": { + "tag": "ValueId" + } + }, + "253-28-40": { + "description": "HsVar", + "internalId": "165", + "sort": { + "tag": "ValueId" + } + }, + "254-13-24": { + "description": "FieldOcc", + "internalId": "216", + "sort": { + "tag": "ValueId" + } + }, + "254-27-44": { + "description": "HsVar", + "internalId": "217", + "sort": { + "tag": "ValueId" + } + }, + "255-13-22": { + "description": "FieldOcc", + "internalId": "218", + "sort": { + "tag": "ValueId" + } + }, + "255-25-40": { + "description": "HsVar", + "internalId": "219", + "sort": { + "tag": "ValueId" + } + }, + "256-13-21": { + "description": "FieldOcc", + "internalId": "220", + "sort": { + "tag": "ValueId" + } + }, + "256-24-42": { + "description": "HsVar", + "internalId": "221", + "sort": { + "tag": "ValueId" + } + }, + "257-13-30": { + "description": "FieldOcc", + "internalId": "222", + "sort": { + "tag": "ValueId" + } + }, + "257-33-41": { + "description": "HsVar", + "internalId": "177", + "sort": { + "tag": "ValueId" + } + }, + "258-13-19": { + "description": "FieldOcc", + "internalId": "223", + "sort": { + "tag": "ValueId" + } + }, + "258-22-32": { + "description": "HsVar", + "internalId": "224", + "sort": { + "tag": "ValueId" + } + }, + "258-33-34": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "258-35-44": { + "description": "HsVar", + "internalId": "225", + "sort": { + "tag": "ValueId" + } + }, + "258-50-51": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "258-52-63": { + "description": "HsVar", + "internalId": "226", + "sort": { + "tag": "ValueId" + } + }, + "259-13-24": { + "description": "FieldOcc", + "internalId": "227", + "sort": { + "tag": "ValueId" + } + }, + "259-27-38": { + "description": "HsVar", + "internalId": "186", + "sort": { + "tag": "ValueId" + } + }, + "26-18-36": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.IntMap.Strict", + "name": "Data.IntMap.Strict", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "261-12-15": { + "description": "HsVar", + "internalId": "228", + "sort": { + "tag": "ValueId" + } + }, + "261-16-17": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "261-18-26": { + "description": "HsVar", + "internalId": "229", + "sort": { + "tag": "ValueId" + } + }, + "261-27-37": { + "description": "HsVar", + "internalId": "131", + "sort": { + "tag": "ValueId" + } + }, + "262-18-26": { + "description": "HsVar", + "internalId": "230", + "sort": { + "tag": "ValueId" + } + }, + "263-21-32": { + "description": "HsVar", + "internalId": "231", + "sort": { + "tag": "ValueId" + } + }, + "263-33-34": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "264-24-43": { + "description": "HsVar", + "internalId": "232", + "sort": { + "tag": "ValueId" + } + }, + "264-44-45": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "264-71-81": { + "description": "HsVar", + "internalId": "131", + "sort": { + "tag": "ValueId" + } + }, + "265-24-34": { + "description": "HsVar", + "internalId": "131", + "sort": { + "tag": "ValueId" + } + }, + "265-36-37": { + "description": "HsVar", + "internalId": "195", + "sort": { + "tag": "ValueId" + } + }, + "265-39-40": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "266-21-24": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "266-28-38": { + "description": "HsVar", + "internalId": "131", + "sort": { + "tag": "ValueId" + } + }, + "266-40-41": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "267-21-34": { + "description": "HsVar", + "internalId": "132", + "sort": { + "tag": "ValueId" + } + }, + "268-20-27": { + "description": "HsVar", + "internalId": "157", + "sort": { + "tag": "ValueId" + } + }, + "269-18-26": { + "description": "HsVar", + "internalId": "230", + "sort": { + "tag": "ValueId" + } + }, + "269-28-40": { + "description": "HsVar", + "internalId": "235", + "sort": { + "tag": "ValueId" + } + }, + "269-41-51": { + "description": "HsVar", + "internalId": "131", + "sort": { + "tag": "ValueId" + } + }, + "269-52-60": { + "description": "HsVar", + "internalId": "177", + "sort": { + "tag": "ValueId" + } + }, + "269-62-72": { + "description": "HsVar", + "internalId": "156", + "sort": { + "tag": "ValueId" + } + }, + "27-18-41": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.IntervalMap.Strict", + "name": "Data.IntervalMap.Strict", + "packageId": { + "name": "IntervalMap", + "version": "0.6.2.1" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "270-18-31": { + "description": "HsVar", + "internalId": "236", + "sort": { + "tag": "ValueId" + } + }, + "270-32-40": { + "description": "HsVar", + "internalId": "230", + "sort": { + "tag": "ValueId" + } + }, + "270-41-58": { + "description": "HsVar", + "internalId": "201", + "sort": { + "tag": "ValueId" + } + }, + "271-21-33": { + "description": "HsVar", + "internalId": "235", + "sort": { + "tag": "ValueId" + } + }, + "271-34-40": { + "description": "HsVar", + "internalId": "155", + "sort": { + "tag": "ValueId" + } + }, + "271-41-51": { + "description": "HsVar", + "internalId": "131", + "sort": { + "tag": "ValueId" + } + }, + "271-53-66": { + "description": "HsVar", + "internalId": "181", + "sort": { + "tag": "ValueId" + } + }, + "272-17-24": { + "description": "HsVar", + "internalId": "157", + "sort": { + "tag": "ValueId" + } + }, + "272-26-36": { + "description": "HsVar", + "internalId": "156", + "sort": { + "tag": "ValueId" + } + }, + "272-38-51": { + "description": "HsVar", + "internalId": "181", + "sort": { + "tag": "ValueId" + } + }, + "273-10-30": { + "description": "HsVar", + "internalId": "237", + "sort": { + "tag": "ValueId" + } + }, + "275-19-29": { + "description": "ConDeclH98", + "internalId": "239", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "275-6-16": { + "description": "DataDecl", + "internalId": "238", + "isBinder": true, + "sort": { + "tag": "TypeId" + } + }, + "276-26-47": { + "description": "HsTyVar", + "internalId": "241", + "sort": { + "tag": "TypeId" + } + }, + "276-5-22": { + "description": "FieldOcc", + "internalId": "205", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "277-24-45": { + "description": "HsTyVar", + "internalId": "243", + "sort": { + "tag": "TypeId" + } + }, + "277-5-20": { + "description": "FieldOcc", + "internalId": "242", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "278-27-54": { + "description": "HsTyVar", + "internalId": "245", + "sort": { + "tag": "TypeId" + } + }, + "278-5-23": { + "description": "FieldOcc", + "internalId": "244", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "279-30-39": { + "description": "HsTyVar", + "internalId": "117", + "sort": { + "tag": "TypeId" + } + }, + "279-5-25": { + "description": "FieldOcc", + "internalId": "246", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "28-18-30": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Hs.Binds", + "name": "GHC.Hs.Binds", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "28-32-40": { + "description": "IE", + "internalId": "9", + "sort": { + "tag": "TypeId" + } + }, + "28-42-51": { + "description": "IE", + "internalId": "10", + "sort": { + "tag": "TypeId" + } + }, + "280-15-19": { + "description": "HsTyVar", + "internalId": "247", + "sort": { + "tag": "TypeId" + } + }, + "280-21-23": { + "description": "HsTyVar", + "internalId": "248", + "sort": { + "tag": "TypeId" + } + }, + "282-1-16": { + "description": "TypeSig", + "internalId": "208", + "sort": { + "tag": "ValueId" + } + }, + "282-20-34": { + "description": "HsTyVar", + "internalId": "116", + "sort": { + "tag": "TypeId" + } + }, + "282-38-52": { + "description": "HsTyVar", + "internalId": "116", + "sort": { + "tag": "TypeId" + } + }, + "283-1-16": { + "description": "Match", + "internalId": "208", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "283-27-36": { + "description": "HsVar", + "internalId": "4", + "sort": { + "tag": "ValueId" + } + }, + "283-38-52": { + "description": "HsVar", + "internalId": "249", + "sort": { + "tag": "ValueId" + } + }, + "283-53-57": { + "description": "HsVar", + "internalId": "250", + "sort": { + "tag": "ValueId" + } + }, + "283-58-65": { + "description": "HsVar", + "internalId": "251", + "sort": { + "tag": "ValueId" + } + }, + "283-68-76": { + "description": "HsVar", + "internalId": "252", + "sort": { + "tag": "ValueId" + } + }, + "285-5-9": { + "description": "TypeSig", + "internalId": "250", + "sort": { + "tag": "ValueId" + } + }, + "286-10-24": { + "description": "HsTyVar", + "internalId": "253", + "sort": { + "tag": "TypeId" + } + }, + "286-28-33": { + "description": "HsTyVar", + "internalId": "7", + "sort": { + "tag": "TypeId" + } + }, + "286-35-45": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "286-46-52": { + "description": "HsTyVar", + "internalId": "114", + "sort": { + "tag": "TypeId" + } + }, + "286-53-59": { + "description": "HsTyVar", + "internalId": "114", + "sort": { + "tag": "TypeId" + } + }, + "286-61-64": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "286-66-80": { + "description": "HsTyVar", + "internalId": "253", + "sort": { + "tag": "TypeId" + } + }, + "287-5-9": { + "description": "Match", + "internalId": "250", + "sort": { + "tag": "ValueId" + } + }, + "288-25-28": { + "description": "HsVar", + "internalId": "5", + "sort": { + "tag": "ValueId" + } + }, + "289-12-21": { + "description": "HsVar", + "internalId": "255", + "sort": { + "tag": "ValueId" + } + }, + "289-22-26": { + "description": "HsVar", + "internalId": "256", + "sort": { + "tag": "ValueId" + } + }, + "289-27-31": { + "description": "HsVar", + "internalId": "257", + "sort": { + "tag": "ValueId" + } + }, + "29-18-27": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.List", + "name": "Data.List", + "packageId": { + "name": "base", + "version": "4.20.1.0" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "29-41-45": { + "description": "IE", + "internalId": "11", + "sort": { + "tag": "ValueId" + } + }, + "290-21-27": { + "description": "HsVar", + "internalId": "258", + "sort": { + "tag": "ValueId" + } + }, + "290-28-29": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "290-30-44": { + "description": "HsVar", + "internalId": "259", + "sort": { + "tag": "ValueId" + } + }, + "290-45-48": { + "description": "HsVar", + "internalId": "261", + "sort": { + "tag": "ValueId" + } + }, + "292-15-29": { + "description": "Match", + "internalId": "262", + "sort": { + "tag": "ValueId" + } + }, + "292-32-38": { + "description": "HsVar", + "internalId": "204", + "sort": { + "tag": "ValueId" + } + }, + "292-39-40": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "292-41-45": { + "description": "HsVar", + "internalId": "263", + "sort": { + "tag": "ValueId" + } + }, + "292-46-47": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "292-48-54": { + "description": "HsVar", + "internalId": "264", + "sort": { + "tag": "ValueId" + } + }, + "293-11-14": { + "description": "HsVar", + "internalId": "6", + "sort": { + "tag": "ValueId" + } + }, + "293-16-25": { + "description": "HsVar", + "internalId": "265", + "sort": { + "tag": "ValueId" + } + }, + "293-26-30": { + "description": "HsVar", + "internalId": "256", + "sort": { + "tag": "ValueId" + } + }, + "293-31-45": { + "description": "HsVar", + "internalId": "262", + "sort": { + "tag": "ValueId" + } + }, + "293-46-50": { + "description": "HsVar", + "internalId": "257", + "sort": { + "tag": "ValueId" + } + }, + "293-52-58": { + "description": "HsVar", + "internalId": "264", + "sort": { + "tag": "ValueId" + } + }, + "293-59-60": { + "description": "HsVar", + "internalId": "266", + "sort": { + "tag": "ValueId" + } + }, + "294-11-17": { + "description": "HsVar", + "internalId": "258", + "sort": { + "tag": "ValueId" + } + }, + "294-18-19": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "294-20-34": { + "description": "HsVar", + "internalId": "259", + "sort": { + "tag": "ValueId" + } + }, + "294-35-49": { + "description": "HsVar", + "internalId": "262", + "sort": { + "tag": "ValueId" + } + }, + "296-1-18": { + "description": "TypeSig", + "internalId": "126", + "sort": { + "tag": "ValueId" + } + }, + "297-6-33": { + "description": "HsTyVar", + "internalId": "115", + "sort": { + "tag": "TypeId" + } + }, + "298-6-12": { + "description": "HsTyVar", + "internalId": "114", + "sort": { + "tag": "TypeId" + } + }, + "299-6-16": { + "description": "HsTyVar", + "internalId": "32", + "sort": { + "tag": "TypeId" + } + }, + "30-20-29": { + "description": "IE", + "internalId": "12", + "sort": { + "tag": "ValueId" + } + }, + "30-31-39": { + "description": "IE", + "internalId": "13", + "sort": { + "tag": "ValueId" + } + }, + "30-8-18": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Maybe", + "name": "Data.Maybe", + "packageId": { + "name": "base", + "version": "4.20.1.0" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "300-6-27": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "301-37-43": { + "description": "HsTyVar", + "internalId": "114", + "sort": { + "tag": "TypeId" + } + }, + "301-7-35": { + "description": "HsTyVar", + "internalId": "267", + "sort": { + "tag": "TypeId" + } + }, + "302-1-18": { + "description": "Match", + "internalId": "126", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "303-7-35": { + "description": "Match", + "internalId": "268", + "sort": { + "tag": "ValueId" + } + }, + "304-14-28": { + "description": "HsVar", + "internalId": "269", + "sort": { + "tag": "ValueId" + } + }, + "304-29-30": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "305-14-19": { + "description": "HsVar", + "internalId": "188", + "sort": { + "tag": "ValueId" + } + }, + "306-17-22": { + "description": "HsVar", + "internalId": "270", + "sort": { + "tag": "ValueId" + } + }, + "307-16-40": { + "description": "HsVar", + "internalId": "271", + "sort": { + "tag": "ValueId" + } + }, + "308-29-35": { + "description": "HsVar", + "internalId": "272", + "sort": { + "tag": "ValueId" + } + }, + "309-25-34": { + "description": "HsVar", + "internalId": "273", + "sort": { + "tag": "ValueId" + } + }, + "309-51-55": { + "description": "HsVar", + "internalId": "274", + "sort": { + "tag": "ValueId" + } + }, + "31-26-31": { + "description": "IE", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "31-8-24": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Hs.Extension", + "name": "GHC.Hs.Extension", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "311-13-18": { + "description": "HsVar", + "internalId": "270", + "sort": { + "tag": "ValueId" + } + }, + "311-19-20": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "312-30-32": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "312-33-37": { + "description": "HsVar", + "internalId": "263", + "sort": { + "tag": "ValueId" + } + }, + "312-38-41": { + "description": "HsVar", + "internalId": "275", + "sort": { + "tag": "ValueId" + } + }, + "312-42-44": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "312-58-60": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "312-61-65": { + "description": "HsVar", + "internalId": "263", + "sort": { + "tag": "ValueId" + } + }, + "312-66-76": { + "description": "HsVar", + "internalId": "276", + "sort": { + "tag": "ValueId" + } + }, + "313-12-35": { + "description": "HsVar", + "internalId": "277", + "sort": { + "tag": "ValueId" + } + }, + "315-15-30": { + "description": "Match", + "internalId": "278", + "sort": { + "tag": "ValueId" + } + }, + "315-33-42": { + "description": "HsVar", + "internalId": "225", + "sort": { + "tag": "ValueId" + } + }, + "315-48-66": { + "description": "HsVar", + "internalId": "279", + "sort": { + "tag": "ValueId" + } + }, + "316-17-45": { + "description": "HsVar", + "internalId": "280", + "sort": { + "tag": "ValueId" + } + }, + "317-20-26": { + "description": "HsVar", + "internalId": "282", + "sort": { + "tag": "ValueId" + } + }, + "317-27-42": { + "description": "HsVar", + "internalId": "278", + "sort": { + "tag": "ValueId" + } + }, + "318-19-29": { + "description": "HsVar", + "internalId": "276", + "sort": { + "tag": "ValueId" + } + }, + "319-19-26": { + "description": "HsVar", + "internalId": "283", + "sort": { + "tag": "ValueId" + } + }, + "32-8-24": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Types.SrcLoc", + "name": "GHC.Types.SrcLoc", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "320-19-27": { + "description": "HsVar", + "internalId": "252", + "sort": { + "tag": "ValueId" + } + }, + "321-17-35": { + "description": "HsVar", + "internalId": "279", + "sort": { + "tag": "ValueId" + } + }, + "323-11-41": { + "description": "HsVar", + "internalId": "55", + "sort": { + "tag": "ValueId" + } + }, + "324-13-23": { + "description": "HsVar", + "internalId": "276", + "sort": { + "tag": "ValueId" + } + }, + "325-13-31": { + "description": "HsVar", + "internalId": "279", + "sort": { + "tag": "ValueId" + } + }, + "326-13-41": { + "description": "HsVar", + "internalId": "268", + "sort": { + "tag": "ValueId" + } + }, + "328-1-24": { + "description": "TypeSig", + "internalId": "150", + "sort": { + "tag": "ValueId" + } + }, + "329-3-12": { + "description": "HsTyVar", + "internalId": "2", + "sort": { + "tag": "TypeId" + } + }, + "33-5-12": { + "description": "IE", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "330-6-14": { + "description": "HsTyVar", + "internalId": "28", + "sort": { + "tag": "TypeId" + } + }, + "331-6-19": { + "description": "HsTyVar", + "internalId": "113", + "sort": { + "tag": "TypeId" + } + }, + "332-6-21": { + "description": "HsTyVar", + "internalId": "111", + "sort": { + "tag": "TypeId" + } + }, + "333-17-38": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "333-39-60": { + "description": "HsTyVar", + "internalId": "109", + "sort": { + "tag": "TypeId" + } + }, + "333-6-16": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "334-17-36": { + "description": "HsTyVar", + "internalId": "107", + "sort": { + "tag": "TypeId" + } + }, + "334-37-58": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "334-6-16": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "335-6-18": { + "description": "HsTyVar", + "internalId": "95", + "sort": { + "tag": "TypeId" + } + }, + "336-6-34": { + "description": "HsTyVar", + "internalId": "267", + "sort": { + "tag": "TypeId" + } + }, + "337-6-16": { + "description": "HsTyVar", + "internalId": "35", + "sort": { + "tag": "TypeId" + } + }, + "338-7-11": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "339-14-19": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "339-6-13": { + "description": "HsTyVar", + "internalId": "62", + "sort": { + "tag": "TypeId" + } + }, + "34-5-16": { + "description": "IE", + "internalId": "16", + "sort": { + "tag": "TypeId" + } + }, + "340-31-35": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "340-7-28": { + "description": "HsTyVar", + "internalId": "109", + "sort": { + "tag": "TypeId" + } + }, + "341-1-24": { + "description": "Match", + "internalId": "150", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "346-20-27": { + "description": "HsTyVar", + "internalId": "61", + "sort": { + "tag": "TypeId" + } + }, + "346-28-33": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "346-7-15": { + "description": "TypeSig", + "internalId": "284", + "sort": { + "tag": "ValueId" + } + }, + "347-7-15": { + "description": "Match", + "internalId": "284", + "sort": { + "tag": "ValueId" + } + }, + "348-9-17": { + "description": "HsVar", + "internalId": "285", + "sort": { + "tag": "ValueId" + } + }, + "349-23-27": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "349-29-36": { + "description": "HsVar", + "internalId": "34", + "sort": { + "tag": "ValueId" + } + }, + "349-37-38": { + "description": "HsVar", + "internalId": "286", + "sort": { + "tag": "ValueId" + } + }, + "35-5-21": { + "description": "IE", + "internalId": "17", + "sort": { + "tag": "ValueId" + } + }, + "350-39-55": { + "description": "HsVar", + "internalId": "17", + "sort": { + "tag": "ValueId" + } + }, + "350-56-57": { + "description": "HsVar", + "internalId": "287", + "sort": { + "tag": "ValueId" + } + }, + "350-59-74": { + "description": "HsVar", + "internalId": "18", + "sort": { + "tag": "ValueId" + } + }, + "350-75-76": { + "description": "HsVar", + "internalId": "287", + "sort": { + "tag": "ValueId" + } + }, + "351-39-47": { + "description": "HsVar", + "internalId": "288", + "sort": { + "tag": "ValueId" + } + }, + "351-51-54": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "351-56-64": { + "description": "HsVar", + "internalId": "288", + "sort": { + "tag": "ValueId" + } + }, + "351-68-71": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "352-12-19": { + "description": "HsVar", + "internalId": "289", + "sort": { + "tag": "ValueId" + } + }, + "352-20-27": { + "description": "HsVar", + "internalId": "290", + "sort": { + "tag": "ValueId" + } + }, + "355-9-20": { + "description": "HsVar", + "internalId": "291", + "sort": { + "tag": "ValueId" + } + }, + "357-19-23": { + "description": "HsVar", + "internalId": "292", + "sort": { + "tag": "ValueId" + } + }, + "358-28-32": { + "description": "HsVar", + "internalId": "293", + "sort": { + "tag": "ValueId" + } + }, + "359-28-33": { + "description": "HsVar", + "internalId": "295", + "sort": { + "tag": "ValueId" + } + }, + "36-5-20": { + "description": "IE", + "internalId": "18", + "sort": { + "tag": "ValueId" + } + }, + "360-12-23": { + "description": "HsVar", + "internalId": "297", + "sort": { + "tag": "ValueId" + } + }, + "360-24-32": { + "description": "HsVar", + "internalId": "284", + "sort": { + "tag": "ValueId" + } + }, + "365-25-30": { + "description": "HsTyVar", + "internalId": "299", + "sort": { + "tag": "TypeId" + } + }, + "365-31-42": { + "description": "HsTyVar", + "internalId": "16", + "sort": { + "tag": "TypeId" + } + }, + "365-44-50": { + "description": "HsTyVar", + "internalId": "70", + "sort": { + "tag": "TypeId" + } + }, + "365-51-56": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "365-7-21": { + "description": "TypeSig", + "internalId": "298", + "sort": { + "tag": "ValueId" + } + }, + "366-7-21": { + "description": "Match", + "internalId": "298", + "sort": { + "tag": "ValueId" + } + }, + "367-20-21": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "367-9-19": { + "description": "HsVar", + "internalId": "300", + "sort": { + "tag": "ValueId" + } + }, + "368-11-19": { + "description": "HsVar", + "internalId": "13", + "sort": { + "tag": "ValueId" + } + }, + "370-20-24": { + "description": "HsVar", + "internalId": "301", + "sort": { + "tag": "ValueId" + } + }, + "372-24-28": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "372-29-34": { + "description": "HsVar", + "internalId": "302", + "sort": { + "tag": "ValueId" + } + }, + "373-40-44": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "373-46-47": { + "description": "HsVar", + "internalId": "303", + "sort": { + "tag": "ValueId" + } + }, + "373-49-53": { + "description": "HsVar", + "internalId": "304", + "sort": { + "tag": "ValueId" + } + }, + "374-40-47": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "375-22-29": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "376-13-34": { + "description": "HsVar", + "internalId": "305", + "sort": { + "tag": "ValueId" + } + }, + "378-23-28": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "378-29-36": { + "description": "HsTyVar", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "378-40-44": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "378-48-64": { + "description": "HsTyVar", + "internalId": "308", + "sort": { + "tag": "TypeId" + } + }, + "378-7-19": { + "description": "TypeSig", + "internalId": "306", + "sort": { + "tag": "ValueId" + } + }, + "379-7-19": { + "description": "Match", + "internalId": "306", + "sort": { + "tag": "ValueId" + } + }, + "38-18-26": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Set", + "name": "Data.Set", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "380-9-25": { + "description": "HsVar", + "internalId": "309", + "sort": { + "tag": "ValueId" + } + }, + "381-11-20": { + "description": "HsVar", + "internalId": "310", + "sort": { + "tag": "ValueId" + } + }, + "382-11-16": { + "description": "HsVar", + "internalId": "311", + "sort": { + "tag": "ValueId" + } + }, + "383-11-27": { + "description": "HsVar", + "internalId": "312", + "sort": { + "tag": "ValueId" + } + }, + "384-11-17": { + "description": "HsVar", + "internalId": "313", + "sort": { + "tag": "ValueId" + } + }, + "385-11-25": { + "description": "HsVar", + "internalId": "314", + "sort": { + "tag": "ValueId" + } + }, + "386-11-18": { + "description": "HsVar", + "internalId": "315", + "sort": { + "tag": "ValueId" + } + }, + "387-11-21": { + "description": "HsVar", + "internalId": "316", + "sort": { + "tag": "ValueId" + } + }, + "388-11-18": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "389-11-18": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "39-18-30": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Hs.Utils", + "name": "GHC.Hs.Utils", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "39-32-52": { + "description": "IE", + "internalId": "19", + "sort": { + "tag": "ValueId" + } + }, + "39-54-65": { + "description": "IE", + "internalId": "20", + "sort": { + "tag": "TypeId" + } + }, + "390-11-15": { + "description": "HsVar", + "internalId": "317", + "sort": { + "tag": "ValueId" + } + }, + "392-21-25": { + "description": "HsTyVar", + "internalId": "26", + "sort": { + "tag": "TypeId" + } + }, + "392-27-37": { + "description": "HsTyVar", + "internalId": "36", + "sort": { + "tag": "TypeId" + } + }, + "392-39-46": { + "description": "HsTyVar", + "internalId": "89", + "sort": { + "tag": "TypeId" + } + }, + "392-48-52": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "392-56-64": { + "description": "HsTyVar", + "internalId": "319", + "sort": { + "tag": "TypeId" + } + }, + "392-7-17": { + "description": "TypeSig", + "internalId": "318", + "sort": { + "tag": "ValueId" + } + }, + "393-7-17": { + "description": "Match", + "internalId": "318", + "sort": { + "tag": "ValueId" + } + }, + "394-9-27": { + "description": "HsVar", + "internalId": "320", + "sort": { + "tag": "ValueId" + } + }, + "395-11-20": { + "description": "HsVar", + "internalId": "310", + "sort": { + "tag": "ValueId" + } + }, + "396-11-16": { + "description": "HsVar", + "internalId": "311", + "sort": { + "tag": "ValueId" + } + }, + "397-11-27": { + "description": "HsVar", + "internalId": "312", + "sort": { + "tag": "ValueId" + } + }, + "398-11-17": { + "description": "HsVar", + "internalId": "313", + "sort": { + "tag": "ValueId" + } + }, + "399-11-25": { + "description": "HsVar", + "internalId": "314", + "sort": { + "tag": "ValueId" + } + }, + "40-18-27": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Text", + "name": "Data.Text", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "400-11-18": { + "description": "HsVar", + "internalId": "315", + "sort": { + "tag": "ValueId" + } + }, + "401-11-21": { + "description": "HsVar", + "internalId": "316", + "sort": { + "tag": "ValueId" + } + }, + "403-7-33": { + "description": "Match", + "internalId": "322", + "sort": { + "tag": "ValueId" + } + }, + "404-21-22": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "404-9-20": { + "description": "HsVar", + "internalId": "231", + "sort": { + "tag": "ValueId" + } + }, + "405-11-14": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "407-18-32": { + "description": "HsVar", + "internalId": "323", + "sort": { + "tag": "ValueId" + } + }, + "407-33-38": { + "description": "HsVar", + "internalId": "311", + "sort": { + "tag": "ValueId" + } + }, + "407-39-46": { + "description": "HsVar", + "internalId": "324", + "sort": { + "tag": "ValueId" + } + }, + "408-22-30": { + "description": "Match", + "internalId": "325", + "sort": { + "tag": "ValueId" + } + }, + "408-33-45": { + "description": "HsVar", + "internalId": "306", + "sort": { + "tag": "ValueId" + } + }, + "408-46-53": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "408-63-64": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "408-73-74": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "408-75-82": { + "description": "HsVar", + "internalId": "324", + "sort": { + "tag": "ValueId" + } + }, + "409-27-37": { + "description": "HsVar", + "internalId": "90", + "sort": { + "tag": "ValueId" + } + }, + "409-38-45": { + "description": "HsVar", + "internalId": "324", + "sort": { + "tag": "ValueId" + } + }, + "41-23-35": { + "description": "IE", + "internalId": "21", + "sort": { + "tag": "ValueId" + } + }, + "41-37-43": { + "description": "IE", + "internalId": "22", + "sort": { + "tag": "TypeId" + } + }, + "41-8-22": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Driver.Env", + "name": "GHC.Driver.Env", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "411-32-40": { + "description": "HsVar", + "internalId": "326", + "sort": { + "tag": "ValueId" + } + }, + "411-41-42": { + "description": "HsVar", + "internalId": "327", + "sort": { + "tag": "ValueId" + } + }, + "411-43-57": { + "description": "HsVar", + "internalId": "298", + "sort": { + "tag": "ValueId" + } + }, + "413-35-47": { + "description": "Match", + "internalId": "328", + "sort": { + "tag": "ValueId" + } + }, + "413-52-53": { + "description": "HsVar", + "internalId": "329", + "sort": { + "tag": "ValueId" + } + }, + "413-90-96": { + "description": "HsVar", + "internalId": "330", + "sort": { + "tag": "ValueId" + } + }, + "414-35-38": { + "description": "Match", + "internalId": "331", + "sort": { + "tag": "ValueId" + } + }, + "414-49-61": { + "description": "HsVar", + "internalId": "332", + "sort": { + "tag": "ValueId" + } + }, + "414-62-71": { + "description": "HsVar", + "internalId": "310", + "sort": { + "tag": "ValueId" + } + }, + "414-72-77": { + "description": "HsVar", + "internalId": "311", + "sort": { + "tag": "ValueId" + } + }, + "414-78-90": { + "description": "HsVar", + "internalId": "333", + "sort": { + "tag": "ValueId" + } + }, + "414-91-103": { + "description": "HsVar", + "internalId": "328", + "sort": { + "tag": "ValueId" + } + }, + "415-34-52": { + "description": "HsVar", + "internalId": "334", + "sort": { + "tag": "ValueId" + } + }, + "415-53-61": { + "description": "HsVar", + "internalId": "325", + "sort": { + "tag": "ValueId" + } + }, + "415-63-67": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "415-69-79": { + "description": "HsVar", + "internalId": "318", + "sort": { + "tag": "ValueId" + } + }, + "415-80-83": { + "description": "HsVar", + "internalId": "331", + "sort": { + "tag": "ValueId" + } + }, + "416-40-58": { + "description": "HsVar", + "internalId": "334", + "sort": { + "tag": "ValueId" + } + }, + "416-59-67": { + "description": "HsVar", + "internalId": "325", + "sort": { + "tag": "ValueId" + } + }, + "416-68-75": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "417-30-48": { + "description": "HsVar", + "internalId": "334", + "sort": { + "tag": "ValueId" + } + }, + "417-49-57": { + "description": "HsVar", + "internalId": "325", + "sort": { + "tag": "ValueId" + } + }, + "417-58-65": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "419-14-30": { + "description": "HsVar", + "internalId": "43", + "sort": { + "tag": "ValueId" + } + }, + "419-31-38": { + "description": "HsVar", + "internalId": "336", + "sort": { + "tag": "ValueId" + } + }, + "42-22-30": { + "description": "IE", + "internalId": "23", + "sort": { + "tag": "ValueId" + } + }, + "42-8-20": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Unit.Env", + "name": "GHC.Unit.Env", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "424-7-37": { + "description": "Match", + "internalId": "337", + "sort": { + "tag": "ValueId" + } + }, + "425-9-18": { + "description": "HsVar", + "internalId": "138", + "sort": { + "tag": "ValueId" + } + }, + "426-37-40": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "426-44-48": { + "description": "HsVar", + "internalId": "338", + "sort": { + "tag": "ValueId" + } + }, + "426-50-54": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "426-55-60": { + "description": "HsVar", + "internalId": "339", + "sort": { + "tag": "ValueId" + } + }, + "426-62-63": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "426-64-81": { + "description": "HsVar", + "internalId": "340", + "sort": { + "tag": "ValueId" + } + }, + "426-82-86": { + "description": "HsVar", + "internalId": "341", + "sort": { + "tag": "ValueId" + } + }, + "427-11-36": { + "description": "HsVar", + "internalId": "342", + "sort": { + "tag": "ValueId" + } + }, + "429-7-31": { + "description": "Match", + "internalId": "343", + "sort": { + "tag": "ValueId" + } + }, + "43-18-36": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Text.Encoding", + "name": "Data.Text.Encoding", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "430-24-28": { + "description": "HsVar", + "internalId": "344", + "sort": { + "tag": "ValueId" + } + }, + "430-30-32": { + "description": "HsVar", + "internalId": "198", + "sort": { + "tag": "ValueId" + } + }, + "430-34-45": { + "description": "HsVar", + "internalId": "92", + "sort": { + "tag": "ValueId" + } + }, + "430-46-50": { + "description": "HsVar", + "internalId": "344", + "sort": { + "tag": "ValueId" + } + }, + "430-53-66": { + "description": "HsVar", + "internalId": "345", + "sort": { + "tag": "ValueId" + } + }, + "430-9-12": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "432-23-33": { + "description": "HsTyVar", + "internalId": "30", + "sort": { + "tag": "TypeId" + } + }, + "432-34-41": { + "description": "HsTyVar", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "432-43-49": { + "description": "HsTyVar", + "internalId": "57", + "sort": { + "tag": "TypeId" + } + }, + "432-50-55": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "432-7-18": { + "description": "TypeSig", + "internalId": "346", + "sort": { + "tag": "ValueId" + } + }, + "433-21-24": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "433-39-40": { + "description": "HsVar", + "internalId": "347", + "sort": { + "tag": "ValueId" + } + }, + "433-42-46": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "433-47-49": { + "description": "HsVar", + "internalId": "349", + "sort": { + "tag": "ValueId" + } + }, + "433-51-52": { + "description": "HsVar", + "internalId": "350", + "sort": { + "tag": "ValueId" + } + }, + "433-54-62": { + "description": "HsVar", + "internalId": "284", + "sort": { + "tag": "ValueId" + } + }, + "433-7-18": { + "description": "Match", + "internalId": "346", + "sort": { + "tag": "ValueId" + } + }, + "435-7-32": { + "description": "Match", + "internalId": "351", + "sort": { + "tag": "ValueId" + } + }, + "436-9-39": { + "description": "HsVar", + "internalId": "337", + "sort": { + "tag": "ValueId" + } + }, + "437-11-13": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "437-14-38": { + "description": "HsVar", + "internalId": "352", + "sort": { + "tag": "ValueId" + } + }, + "437-39-50": { + "description": "HsVar", + "internalId": "346", + "sort": { + "tag": "ValueId" + } + }, + "438-11-13": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "438-14-38": { + "description": "HsVar", + "internalId": "343", + "sort": { + "tag": "ValueId" + } + }, + "44-18-38": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Types.Unique.DFM", + "name": "GHC.Types.Unique.DFM", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "44-51-59": { + "description": "IE", + "internalId": "24", + "sort": { + "tag": "ValueId" + } + }, + "441-9-20": { + "description": "HsVar", + "internalId": "291", + "sort": { + "tag": "ValueId" + } + }, + "443-19-35": { + "description": "HsVar", + "internalId": "353", + "sort": { + "tag": "ValueId" + } + }, + "443-36-37": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "443-38-49": { + "description": "HsVar", + "internalId": "91", + "sort": { + "tag": "ValueId" + } + }, + "443-50-51": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "443-52-56": { + "description": "HsVar", + "internalId": "354", + "sort": { + "tag": "ValueId" + } + }, + "444-32-36": { + "description": "HsVar", + "internalId": "293", + "sort": { + "tag": "ValueId" + } + }, + "445-32-36": { + "description": "HsVar", + "internalId": "293", + "sort": { + "tag": "ValueId" + } + }, + "446-32-37": { + "description": "HsVar", + "internalId": "295", + "sort": { + "tag": "ValueId" + } + }, + "447-11-36": { + "description": "HsVar", + "internalId": "351", + "sort": { + "tag": "ValueId" + } + }, + "449-7-16": { + "description": "TypeSig", + "internalId": "355", + "sort": { + "tag": "ValueId" + } + }, + "45-24-32": { + "description": "IE", + "internalId": "25", + "sort": { + "tag": "ValueId" + } + }, + "45-8-22": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Text.Lazy", + "name": "Data.Text.Lazy", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "450-14-18": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "450-21-27": { + "description": "HsTyVar", + "internalId": "70", + "sort": { + "tag": "TypeId" + } + }, + "450-28-33": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "450-36-43": { + "description": "HsTyVar", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "451-12-22": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "451-23-34": { + "description": "HsTyVar", + "internalId": "356", + "sort": { + "tag": "TypeId" + } + }, + "451-35-53": { + "description": "HsTyVar", + "internalId": "357", + "sort": { + "tag": "TypeId" + } + }, + "452-7-16": { + "description": "Match", + "internalId": "355", + "sort": { + "tag": "ValueId" + } + }, + "453-9-24": { + "description": "HsVar", + "internalId": "358", + "sort": { + "tag": "ValueId" + } + }, + "455-14-32": { + "description": "HsVar", + "internalId": "334", + "sort": { + "tag": "ValueId" + } + }, + "455-33-36": { + "description": "HsVar", + "internalId": "359", + "sort": { + "tag": "ValueId" + } + }, + "455-38-45": { + "description": "HsVar", + "internalId": "360", + "sort": { + "tag": "ValueId" + } + }, + "455-46-52": { + "description": "HsVar", + "internalId": "361", + "sort": { + "tag": "ValueId" + } + }, + "455-53-59": { + "description": "HsVar", + "internalId": "362", + "sort": { + "tag": "ValueId" + } + }, + "455-62-63": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "456-9-12": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "458-18-26": { + "description": "Match", + "internalId": "363", + "sort": { + "tag": "ValueId" + } + }, + "458-29-41": { + "description": "HsVar", + "internalId": "306", + "sort": { + "tag": "ValueId" + } + }, + "458-43-47": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "458-48-55": { + "description": "HsVar", + "internalId": "364", + "sort": { + "tag": "ValueId" + } + }, + "458-57-61": { + "description": "HsVar", + "internalId": "365", + "sort": { + "tag": "ValueId" + } + }, + "459-18-25": { + "description": "Match", + "internalId": "366", + "sort": { + "tag": "ValueId" + } + }, + "46-37-41": { + "description": "IE", + "internalId": "26", + "sort": { + "tag": "TypeId" + } + }, + "46-8-35": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Documentation.Haddock.Types", + "name": "Documentation.Haddock.Types", + "packageId": { + "name": "haddock-library", + "version": "1.11.0" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "460-23-26": { + "description": "HsVar", + "internalId": "228", + "sort": { + "tag": "ValueId" + } + }, + "460-28-32": { + "description": "HsVar", + "internalId": "367", + "sort": { + "tag": "ValueId" + } + }, + "460-33-37": { + "description": "HsVar", + "internalId": "368", + "sort": { + "tag": "ValueId" + } + }, + "461-31-43": { + "description": "Match", + "internalId": "369", + "sort": { + "tag": "ValueId" + } + }, + "461-48-49": { + "description": "HsVar", + "internalId": "370", + "sort": { + "tag": "ValueId" + } + }, + "461-86-90": { + "description": "HsVar", + "internalId": "368", + "sort": { + "tag": "ValueId" + } + }, + "462-31-34": { + "description": "Match", + "internalId": "371", + "sort": { + "tag": "ValueId" + } + }, + "462-45-57": { + "description": "HsVar", + "internalId": "332", + "sort": { + "tag": "ValueId" + } + }, + "462-58-67": { + "description": "HsVar", + "internalId": "310", + "sort": { + "tag": "ValueId" + } + }, + "462-68-73": { + "description": "HsVar", + "internalId": "311", + "sort": { + "tag": "ValueId" + } + }, + "462-74-86": { + "description": "HsVar", + "internalId": "333", + "sort": { + "tag": "ValueId" + } + }, + "462-87-99": { + "description": "HsVar", + "internalId": "369", + "sort": { + "tag": "ValueId" + } + }, + "463-31-35": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "463-37-47": { + "description": "HsVar", + "internalId": "318", + "sort": { + "tag": "ValueId" + } + }, + "463-48-51": { + "description": "HsVar", + "internalId": "371", + "sort": { + "tag": "ValueId" + } + }, + "464-27-34": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "465-19-30": { + "description": "HsVar", + "internalId": "372", + "sort": { + "tag": "ValueId" + } + }, + "465-31-32": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "465-33-39": { + "description": "HsVar", + "internalId": "374", + "sort": { + "tag": "ValueId" + } + }, + "465-40-44": { + "description": "HsVar", + "internalId": "365", + "sort": { + "tag": "ValueId" + } + }, + "465-46-64": { + "description": "HsVar", + "internalId": "334", + "sort": { + "tag": "ValueId" + } + }, + "465-65-73": { + "description": "HsVar", + "internalId": "363", + "sort": { + "tag": "ValueId" + } + }, + "465-74-81": { + "description": "HsVar", + "internalId": "366", + "sort": { + "tag": "ValueId" + } + }, + "468-8-29": { + "description": "RecordCon", + "internalId": "375", + "sort": { + "tag": "ValueId" + } + }, + "469-13-23": { + "description": "FieldOcc", + "internalId": "377", + "sort": { + "tag": "ValueId" + } + }, + "469-29-38": { + "description": "HsVar", + "internalId": "355", + "sort": { + "tag": "ValueId" + } + }, + "469-39-62": { + "description": "HsVar", + "internalId": "378", + "sort": { + "tag": "ValueId" + } + }, + "47-30-44": { + "description": "IE", + "internalId": "27", + "sort": { + "tag": "ValueId" + } + }, + "47-8-28": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Utils.Outputable", + "name": "GHC.Utils.Outputable", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "470-13-22": { + "description": "FieldOcc", + "internalId": "379", + "sort": { + "tag": "ValueId" + } + }, + "470-29-38": { + "description": "HsVar", + "internalId": "355", + "sort": { + "tag": "ValueId" + } + }, + "470-40-62": { + "description": "HsVar", + "internalId": "380", + "sort": { + "tag": "ValueId" + } + }, + "470-63-65": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "470-66-90": { + "description": "HsVar", + "internalId": "343", + "sort": { + "tag": "ValueId" + } + }, + "471-13-26": { + "description": "FieldOcc", + "internalId": "381", + "sort": { + "tag": "ValueId" + } + }, + "471-29-55": { + "description": "HsVar", + "internalId": "322", + "sort": { + "tag": "ValueId" + } + }, + "473-27-28": { + "description": "HsVar", + "internalId": "382", + "sort": { + "tag": "ValueId" + } + }, + "473-30-55": { + "description": "HsVar", + "internalId": "351", + "sort": { + "tag": "ValueId" + } + }, + "473-8-11": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "477-1-14": { + "description": "TypeSig", + "internalId": "383", + "sort": { + "tag": "ValueId" + } + }, + "478-6-14": { + "description": "HsTyVar", + "internalId": "28", + "sort": { + "tag": "TypeId" + } + }, + "479-6-19": { + "description": "HsTyVar", + "internalId": "113", + "sort": { + "tag": "TypeId" + } + }, + "48-8-26": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Driver.Session", + "name": "GHC.Driver.Session", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "480-6-21": { + "description": "HsTyVar", + "internalId": "111", + "sort": { + "tag": "TypeId" + } + }, + "481-19-26": { + "description": "HsTyVar", + "internalId": "89", + "sort": { + "tag": "TypeId" + } + }, + "481-7-17": { + "description": "HsTyVar", + "internalId": "36", + "sort": { + "tag": "TypeId" + } + }, + "482-6-12": { + "description": "HsTyVar", + "internalId": "385", + "sort": { + "tag": "TypeId" + } + }, + "483-1-14": { + "description": "Match", + "internalId": "383", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "484-7-15": { + "description": "Match", + "internalId": "386", + "sort": { + "tag": "ValueId" + } + }, + "485-21-22": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "485-23-31": { + "description": "HsVar", + "internalId": "25", + "sort": { + "tag": "ValueId" + } + }, + "485-32-33": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "485-34-50": { + "description": "HsVar", + "internalId": "8", + "sort": { + "tag": "ValueId" + } + }, + "485-51-52": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "485-53-65": { + "description": "HsVar", + "internalId": "388", + "sort": { + "tag": "ValueId" + } + }, + "485-66-67": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "485-9-20": { + "description": "HsVar", + "internalId": "387", + "sort": { + "tag": "ValueId" + } + }, + "486-29-34": { + "description": "HsVar", + "internalId": "390", + "sort": { + "tag": "ValueId" + } + }, + "486-35-44": { + "description": "HsVar", + "internalId": "391", + "sort": { + "tag": "ValueId" + } + }, + "486-45-51": { + "description": "HsVar", + "internalId": "392", + "sort": { + "tag": "ValueId" + } + }, + "486-53-60": { + "description": "HsVar", + "internalId": "393", + "sort": { + "tag": "ValueId" + } + }, + "486-62-69": { + "description": "HsVar", + "internalId": "394", + "sort": { + "tag": "ValueId" + } + }, + "486-9-28": { + "description": "HsVar", + "internalId": "389", + "sort": { + "tag": "ValueId" + } + }, + "487-15-18": { + "description": "HsVar", + "internalId": "396", + "sort": { + "tag": "ValueId" + } + }, + "487-19-34": { + "description": "HsVar", + "internalId": "397", + "sort": { + "tag": "ValueId" + } + }, + "487-46-54": { + "description": "HsVar", + "internalId": "386", + "sort": { + "tag": "ValueId" + } + }, + "487-56-59": { + "description": "HsVar", + "internalId": "396", + "sort": { + "tag": "ValueId" + } + }, + "487-60-68": { + "description": "HsVar", + "internalId": "398", + "sort": { + "tag": "ValueId" + } + }, + "487-76-77": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "487-8-14": { + "description": "HsVar", + "internalId": "395", + "sort": { + "tag": "ValueId" + } + }, + "488-17-23": { + "description": "HsVar", + "internalId": "374", + "sort": { + "tag": "ValueId" + } + }, + "488-24-31": { + "description": "HsVar", + "internalId": "394", + "sort": { + "tag": "ValueId" + } + }, + "488-7-15": { + "description": "HsVar", + "internalId": "399", + "sort": { + "tag": "ValueId" + } + }, + "49-5-13": { + "description": "IE", + "internalId": "28", + "sort": { + "tag": "TypeId" + } + }, + "490-1-11": { + "description": "TypeSig", + "internalId": "400", + "sort": { + "tag": "ValueId" + } + }, + "491-3-12": { + "description": "HsTyVar", + "internalId": "2", + "sort": { + "tag": "TypeId" + } + }, + "492-6-14": { + "description": "HsTyVar", + "internalId": "28", + "sort": { + "tag": "TypeId" + } + }, + "493-6-19": { + "description": "HsTyVar", + "internalId": "113", + "sort": { + "tag": "TypeId" + } + }, + "494-6-21": { + "description": "HsTyVar", + "internalId": "111", + "sort": { + "tag": "TypeId" + } + }, + "495-6-34": { + "description": "HsTyVar", + "internalId": "267", + "sort": { + "tag": "TypeId" + } + }, + "496-17-36": { + "description": "HsTyVar", + "internalId": "107", + "sort": { + "tag": "TypeId" + } + }, + "496-37-58": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "496-6-16": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "497-17-38": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "497-39-60": { + "description": "HsTyVar", + "internalId": "109", + "sort": { + "tag": "TypeId" + } + }, + "497-6-16": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "498-6-10": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "499-6-12": { + "description": "HsTyVar", + "internalId": "385", + "sort": { + "tag": "TypeId" + } + }, + "50-5-19": { + "description": "IE", + "internalId": "29", + "sort": { + "tag": "ValueId" + } + }, + "500-1-11": { + "description": "Match", + "internalId": "400", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "501-7-15": { + "description": "Match", + "internalId": "402", + "sort": { + "tag": "ValueId" + } + }, + "502-21-22": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "502-23-31": { + "description": "HsVar", + "internalId": "25", + "sort": { + "tag": "ValueId" + } + }, + "502-32-33": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "502-34-50": { + "description": "HsVar", + "internalId": "8", + "sort": { + "tag": "ValueId" + } + }, + "502-51-52": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "502-53-65": { + "description": "HsVar", + "internalId": "388", + "sort": { + "tag": "ValueId" + } + }, + "502-66-67": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "502-9-20": { + "description": "HsVar", + "internalId": "387", + "sort": { + "tag": "ValueId" + } + }, + "503-9-25": { + "description": "HsVar", + "internalId": "309", + "sort": { + "tag": "ValueId" + } + }, + "504-11-20": { + "description": "HsVar", + "internalId": "403", + "sort": { + "tag": "ValueId" + } + }, + "505-11-16": { + "description": "HsVar", + "internalId": "404", + "sort": { + "tag": "ValueId" + } + }, + "506-11-20": { + "description": "HsVar", + "internalId": "405", + "sort": { + "tag": "ValueId" + } + }, + "507-11-17": { + "description": "HsVar", + "internalId": "406", + "sort": { + "tag": "ValueId" + } + }, + "508-11-25": { + "description": "HsVar", + "internalId": "407", + "sort": { + "tag": "ValueId" + } + }, + "509-11-16": { + "description": "HsVar", + "internalId": "408", + "sort": { + "tag": "ValueId" + } + }, + "51-8-11": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC", + "name": "GHC", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "510-11-21": { + "description": "HsVar", + "internalId": "409", + "sort": { + "tag": "ValueId" + } + }, + "511-11-18": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "512-11-18": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "513-11-15": { + "description": "HsVar", + "internalId": "410", + "sort": { + "tag": "ValueId" + } + }, + "514-14-17": { + "description": "HsVar", + "internalId": "396", + "sort": { + "tag": "ValueId" + } + }, + "514-18-33": { + "description": "HsVar", + "internalId": "397", + "sort": { + "tag": "ValueId" + } + }, + "514-45-53": { + "description": "HsVar", + "internalId": "402", + "sort": { + "tag": "ValueId" + } + }, + "514-54-57": { + "description": "HsVar", + "internalId": "396", + "sort": { + "tag": "ValueId" + } + }, + "514-58-66": { + "description": "HsVar", + "internalId": "398", + "sort": { + "tag": "ValueId" + } + }, + "514-7-13": { + "description": "HsVar", + "internalId": "395", + "sort": { + "tag": "ValueId" + } + }, + "514-74-75": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "515-17-27": { + "description": "HsVar", + "internalId": "411", + "sort": { + "tag": "ValueId" + } + }, + "515-28-32": { + "description": "HsVar", + "internalId": "410", + "sort": { + "tag": "ValueId" + } + }, + "515-7-15": { + "description": "HsVar", + "internalId": "399", + "sort": { + "tag": "ValueId" + } + }, + "517-1-19": { + "description": "TypeSig", + "internalId": "320", + "sort": { + "tag": "ValueId" + } + }, + "518-3-12": { + "description": "HsTyVar", + "internalId": "2", + "sort": { + "tag": "TypeId" + } + }, + "519-6-14": { + "description": "HsTyVar", + "internalId": "28", + "sort": { + "tag": "TypeId" + } + }, + "52-5-15": { + "description": "IE", + "internalId": "30", + "sort": { + "tag": "TypeId" + } + }, + "520-6-19": { + "description": "HsTyVar", + "internalId": "113", + "sort": { + "tag": "TypeId" + } + }, + "521-6-21": { + "description": "HsTyVar", + "internalId": "111", + "sort": { + "tag": "TypeId" + } + }, + "522-6-34": { + "description": "HsTyVar", + "internalId": "267", + "sort": { + "tag": "TypeId" + } + }, + "523-17-36": { + "description": "HsTyVar", + "internalId": "107", + "sort": { + "tag": "TypeId" + } + }, + "523-37-58": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "523-6-16": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "524-17-38": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "524-39-60": { + "description": "HsTyVar", + "internalId": "109", + "sort": { + "tag": "TypeId" + } + }, + "524-6-16": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "525-12-22": { + "description": "HsTyVar", + "internalId": "36", + "sort": { + "tag": "TypeId" + } + }, + "525-24-31": { + "description": "HsTyVar", + "internalId": "89", + "sort": { + "tag": "TypeId" + } + }, + "525-33-37": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "525-6-10": { + "description": "HsTyVar", + "internalId": "26", + "sort": { + "tag": "TypeId" + } + }, + "526-6-14": { + "description": "HsTyVar", + "internalId": "319", + "sort": { + "tag": "TypeId" + } + }, + "527-1-19": { + "description": "Match", + "internalId": "320", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "528-3-16": { + "description": "HsVar", + "internalId": "412", + "sort": { + "tag": "ValueId" + } + }, + "529-20-25": { + "description": "HsVar", + "internalId": "413", + "sort": { + "tag": "ValueId" + } + }, + "529-26-35": { + "description": "HsVar", + "internalId": "414", + "sort": { + "tag": "ValueId" + } + }, + "529-36-42": { + "description": "HsVar", + "internalId": "415", + "sort": { + "tag": "ValueId" + } + }, + "529-6-19": { + "description": "HsVar", + "internalId": "383", + "sort": { + "tag": "ValueId" + } + }, + "53-5-20": { + "description": "IE", + "internalId": "31", + "sort": { + "tag": "ValueId" + } + }, + "530-17-26": { + "description": "HsVar", + "internalId": "416", + "sort": { + "tag": "ValueId" + } + }, + "530-27-32": { + "description": "HsVar", + "internalId": "413", + "sort": { + "tag": "ValueId" + } + }, + "530-33-42": { + "description": "HsVar", + "internalId": "414", + "sort": { + "tag": "ValueId" + } + }, + "530-43-49": { + "description": "HsVar", + "internalId": "415", + "sort": { + "tag": "ValueId" + } + }, + "530-50-64": { + "description": "HsVar", + "internalId": "417", + "sort": { + "tag": "ValueId" + } + }, + "530-6-16": { + "description": "HsVar", + "internalId": "400", + "sort": { + "tag": "ValueId" + } + }, + "530-65-72": { + "description": "HsVar", + "internalId": "418", + "sort": { + "tag": "ValueId" + } + }, + "530-73-83": { + "description": "HsVar", + "internalId": "419", + "sort": { + "tag": "ValueId" + } + }, + "532-1-19": { + "description": "TypeSig", + "internalId": "166", + "sort": { + "tag": "ValueId" + } + }, + "533-6-14": { + "description": "HsTyVar", + "internalId": "28", + "sort": { + "tag": "TypeId" + } + }, + "534-14-19": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "534-6-13": { + "description": "HsTyVar", + "internalId": "62", + "sort": { + "tag": "TypeId" + } + }, + "535-6-13": { + "description": "HsTyVar", + "internalId": "81", + "sort": { + "tag": "TypeId" + } + }, + "536-12-16": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "536-6-11": { + "description": "HsTyVar", + "internalId": "420", + "sort": { + "tag": "TypeId" + } + }, + "537-6-34": { + "description": "HsTyVar", + "internalId": "267", + "sort": { + "tag": "TypeId" + } + }, + "538-7-22": { + "description": "HsTyVar", + "internalId": "421", + "sort": { + "tag": "TypeId" + } + }, + "539-1-19": { + "description": "Match", + "internalId": "166", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "54-5-15": { + "description": "IE", + "internalId": "32", + "sort": { + "tag": "TypeId" + } + }, + "540-21-28": { + "description": "HsTyVar", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "540-32-35": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "540-7-17": { + "description": "TypeSig", + "internalId": "422", + "sort": { + "tag": "ValueId" + } + }, + "541-7-17": { + "description": "Match", + "internalId": "422", + "sort": { + "tag": "ValueId" + } + }, + "542-14-40": { + "description": "HsVar", + "internalId": "423", + "sort": { + "tag": "ValueId" + } + }, + "542-41-55": { + "description": "HsVar", + "internalId": "424", + "sort": { + "tag": "ValueId" + } + }, + "542-56-63": { + "description": "HsVar", + "internalId": "425", + "sort": { + "tag": "ValueId" + } + }, + "543-48-55": { + "description": "HsVar", + "internalId": "426", + "sort": { + "tag": "ValueId" + } + }, + "545-19-23": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "545-27-32": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "545-33-41": { + "description": "HsTyVar", + "internalId": "428", + "sort": { + "tag": "TypeId" + } + }, + "545-7-15": { + "description": "TypeSig", + "internalId": "427", + "sort": { + "tag": "ValueId" + } + }, + "546-7-15": { + "description": "Match", + "internalId": "427", + "sort": { + "tag": "ValueId" + } + }, + "547-14-31": { + "description": "HsVar", + "internalId": "197", + "sort": { + "tag": "ValueId" + } + }, + "547-32-39": { + "description": "HsVar", + "internalId": "429", + "sort": { + "tag": "ValueId" + } + }, + "547-40-41": { + "description": "HsVar", + "internalId": "430", + "sort": { + "tag": "ValueId" + } + }, + "548-21-25": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "548-26-27": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "548-28-34": { + "description": "HsVar", + "internalId": "431", + "sort": { + "tag": "ValueId" + } + }, + "548-35-36": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "548-45-46": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "548-47-48": { + "description": "HsVar", + "internalId": "432", + "sort": { + "tag": "ValueId" + } + }, + "549-22-29": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "55-5-9": { + "description": "IE", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "550-28-37": { + "description": "HsTyVar", + "internalId": "10", + "sort": { + "tag": "TypeId" + } + }, + "550-38-43": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "550-44-49": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "550-54-69": { + "description": "HsTyVar", + "internalId": "421", + "sort": { + "tag": "TypeId" + } + }, + "550-7-24": { + "description": "TypeSig", + "internalId": "433", + "sort": { + "tag": "ValueId" + } + }, + "551-7-24": { + "description": "Match", + "internalId": "433", + "sort": { + "tag": "ValueId" + } + }, + "553-11-16": { + "description": "TypeSig", + "internalId": "434", + "sort": { + "tag": "ValueId" + } + }, + "553-21-25": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "554-11-16": { + "description": "Match", + "internalId": "434", + "sort": { + "tag": "ValueId" + } + }, + "554-19-39": { + "description": "HsVar", + "internalId": "19", + "sort": { + "tag": "ValueId" + } + }, + "554-40-57": { + "description": "HsVar", + "internalId": "435", + "sort": { + "tag": "ValueId" + } + }, + "554-58-62": { + "description": "HsVar", + "internalId": "437", + "sort": { + "tag": "ValueId" + } + }, + "555-11-14": { + "description": "TypeSig", + "internalId": "438", + "sort": { + "tag": "ValueId" + } + }, + "555-20-27": { + "description": "HsTyVar", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "556-11-14": { + "description": "Match", + "internalId": "438", + "sort": { + "tag": "ValueId" + } + }, + "556-19-23": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "556-24-30": { + "description": "HsVar", + "internalId": "439", + "sort": { + "tag": "ValueId" + } + }, + "558-11-14": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "56-5-12": { + "description": "IE", + "internalId": "34", + "sort": { + "tag": "ValueId" + } + }, + "560-16-31": { + "description": "HsVar", + "internalId": "440", + "sort": { + "tag": "ValueId" + } + }, + "561-18-26": { + "description": "HsVar", + "internalId": "442", + "sort": { + "tag": "ValueId" + } + }, + "562-19-25": { + "description": "HsVar", + "internalId": "374", + "sort": { + "tag": "ValueId" + } + }, + "562-26-30": { + "description": "HsVar", + "internalId": "444", + "sort": { + "tag": "ValueId" + } + }, + "563-19-27": { + "description": "HsVar", + "internalId": "427", + "sort": { + "tag": "ValueId" + } + }, + "563-28-32": { + "description": "HsVar", + "internalId": "444", + "sort": { + "tag": "ValueId" + } + }, + "564-19-27": { + "description": "HsVar", + "internalId": "445", + "sort": { + "tag": "ValueId" + } + }, + "564-28-32": { + "description": "HsVar", + "internalId": "444", + "sort": { + "tag": "ValueId" + } + }, + "564-33-44": { + "description": "HsVar", + "internalId": "446", + "sort": { + "tag": "ValueId" + } + }, + "565-19-29": { + "description": "HsVar", + "internalId": "422", + "sort": { + "tag": "ValueId" + } + }, + "565-30-33": { + "description": "HsVar", + "internalId": "438", + "sort": { + "tag": "ValueId" + } + }, + "566-13-18": { + "description": "HsVar", + "internalId": "434", + "sort": { + "tag": "ValueId" + } + }, + "567-14-23": { + "description": "HsVar", + "internalId": "138", + "sort": { + "tag": "ValueId" + } + }, + "567-24-41": { + "description": "HsVar", + "internalId": "433", + "sort": { + "tag": "ValueId" + } + }, + "567-42-43": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "567-44-55": { + "description": "HsVar", + "internalId": "448", + "sort": { + "tag": "ValueId" + } + }, + "567-56-63": { + "description": "HsVar", + "internalId": "449", + "sort": { + "tag": "ValueId" + } + }, + "567-7-11": { + "description": "Match", + "internalId": "447", + "sort": { + "tag": "ValueId" + } + }, + "57-5-15": { + "description": "IE", + "internalId": "35", + "sort": { + "tag": "TypeId" + } + }, + "570-28-37": { + "description": "HsTyVar", + "internalId": "60", + "sort": { + "tag": "TypeId" + } + }, + "570-38-43": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "570-47-62": { + "description": "HsTyVar", + "internalId": "421", + "sort": { + "tag": "TypeId" + } + }, + "570-7-24": { + "description": "TypeSig", + "internalId": "450", + "sort": { + "tag": "ValueId" + } + }, + "571-7-24": { + "description": "Match", + "internalId": "450", + "sort": { + "tag": "ValueId" + } + }, + "572-9-24": { + "description": "HsVar", + "internalId": "440", + "sort": { + "tag": "ValueId" + } + }, + "573-11-20": { + "description": "HsVar", + "internalId": "451", + "sort": { + "tag": "ValueId" + } + }, + "574-12-20": { + "description": "HsVar", + "internalId": "453", + "sort": { + "tag": "ValueId" + } + }, + "574-22-36": { + "description": "HsVar", + "internalId": "454", + "sort": { + "tag": "ValueId" + } + }, + "574-37-45": { + "description": "HsVar", + "internalId": "455", + "sort": { + "tag": "ValueId" + } + }, + "574-48-54": { + "description": "HsVar", + "internalId": "374", + "sort": { + "tag": "ValueId" + } + }, + "574-55-56": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "574-57-64": { + "description": "HsVar", + "internalId": "67", + "sort": { + "tag": "ValueId" + } + }, + "574-65-73": { + "description": "HsVar", + "internalId": "455", + "sort": { + "tag": "ValueId" + } + }, + "575-12-20": { + "description": "HsVar", + "internalId": "427", + "sort": { + "tag": "ValueId" + } + }, + "575-21-22": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "575-23-30": { + "description": "HsVar", + "internalId": "67", + "sort": { + "tag": "ValueId" + } + }, + "575-31-39": { + "description": "HsVar", + "internalId": "455", + "sort": { + "tag": "ValueId" + } + }, + "576-12-20": { + "description": "HsVar", + "internalId": "445", + "sort": { + "tag": "ValueId" + } + }, + "576-22-27": { + "description": "HsVar", + "internalId": "51", + "sort": { + "tag": "ValueId" + } + }, + "576-28-29": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "576-30-43": { + "description": "HsVar", + "internalId": "66", + "sort": { + "tag": "ValueId" + } + }, + "576-44-52": { + "description": "HsVar", + "internalId": "455", + "sort": { + "tag": "ValueId" + } + }, + "576-54-65": { + "description": "HsVar", + "internalId": "446", + "sort": { + "tag": "ValueId" + } + }, + "577-12-22": { + "description": "HsVar", + "internalId": "422", + "sort": { + "tag": "ValueId" + } + }, + "577-24-28": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "577-29-34": { + "description": "HsVar", + "internalId": "456", + "sort": { + "tag": "ValueId" + } + }, + "578-7-13": { + "description": "Match", + "internalId": "457", + "sort": { + "tag": "ValueId" + } + }, + "579-13-30": { + "description": "HsVar", + "internalId": "450", + "sort": { + "tag": "ValueId" + } + }, + "579-9-12": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "58-5-15": { + "description": "IE", + "internalId": "36", + "sort": { + "tag": "TypeId" + } + }, + "580-11-17": { + "description": "HsVar", + "internalId": "458", + "sort": { + "tag": "ValueId" + } + }, + "580-19-32": { + "description": "HsVar", + "internalId": "41", + "sort": { + "tag": "ValueId" + } + }, + "580-33-34": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "580-35-39": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "580-40-41": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "580-42-49": { + "description": "HsVar", + "internalId": "34", + "sort": { + "tag": "ValueId" + } + }, + "580-9-10": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "581-11-20": { + "description": "HsVar", + "internalId": "138", + "sort": { + "tag": "ValueId" + } + }, + "581-34-35": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "581-9-10": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "582-11-18": { + "description": "HsVar", + "internalId": "449", + "sort": { + "tag": "ValueId" + } + }, + "582-9-10": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "585-28-37": { + "description": "HsTyVar", + "internalId": "59", + "sort": { + "tag": "TypeId" + } + }, + "585-38-43": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "585-47-62": { + "description": "HsTyVar", + "internalId": "421", + "sort": { + "tag": "TypeId" + } + }, + "585-7-24": { + "description": "TypeSig", + "internalId": "459", + "sort": { + "tag": "ValueId" + } + }, + "586-7-24": { + "description": "Match", + "internalId": "459", + "sort": { + "tag": "ValueId" + } + }, + "587-9-24": { + "description": "HsVar", + "internalId": "440", + "sort": { + "tag": "ValueId" + } + }, + "588-11-20": { + "description": "HsVar", + "internalId": "460", + "sort": { + "tag": "ValueId" + } + }, + "589-12-30": { + "description": "HsVar", + "internalId": "462", + "sort": { + "tag": "ValueId" + } + }, + "589-31-36": { + "description": "HsVar", + "internalId": "463", + "sort": { + "tag": "ValueId" + } + }, + "589-37-41": { + "description": "HsVar", + "internalId": "464", + "sort": { + "tag": "ValueId" + } + }, + "59-5-12": { + "description": "IE", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "590-11-18": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "591-11-15": { + "description": "HsVar", + "internalId": "293", + "sort": { + "tag": "ValueId" + } + }, + "592-12-22": { + "description": "HsVar", + "internalId": "422", + "sort": { + "tag": "ValueId" + } + }, + "592-24-28": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "592-29-34": { + "description": "HsVar", + "internalId": "465", + "sort": { + "tag": "ValueId" + } + }, + "593-7-12": { + "description": "Match", + "internalId": "466", + "sort": { + "tag": "ValueId" + } + }, + "594-13-30": { + "description": "HsVar", + "internalId": "459", + "sort": { + "tag": "ValueId" + } + }, + "594-9-12": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "595-11-17": { + "description": "HsVar", + "internalId": "458", + "sort": { + "tag": "ValueId" + } + }, + "595-19-32": { + "description": "HsVar", + "internalId": "41", + "sort": { + "tag": "ValueId" + } + }, + "595-33-34": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "595-35-39": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "595-40-41": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "595-42-48": { + "description": "HsVar", + "internalId": "40", + "sort": { + "tag": "ValueId" + } + }, + "595-9-10": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "596-11-27": { + "description": "HsVar", + "internalId": "68", + "sort": { + "tag": "ValueId" + } + }, + "596-9-10": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "597-11-18": { + "description": "HsVar", + "internalId": "449", + "sort": { + "tag": "ValueId" + } + }, + "597-9-10": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "60-5-12": { + "description": "IE", + "internalId": "37", + "sort": { + "tag": "TypeId" + } + }, + "600-7-30": { + "description": "TypeSig", + "internalId": "467", + "sort": { + "tag": "ValueId" + } + }, + "601-12-24": { + "description": "HsTyVar", + "internalId": "58", + "sort": { + "tag": "TypeId" + } + }, + "601-25-30": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "601-34-49": { + "description": "HsTyVar", + "internalId": "421", + "sort": { + "tag": "TypeId" + } + }, + "602-7-30": { + "description": "Match", + "internalId": "467", + "sort": { + "tag": "ValueId" + } + }, + "603-13-17": { + "description": "Match", + "internalId": "468", + "sort": { + "tag": "ValueId" + } + }, + "603-20-25": { + "description": "HsVar", + "internalId": "51", + "sort": { + "tag": "ValueId" + } + }, + "603-26-27": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "603-36-38": { + "description": "HsVar", + "internalId": "469", + "sort": { + "tag": "ValueId" + } + }, + "604-12-27": { + "description": "HsVar", + "internalId": "440", + "sort": { + "tag": "ValueId" + } + }, + "605-13-21": { + "description": "HsVar", + "internalId": "470", + "sort": { + "tag": "ValueId" + } + }, + "606-14-20": { + "description": "HsVar", + "internalId": "374", + "sort": { + "tag": "ValueId" + } + }, + "606-21-25": { + "description": "HsVar", + "internalId": "468", + "sort": { + "tag": "ValueId" + } + }, + "607-14-22": { + "description": "HsVar", + "internalId": "427", + "sort": { + "tag": "ValueId" + } + }, + "607-23-27": { + "description": "HsVar", + "internalId": "468", + "sort": { + "tag": "ValueId" + } + }, + "608-13-17": { + "description": "HsVar", + "internalId": "293", + "sort": { + "tag": "ValueId" + } + }, + "609-14-24": { + "description": "HsVar", + "internalId": "422", + "sort": { + "tag": "ValueId" + } + }, + "609-26-30": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "609-31-36": { + "description": "HsVar", + "internalId": "472", + "sort": { + "tag": "ValueId" + } + }, + "61-5-9": { + "description": "IE", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "610-15-18": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "610-19-42": { + "description": "HsVar", + "internalId": "467", + "sort": { + "tag": "ValueId" + } + }, + "610-43-44": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "610-54-61": { + "description": "HsVar", + "internalId": "449", + "sort": { + "tag": "ValueId" + } + }, + "610-7-12": { + "description": "Match", + "internalId": "473", + "sort": { + "tag": "ValueId" + } + }, + "612-31-32": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "612-33-37": { + "description": "HsVar", + "internalId": "447", + "sort": { + "tag": "ValueId" + } + }, + "612-38-40": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "612-41-47": { + "description": "HsVar", + "internalId": "457", + "sort": { + "tag": "ValueId" + } + }, + "612-48-50": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "612-51-56": { + "description": "HsVar", + "internalId": "466", + "sort": { + "tag": "ValueId" + } + }, + "612-57-59": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "612-60-65": { + "description": "HsVar", + "internalId": "473", + "sort": { + "tag": "ValueId" + } + }, + "612-7-15": { + "description": "HsVar", + "internalId": "285", + "sort": { + "tag": "ValueId" + } + }, + "614-1-8": { + "description": "TypeSig", + "internalId": "206", + "sort": { + "tag": "ValueId" + } + }, + "614-12-21": { + "description": "HsTyVar", + "internalId": "2", + "sort": { + "tag": "TypeId" + } + }, + "614-25-36": { + "description": "HsTyVar", + "internalId": "474", + "sort": { + "tag": "TypeId" + } + }, + "614-40-57": { + "description": "HsTyVar", + "internalId": "39", + "sort": { + "tag": "TypeId" + } + }, + "614-61-71": { + "description": "HsTyVar", + "internalId": "238", + "sort": { + "tag": "TypeId" + } + }, + "615-1-8": { + "description": "Match", + "internalId": "206", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "616-13-20": { + "description": "AsPat", + "internalId": "475", + "sort": { + "tag": "ValueId" + } + }, + "617-23-40": { + "description": "HsVar", + "internalId": "476", + "sort": { + "tag": "ValueId" + } + }, + "617-9-22": { + "description": "HsVar", + "internalId": "48", + "sort": { + "tag": "ValueId" + } + }, + "618-7-20": { + "description": "Match", + "internalId": "477", + "sort": { + "tag": "ValueId" + } + }, + "619-18-27": { + "description": "HsVar", + "internalId": "480", + "sort": { + "tag": "ValueId" + } + }, + "619-28-36": { + "description": "HsVar", + "internalId": "481", + "sort": { + "tag": "ValueId" + } + }, + "619-37-44": { + "description": "HsVar", + "internalId": "482", + "sort": { + "tag": "ValueId" + } + }, + "619-45-57": { + "description": "HsVar", + "internalId": "105", + "sort": { + "tag": "ValueId" + } + }, + "619-58-65": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "619-66-77": { + "description": "HsVar", + "internalId": "483", + "sort": { + "tag": "ValueId" + } + }, + "619-78-80": { + "description": "HsVar", + "internalId": "198", + "sort": { + "tag": "ValueId" + } + }, + "619-9-17": { + "description": "HsVar", + "internalId": "478", + "sort": { + "tag": "ValueId" + } + }, + "62-5-22": { + "description": "IE", + "internalId": "39", + "sort": { + "tag": "TypeId" + } + }, + "620-17-19": { + "description": "FieldOcc", + "internalId": "484", + "sort": { + "tag": "ValueId" + } + }, + "621-9-18": { + "description": "HsVar", + "internalId": "3", + "sort": { + "tag": "ValueId" + } + }, + "622-12-33": { + "description": "HsVar", + "internalId": "485", + "sort": { + "tag": "ValueId" + } + }, + "622-34-35": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "622-58-75": { + "description": "HsVar", + "internalId": "476", + "sort": { + "tag": "ValueId" + } + }, + "623-11-24": { + "description": "HsVar", + "internalId": "477", + "sort": { + "tag": "ValueId" + } + }, + "625-9-17": { + "description": "HsVar", + "internalId": "187", + "sort": { + "tag": "ValueId" + } + }, + "626-12-31": { + "description": "HsVar", + "internalId": "486", + "sort": { + "tag": "ValueId" + } + }, + "626-32-43": { + "description": "HsVar", + "internalId": "483", + "sort": { + "tag": "ValueId" + } + }, + "626-44-64": { + "description": "HsVar", + "internalId": "488", + "sort": { + "tag": "ValueId" + } + }, + "627-12-20": { + "description": "HsVar", + "internalId": "252", + "sort": { + "tag": "ValueId" + } + }, + "627-22-38": { + "description": "HsVar", + "internalId": "489", + "sort": { + "tag": "ValueId" + } + }, + "628-12-34": { + "description": "HsVar", + "internalId": "490", + "sort": { + "tag": "ValueId" + } + }, + "628-35-42": { + "description": "HsVar", + "internalId": "475", + "sort": { + "tag": "ValueId" + } + }, + "629-27-38": { + "description": "HsVar", + "internalId": "483", + "sort": { + "tag": "ValueId" + } + }, + "629-7-12": { + "description": "Match", + "internalId": "491", + "sort": { + "tag": "ValueId" + } + }, + "63-5-11": { + "description": "IE", + "internalId": "40", + "sort": { + "tag": "ValueId" + } + }, + "630-32-43": { + "description": "HsVar", + "internalId": "483", + "sort": { + "tag": "ValueId" + } + }, + "630-7-16": { + "description": "Match", + "internalId": "492", + "sort": { + "tag": "ValueId" + } + }, + "631-31-42": { + "description": "HsVar", + "internalId": "483", + "sort": { + "tag": "ValueId" + } + }, + "631-7-13": { + "description": "Match", + "internalId": "493", + "sort": { + "tag": "ValueId" + } + }, + "632-7-22": { + "description": "Match", + "internalId": "494", + "sort": { + "tag": "ValueId" + } + }, + "633-9-12": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "635-17-24": { + "description": "HsVar", + "internalId": "495", + "sort": { + "tag": "ValueId" + } + }, + "636-17-21": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "636-22-25": { + "description": "HsVar", + "internalId": "496", + "sort": { + "tag": "ValueId" + } + }, + "637-17-35": { + "description": "HsVar", + "internalId": "497", + "sort": { + "tag": "ValueId" + } + }, + "638-19-28": { + "description": "HsVar", + "internalId": "498", + "sort": { + "tag": "ValueId" + } + }, + "639-19-24": { + "description": "HsVar", + "internalId": "491", + "sort": { + "tag": "ValueId" + } + }, + "64-5-18": { + "description": "IE", + "internalId": "41", + "sort": { + "tag": "ValueId" + } + }, + "640-37-48": { + "description": "HsVar", + "internalId": "483", + "sort": { + "tag": "ValueId" + } + }, + "641-19-28": { + "description": "HsVar", + "internalId": "492", + "sort": { + "tag": "ValueId" + } + }, + "642-19-25": { + "description": "HsVar", + "internalId": "493", + "sort": { + "tag": "ValueId" + } + }, + "643-19-26": { + "description": "HsVar", + "internalId": "495", + "sort": { + "tag": "ValueId" + } + }, + "643-29-30": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "644-21-22": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "644-23-28": { + "description": "HsVar", + "internalId": "51", + "sort": { + "tag": "ValueId" + } + }, + "644-30-31": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "645-17-20": { + "description": "HsVar", + "internalId": "228", + "sort": { + "tag": "ValueId" + } + }, + "645-21-22": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "645-38-39": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "645-49-50": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "645-51-56": { + "description": "HsVar", + "internalId": "51", + "sort": { + "tag": "ValueId" + } + }, + "645-59-60": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "645-9-15": { + "description": "HsVar", + "internalId": "458", + "sort": { + "tag": "ValueId" + } + }, + "646-9-20": { + "description": "HsVar", + "internalId": "499", + "sort": { + "tag": "ValueId" + } + }, + "647-7-22": { + "description": "Match", + "internalId": "500", + "sort": { + "tag": "ValueId" + } + }, + "648-14-24": { + "description": "HsVar", + "internalId": "501", + "sort": { + "tag": "ValueId" + } + }, + "65-5-32": { + "description": "IE", + "internalId": "42", + "sort": { + "tag": "ValueId" + } + }, + "650-13-21": { + "description": "HsVar", + "internalId": "13", + "sort": { + "tag": "ValueId" + } + }, + "652-22-24": { + "description": "HsVar", + "internalId": "502", + "sort": { + "tag": "ValueId" + } + }, + "654-21-25": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "655-25-32": { + "description": "HsVar", + "internalId": "503", + "sort": { + "tag": "ValueId" + } + }, + "656-25-29": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "656-30-33": { + "description": "HsVar", + "internalId": "504", + "sort": { + "tag": "ValueId" + } + }, + "657-25-43": { + "description": "HsVar", + "internalId": "497", + "sort": { + "tag": "ValueId" + } + }, + "658-27-36": { + "description": "HsVar", + "internalId": "498", + "sort": { + "tag": "ValueId" + } + }, + "659-27-32": { + "description": "HsVar", + "internalId": "491", + "sort": { + "tag": "ValueId" + } + }, + "66-5-21": { + "description": "IE", + "internalId": "43", + "sort": { + "tag": "ValueId" + } + }, + "660-45-56": { + "description": "HsVar", + "internalId": "483", + "sort": { + "tag": "ValueId" + } + }, + "661-27-36": { + "description": "HsVar", + "internalId": "492", + "sort": { + "tag": "ValueId" + } + }, + "662-27-33": { + "description": "HsVar", + "internalId": "493", + "sort": { + "tag": "ValueId" + } + }, + "663-27-34": { + "description": "HsVar", + "internalId": "503", + "sort": { + "tag": "ValueId" + } + }, + "664-24-31": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "665-15-23": { + "description": "HsVar", + "internalId": "505", + "sort": { + "tag": "ValueId" + } + }, + "666-22-24": { + "description": "HsVar", + "internalId": "198", + "sort": { + "tag": "ValueId" + } + }, + "667-7-46": { + "description": "TypeSig", + "internalId": "506", + "sort": { + "tag": "ValueId" + } + }, + "668-12-39": { + "description": "HsTyVar", + "internalId": "245", + "sort": { + "tag": "TypeId" + } + }, + "668-43-70": { + "description": "HsTyVar", + "internalId": "245", + "sort": { + "tag": "TypeId" + } + }, + "669-7-46": { + "description": "Match", + "internalId": "506", + "sort": { + "tag": "ValueId" + } + }, + "67-5-15": { + "description": "IE", + "internalId": "44", + "sort": { + "tag": "ValueId" + } + }, + "670-17-25": { + "description": "HsVar", + "internalId": "285", + "sort": { + "tag": "ValueId" + } + }, + "670-26-29": { + "description": "HsVar", + "internalId": "120", + "sort": { + "tag": "ValueId" + } + }, + "670-31-32": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "670-9-15": { + "description": "HsVar", + "internalId": "507", + "sort": { + "tag": "ValueId" + } + }, + "671-9-19": { + "description": "HsVar", + "internalId": "508", + "sort": { + "tag": "ValueId" + } + }, + "672-30-41": { + "description": "HsVar", + "internalId": "483", + "sort": { + "tag": "ValueId" + } + }, + "673-12-27": { + "description": "HsVar", + "internalId": "494", + "sort": { + "tag": "ValueId" + } + }, + "673-28-30": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "673-31-46": { + "description": "HsVar", + "internalId": "500", + "sort": { + "tag": "ValueId" + } + }, + "674-7-17": { + "description": "RecordCon", + "internalId": "239", + "sort": { + "tag": "ValueId" + } + }, + "675-11-28": { + "description": "FieldOcc", + "internalId": "205", + "sort": { + "tag": "ValueId" + } + }, + "675-31-50": { + "description": "HsVar", + "internalId": "510", + "sort": { + "tag": "ValueId" + } + }, + "676-11-26": { + "description": "FieldOcc", + "internalId": "242", + "sort": { + "tag": "ValueId" + } + }, + "676-29-38": { + "description": "HsVar", + "internalId": "511", + "sort": { + "tag": "ValueId" + } + }, + "677-11-29": { + "description": "FieldOcc", + "internalId": "244", + "sort": { + "tag": "ValueId" + } + }, + "677-32-71": { + "description": "HsVar", + "internalId": "506", + "sort": { + "tag": "ValueId" + } + }, + "677-72-80": { + "description": "HsVar", + "internalId": "512", + "sort": { + "tag": "ValueId" + } + }, + "678-11-31": { + "description": "FieldOcc", + "internalId": "246", + "sort": { + "tag": "ValueId" + } + }, + "678-34-52": { + "description": "HsVar", + "internalId": "513", + "sort": { + "tag": "ValueId" + } + }, + "68-5-21": { + "description": "IE", + "internalId": "45", + "sort": { + "tag": "ValueId" + } + }, + "683-1-20": { + "description": "TypeSig", + "internalId": "486", + "sort": { + "tag": "ValueId" + } + }, + "684-6-17": { + "description": "HsTyVar", + "internalId": "474", + "sort": { + "tag": "TypeId" + } + }, + "685-12-23": { + "description": "HsTyVar", + "internalId": "16", + "sort": { + "tag": "TypeId" + } + }, + "685-25-27": { + "description": "HsTyVar", + "internalId": "104", + "sort": { + "tag": "TypeId" + } + }, + "685-29-34": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "685-36-40": { + "description": "HsTyVar", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "685-43-47": { + "description": "HsTyVar", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "685-6-11": { + "description": "HsTyVar", + "internalId": "299", + "sort": { + "tag": "TypeId" + } + }, + "686-30-57": { + "description": "HsTyVar", + "internalId": "245", + "sort": { + "tag": "TypeId" + } + }, + "686-7-28": { + "description": "HsTyVar", + "internalId": "243", + "sort": { + "tag": "TypeId" + } + }, + "687-6-20": { + "description": "HsTyVar", + "internalId": "514", + "sort": { + "tag": "TypeId" + } + }, + "688-30-57": { + "description": "HsTyVar", + "internalId": "245", + "sort": { + "tag": "TypeId" + } + }, + "688-7-28": { + "description": "HsTyVar", + "internalId": "243", + "sort": { + "tag": "TypeId" + } + }, + "689-1-20": { + "description": "Match", + "internalId": "486", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "689-46-52": { + "description": "AsPat", + "internalId": "515", + "sort": { + "tag": "ValueId" + } + }, + "69-5-16": { + "description": "IE", + "internalId": "46", + "sort": { + "tag": "ValueId" + } + }, + "690-20-26": { + "description": "HsVar", + "internalId": "40", + "sort": { + "tag": "ValueId" + } + }, + "690-27-28": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "690-41-48": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "690-5-18": { + "description": "HsVar", + "internalId": "41", + "sort": { + "tag": "ValueId" + } + }, + "690-50-52": { + "description": "HsVar", + "internalId": "517", + "sort": { + "tag": "ValueId" + } + }, + "691-22-28": { + "description": "HsVar", + "internalId": "40", + "sort": { + "tag": "ValueId" + } + }, + "691-29-30": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "691-43-50": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "691-7-20": { + "description": "HsVar", + "internalId": "96", + "sort": { + "tag": "ValueId" + } + }, + "693-52-63": { + "description": "HsVar", + "internalId": "518", + "sort": { + "tag": "ValueId" + } + }, + "693-6-32": { + "description": "HsVar", + "internalId": "423", + "sort": { + "tag": "ValueId" + } + }, + "693-65-66": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "694-13-14": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "694-27-28": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "694-6-12": { + "description": "HsVar", + "internalId": "40", + "sort": { + "tag": "ValueId" + } + }, + "695-6-13": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "696-10-17": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "697-24-28": { + "description": "FieldOcc", + "internalId": "519", + "sort": { + "tag": "ValueId" + } + }, + "698-9-22": { + "description": "HsVar", + "internalId": "520", + "sort": { + "tag": "ValueId" + } + }, + "699-11-22": { + "description": "HsVar", + "internalId": "518", + "sort": { + "tag": "ValueId" + } + }, + "70-5-11": { + "description": "IE", + "internalId": "47", + "sort": { + "tag": "ValueId" + } + }, + "700-11-17": { + "description": "HsVar", + "internalId": "515", + "sort": { + "tag": "ValueId" + } + }, + "701-12-16": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "701-17-21": { + "description": "HsVar", + "internalId": "522", + "sort": { + "tag": "ValueId" + } + }, + "702-11-18": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "703-24-31": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "704-11-21": { + "description": "HsVar", + "internalId": "523", + "sort": { + "tag": "ValueId" + } + }, + "705-11-19": { + "description": "HsVar", + "internalId": "524", + "sort": { + "tag": "ValueId" + } + }, + "706-11-17": { + "description": "HsVar", + "internalId": "525", + "sort": { + "tag": "ValueId" + } + }, + "707-23-31": { + "description": "FieldOcc", + "internalId": "526", + "sort": { + "tag": "ValueId" + } + }, + "708-14-38": { + "description": "HsVar", + "internalId": "527", + "sort": { + "tag": "ValueId" + } + }, + "708-39-50": { + "description": "HsVar", + "internalId": "518", + "sort": { + "tag": "ValueId" + } + }, + "708-51-63": { + "description": "HsVar", + "internalId": "529", + "sort": { + "tag": "ValueId" + } + }, + "708-64-71": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "71-5-18": { + "description": "IE", + "internalId": "48", + "sort": { + "tag": "ValueId" + } + }, + "710-17-21": { + "description": "Match", + "internalId": "530", + "sort": { + "tag": "ValueId" + } + }, + "711-19-28": { + "description": "HsVar", + "internalId": "12", + "sort": { + "tag": "ValueId" + } + }, + "712-30-40": { + "description": "HsVar", + "internalId": "531", + "sort": { + "tag": "ValueId" + } + }, + "713-22-27": { + "description": "HsVar", + "internalId": "51", + "sort": { + "tag": "ValueId" + } + }, + "713-28-29": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "713-42-49": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "714-17-31": { + "description": "Match", + "internalId": "532", + "sort": { + "tag": "ValueId" + } + }, + "714-42-52": { + "description": "HsVar", + "internalId": "531", + "sort": { + "tag": "ValueId" + } + }, + "715-17-39": { + "description": "Match", + "internalId": "533", + "sort": { + "tag": "ValueId" + } + }, + "715-42-60": { + "description": "HsVar", + "internalId": "52", + "sort": { + "tag": "ValueId" + } + }, + "715-61-75": { + "description": "HsVar", + "internalId": "532", + "sort": { + "tag": "ValueId" + } + }, + "716-17-32": { + "description": "Match", + "internalId": "534", + "sort": { + "tag": "ValueId" + } + }, + "717-19-22": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "718-24-31": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "719-22-34": { + "description": "HsVar", + "internalId": "535", + "sort": { + "tag": "ValueId" + } + }, + "719-35-49": { + "description": "HsVar", + "internalId": "532", + "sort": { + "tag": "ValueId" + } + }, + "719-50-52": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "72-5-18": { + "description": "IE", + "internalId": "49", + "sort": { + "tag": "ValueId" + } + }, + "720-22-34": { + "description": "HsVar", + "internalId": "536", + "sort": { + "tag": "ValueId" + } + }, + "720-35-49": { + "description": "HsVar", + "internalId": "532", + "sort": { + "tag": "ValueId" + } + }, + "720-50-52": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "721-22-34": { + "description": "HsVar", + "internalId": "535", + "sort": { + "tag": "ValueId" + } + }, + "721-35-57": { + "description": "HsVar", + "internalId": "533", + "sort": { + "tag": "ValueId" + } + }, + "721-58-60": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "722-22-34": { + "description": "HsVar", + "internalId": "536", + "sort": { + "tag": "ValueId" + } + }, + "722-35-57": { + "description": "HsVar", + "internalId": "533", + "sort": { + "tag": "ValueId" + } + }, + "722-58-60": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "723-22-27": { + "description": "HsVar", + "internalId": "188", + "sort": { + "tag": "ValueId" + } + }, + "723-28-30": { + "description": "HsVar", + "internalId": "198", + "sort": { + "tag": "ValueId" + } + }, + "723-32-44": { + "description": "HsVar", + "internalId": "535", + "sort": { + "tag": "ValueId" + } + }, + "723-45-46": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "723-47-50": { + "description": "HsVar", + "internalId": "120", + "sort": { + "tag": "ValueId" + } + }, + "723-52-59": { + "description": "HsVar", + "internalId": "537", + "sort": { + "tag": "ValueId" + } + }, + "723-60-62": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "724-22-27": { + "description": "HsVar", + "internalId": "188", + "sort": { + "tag": "ValueId" + } + }, + "724-28-30": { + "description": "HsVar", + "internalId": "198", + "sort": { + "tag": "ValueId" + } + }, + "724-32-44": { + "description": "HsVar", + "internalId": "536", + "sort": { + "tag": "ValueId" + } + }, + "724-45-46": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "724-47-50": { + "description": "HsVar", + "internalId": "120", + "sort": { + "tag": "ValueId" + } + }, + "724-52-59": { + "description": "HsVar", + "internalId": "537", + "sort": { + "tag": "ValueId" + } + }, + "725-17-27": { + "description": "Match", + "internalId": "538", + "sort": { + "tag": "ValueId" + } + }, + "726-19-30": { + "description": "HsVar", + "internalId": "539", + "sort": { + "tag": "ValueId" + } + }, + "727-21-32": { + "description": "HsVar", + "internalId": "518", + "sort": { + "tag": "ValueId" + } + }, + "728-23-33": { + "description": "HsVar", + "internalId": "531", + "sort": { + "tag": "ValueId" + } + }, + "728-35-40": { + "description": "HsVar", + "internalId": "51", + "sort": { + "tag": "ValueId" + } + }, + "728-41-42": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "728-55-62": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "728-64-65": { + "description": "HsVar", + "internalId": "195", + "sort": { + "tag": "ValueId" + } + }, + "728-66-81": { + "description": "HsVar", + "internalId": "534", + "sort": { + "tag": "ValueId" + } + }, + "729-21-30": { + "description": "HsVar", + "internalId": "541", + "sort": { + "tag": "ValueId" + } + }, + "73-5-26": { + "description": "IE", + "internalId": "50", + "sort": { + "tag": "ValueId" + } + }, + "730-17-22": { + "description": "Match", + "internalId": "542", + "sort": { + "tag": "ValueId" + } + }, + "731-19-41": { + "description": "HsVar", + "internalId": "543", + "sort": { + "tag": "ValueId" + } + }, + "732-21-32": { + "description": "HsVar", + "internalId": "518", + "sort": { + "tag": "ValueId" + } + }, + "733-21-31": { + "description": "HsVar", + "internalId": "531", + "sort": { + "tag": "ValueId" + } + }, + "734-21-25": { + "description": "HsVar", + "internalId": "530", + "sort": { + "tag": "ValueId" + } + }, + "735-21-28": { + "description": "HsVar", + "internalId": "537", + "sort": { + "tag": "ValueId" + } + }, + "736-21-29": { + "description": "HsVar", + "internalId": "544", + "sort": { + "tag": "ValueId" + } + }, + "737-34-41": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "738-17-26": { + "description": "Match", + "internalId": "545", + "sort": { + "tag": "ValueId" + } + }, + "739-19-32": { + "description": "HsVar", + "internalId": "546", + "sort": { + "tag": "ValueId" + } + }, + "74-5-10": { + "description": "IE", + "internalId": "51", + "sort": { + "tag": "ValueId" + } + }, + "740-21-46": { + "description": "HsVar", + "internalId": "547", + "sort": { + "tag": "ValueId" + } + }, + "741-21-31": { + "description": "HsVar", + "internalId": "523", + "sort": { + "tag": "ValueId" + } + }, + "742-24-32": { + "description": "HsVar", + "internalId": "524", + "sort": { + "tag": "ValueId" + } + }, + "742-34-40": { + "description": "HsVar", + "internalId": "525", + "sort": { + "tag": "ValueId" + } + }, + "742-43-48": { + "description": "HsVar", + "internalId": "542", + "sort": { + "tag": "ValueId" + } + }, + "743-21-29": { + "description": "HsVar", + "internalId": "548", + "sort": { + "tag": "ValueId" + } + }, + "744-18-28": { + "description": "HsVar", + "internalId": "538", + "sort": { + "tag": "ValueId" + } + }, + "744-30-39": { + "description": "HsVar", + "internalId": "545", + "sort": { + "tag": "ValueId" + } + }, + "747-18-23": { + "description": "HsVar", + "internalId": "51", + "sort": { + "tag": "ValueId" + } + }, + "747-24-25": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "747-38-45": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "749-17-30": { + "description": "HsVar", + "internalId": "520", + "sort": { + "tag": "ValueId" + } + }, + "750-19-30": { + "description": "HsVar", + "internalId": "518", + "sort": { + "tag": "ValueId" + } + }, + "751-19-25": { + "description": "HsVar", + "internalId": "515", + "sort": { + "tag": "ValueId" + } + }, + "752-19-26": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "753-20-24": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "753-25-29": { + "description": "HsVar", + "internalId": "549", + "sort": { + "tag": "ValueId" + } + }, + "754-32-39": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "755-19-29": { + "description": "HsVar", + "internalId": "523", + "sort": { + "tag": "ValueId" + } + }, + "756-19-27": { + "description": "HsVar", + "internalId": "524", + "sort": { + "tag": "ValueId" + } + }, + "757-19-25": { + "description": "HsVar", + "internalId": "525", + "sort": { + "tag": "ValueId" + } + }, + "758-26-32": { + "description": "HsVar", + "internalId": "515", + "sort": { + "tag": "ValueId" + } + }, + "759-1-20": { + "description": "Match", + "internalId": "486", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "759-36-42": { + "description": "HsVar", + "internalId": "550", + "sort": { + "tag": "ValueId" + } + }, + "76-22-40": { + "description": "IE", + "internalId": "52", + "sort": { + "tag": "ValueId" + } + }, + "76-8-21": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Core.Type", + "name": "GHC.Core.Type", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "761-1-14": { + "description": "TypeSig", + "internalId": "520", + "sort": { + "tag": "ValueId" + } + }, + "762-6-17": { + "description": "HsTyVar", + "internalId": "474", + "sort": { + "tag": "TypeId" + } + }, + "763-30-57": { + "description": "HsTyVar", + "internalId": "245", + "sort": { + "tag": "TypeId" + } + }, + "763-7-28": { + "description": "HsTyVar", + "internalId": "243", + "sort": { + "tag": "TypeId" + } + }, + "764-12-16": { + "description": "HsTyVar", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "764-6-11": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "765-12-16": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "765-6-11": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "766-6-12": { + "description": "HsTyVar", + "internalId": "114", + "sort": { + "tag": "TypeId" + } + }, + "767-6-9": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "768-6-9": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "769-6-9": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "77-24-38": { + "description": "IE", + "internalId": "53", + "sort": { + "tag": "ValueId" + } + }, + "77-39-48": { + "description": "IE", + "internalId": "54", + "sort": { + "tag": "ValueId" + } + }, + "77-8-22": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Core.TyCon", + "name": "GHC.Core.TyCon", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "770-30-57": { + "description": "HsTyVar", + "internalId": "245", + "sort": { + "tag": "TypeId" + } + }, + "770-7-28": { + "description": "HsTyVar", + "internalId": "243", + "sort": { + "tag": "TypeId" + } + }, + "771-1-14": { + "description": "Match", + "internalId": "520", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "772-27-38": { + "description": "HsVar", + "internalId": "552", + "sort": { + "tag": "ValueId" + } + }, + "772-7-12": { + "description": "Match", + "internalId": "551", + "sort": { + "tag": "ValueId" + } + }, + "773-7-17": { + "description": "Match", + "internalId": "553", + "sort": { + "tag": "ValueId" + } + }, + "774-9-14": { + "description": "HsVar", + "internalId": "188", + "sort": { + "tag": "ValueId" + } + }, + "775-11-20": { + "description": "HsVar", + "internalId": "554", + "sort": { + "tag": "ValueId" + } + }, + "777-14-25": { + "description": "HsVar", + "internalId": "539", + "sort": { + "tag": "ValueId" + } + }, + "778-16-27": { + "description": "HsVar", + "internalId": "552", + "sort": { + "tag": "ValueId" + } + }, + "779-17-20": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "779-24-31": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "779-33-34": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "779-35-47": { + "description": "HsVar", + "internalId": "535", + "sort": { + "tag": "ValueId" + } + }, + "779-48-52": { + "description": "HsVar", + "internalId": "555", + "sort": { + "tag": "ValueId" + } + }, + "779-53-55": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "779-56-68": { + "description": "HsVar", + "internalId": "536", + "sort": { + "tag": "ValueId" + } + }, + "779-69-73": { + "description": "HsVar", + "internalId": "555", + "sort": { + "tag": "ValueId" + } + }, + "78-8-45": { + "description": "ImportDecl", + "sort": { + "contents": { + "endColumn": 1, + "endLine": 1, + "moduleName": "HaskellCodeExplorer.AST.RenamedSource", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/AST/RenamedSource.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 1, + "tag": "ExactLocation" + }, + "tag": "ModuleId" + } + }, + "780-16-25": { + "description": "HsVar", + "internalId": "554", + "sort": { + "tag": "ValueId" + } + }, + "781-11-17": { + "description": "HsVar", + "internalId": "556", + "sort": { + "tag": "ValueId" + } + }, + "782-7-12": { + "description": "Match", + "internalId": "557", + "sort": { + "tag": "ValueId" + } + }, + "783-9-33": { + "description": "RecordCon", + "internalId": "558", + "sort": { + "tag": "ValueId" + } + }, + "784-13-23": { + "description": "FieldOcc", + "internalId": "560", + "sort": { + "tag": "ValueId" + } + }, + "784-26-30": { + "description": "HsVar", + "internalId": "561", + "sort": { + "tag": "ValueId" + } + }, + "784-32-46": { + "description": "HsVar", + "internalId": "259", + "sort": { + "tag": "ValueId" + } + }, + "784-47-48": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "784-49-56": { + "description": "HsVar", + "internalId": "562", + "sort": { + "tag": "ValueId" + } + }, + "784-58-64": { + "description": "HsVar", + "internalId": "563", + "sort": { + "tag": "ValueId" + } + }, + "785-13-40": { + "description": "FieldOcc", + "internalId": "564", + "sort": { + "tag": "ValueId" + } + }, + "786-15-29": { + "description": "HsVar", + "internalId": "259", + "sort": { + "tag": "ValueId" + } + }, + "786-30-31": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "786-32-38": { + "description": "HsVar", + "internalId": "204", + "sort": { + "tag": "ValueId" + } + }, + "786-39-40": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "786-41-45": { + "description": "HsVar", + "internalId": "263", + "sort": { + "tag": "ValueId" + } + }, + "786-46-47": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "786-48-54": { + "description": "HsVar", + "internalId": "101", + "sort": { + "tag": "ValueId" + } + }, + "786-55-56": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "786-57-67": { + "description": "HsVar", + "internalId": "93", + "sort": { + "tag": "ValueId" + } + }, + "786-68-71": { + "description": "HsVar", + "internalId": "565", + "sort": { + "tag": "ValueId" + } + }, + "786-72-78": { + "description": "HsVar", + "internalId": "563", + "sort": { + "tag": "ValueId" + } + }, + "787-13-21": { + "description": "FieldOcc", + "internalId": "566", + "sort": { + "tag": "ValueId" + } + }, + "787-24-29": { + "description": "HsVar", + "internalId": "295", + "sort": { + "tag": "ValueId" + } + }, + "788-13-31": { + "description": "FieldOcc", + "internalId": "567", + "sort": { + "tag": "ValueId" + } + }, + "788-34-41": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "789-13-22": { + "description": "FieldOcc", + "internalId": "568", + "sort": { + "tag": "ValueId" + } + }, + "789-25-31": { + "description": "HsVar", + "internalId": "431", + "sort": { + "tag": "ValueId" + } + }, + "789-32-35": { + "description": "HsVar", + "internalId": "565", + "sort": { + "tag": "ValueId" + } + }, + "789-36-42": { + "description": "HsVar", + "internalId": "556", + "sort": { + "tag": "ValueId" + } + }, + "79-8-49": { + "description": "ImportDecl", + "sort": { + "contents": { + "endColumn": 1, + "endLine": 1, + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/AST/TypecheckedSource.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 1, + "tag": "ExactLocation" + }, + "tag": "ModuleId" + } + }, + "790-13-26": { + "description": "FieldOcc", + "internalId": "569", + "sort": { + "tag": "ValueId" + } + }, + "790-29-36": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "791-13-24": { + "description": "FieldOcc", + "internalId": "570", + "sort": { + "tag": "ValueId" + } + }, + "791-27-32": { + "description": "HsVar", + "internalId": "571", + "sort": { + "tag": "ValueId" + } + }, + "792-13-17": { + "description": "FieldOcc", + "internalId": "572", + "sort": { + "tag": "ValueId" + } + }, + "793-15-20": { + "description": "HsVar", + "internalId": "188", + "sort": { + "tag": "ValueId" + } + }, + "794-17-27": { + "description": "HsVar", + "internalId": "573", + "sort": { + "tag": "ValueId" + } + }, + "796-25-41": { + "description": "HsVar", + "internalId": "353", + "sort": { + "tag": "ValueId" + } + }, + "796-42-43": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "796-44-55": { + "description": "HsVar", + "internalId": "91", + "sort": { + "tag": "ValueId" + } + }, + "796-56-57": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "796-58-62": { + "description": "HsVar", + "internalId": "575", + "sort": { + "tag": "ValueId" + } + }, + "797-37-48": { + "description": "HsVar", + "internalId": "576", + "sort": { + "tag": "ValueId" + } + }, + "798-38-49": { + "description": "HsVar", + "internalId": "576", + "sort": { + "tag": "ValueId" + } + }, + "799-27-37": { + "description": "HsVar", + "internalId": "573", + "sort": { + "tag": "ValueId" + } + }, + "80-8-36": { + "description": "ImportDecl", + "sort": { + "contents": { + "endColumn": 1, + "endLine": 1, + "moduleName": "HaskellCodeExplorer.GhcUtils", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/GhcUtils.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 1, + "tag": "ExactLocation" + }, + "tag": "ModuleId" + } + }, + "800-17-23": { + "description": "HsVar", + "internalId": "563", + "sort": { + "tag": "ValueId" + } + }, + "802-7-16": { + "description": "Match", + "internalId": "578", + "sort": { + "tag": "ValueId" + } + }, + "803-9-22": { + "description": "HsVar", + "internalId": "546", + "sort": { + "tag": "ValueId" + } + }, + "804-11-36": { + "description": "HsVar", + "internalId": "547", + "sort": { + "tag": "ValueId" + } + }, + "805-11-21": { + "description": "HsVar", + "internalId": "579", + "sort": { + "tag": "ValueId" + } + }, + "806-14-22": { + "description": "HsVar", + "internalId": "580", + "sort": { + "tag": "ValueId" + } + }, + "806-24-30": { + "description": "HsVar", + "internalId": "581", + "sort": { + "tag": "ValueId" + } + }, + "806-33-38": { + "description": "HsVar", + "internalId": "557", + "sort": { + "tag": "ValueId" + } + }, + "807-11-19": { + "description": "HsVar", + "internalId": "582", + "sort": { + "tag": "ValueId" + } + }, + "808-20-29": { + "description": "HsVar", + "internalId": "578", + "sort": { + "tag": "ValueId" + } + }, + "808-8-18": { + "description": "HsVar", + "internalId": "553", + "sort": { + "tag": "ValueId" + } + }, + "81-42-72": { + "description": "IE", + "internalId": "55", + "sort": { + "tag": "ValueId" + } + }, + "81-8-40": { + "description": "ImportDecl", + "sort": { + "contents": { + "endColumn": 1, + "endLine": 1, + "moduleName": "HaskellCodeExplorer.Preprocessor", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/Preprocessor.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 1, + "tag": "ExactLocation" + }, + "tag": "ModuleId" + } + }, + "810-1-25": { + "description": "TypeSig", + "internalId": "527", + "sort": { + "tag": "ValueId" + } + }, + "811-6-17": { + "description": "HsTyVar", + "internalId": "474", + "sort": { + "tag": "TypeId" + } + }, + "812-12-23": { + "description": "HsTyVar", + "internalId": "16", + "sort": { + "tag": "TypeId" + } + }, + "812-25-27": { + "description": "HsTyVar", + "internalId": "104", + "sort": { + "tag": "TypeId" + } + }, + "812-29-34": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "812-36-40": { + "description": "HsTyVar", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "812-43-47": { + "description": "HsTyVar", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "812-6-11": { + "description": "HsTyVar", + "internalId": "299", + "sort": { + "tag": "TypeId" + } + }, + "813-6-20": { + "description": "HsTyVar", + "internalId": "514", + "sort": { + "tag": "TypeId" + } + }, + "814-13-15": { + "description": "HsTyVar", + "internalId": "104", + "sort": { + "tag": "TypeId" + } + }, + "814-17-22": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "814-24-28": { + "description": "HsTyVar", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "814-31-35": { + "description": "HsTyVar", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "814-6-11": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "815-1-25": { + "description": "Match", + "internalId": "527", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "816-24-28": { + "description": "HsVar", + "internalId": "584", + "sort": { + "tag": "ValueId" + } + }, + "816-8-23": { + "description": "HsVar", + "internalId": "583", + "sort": { + "tag": "ValueId" + } + }, + "817-17-21": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "817-22-25": { + "description": "HsVar", + "internalId": "585", + "sort": { + "tag": "ValueId" + } + }, + "819-12-18": { + "description": "HsVar", + "internalId": "586", + "sort": { + "tag": "ValueId" + } + }, + "82-18-43": { + "description": "ImportDecl", + "sort": { + "contents": { + "endColumn": 1, + "endLine": 1, + "moduleName": "HaskellCodeExplorer.Types", + "modulePath": "/Users/liuzichao/haskell-code-explorer/src/HaskellCodeExplorer/Types.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 1, + "tag": "ExactLocation" + }, + "tag": "ModuleId" + } + }, + "821-16-31": { + "description": "HsVar", + "internalId": "583", + "sort": { + "tag": "ValueId" + } + }, + "821-33-44": { + "description": "HsVar", + "internalId": "92", + "sort": { + "tag": "ValueId" + } + }, + "821-45-49": { + "description": "HsVar", + "internalId": "587", + "sort": { + "tag": "ValueId" + } + }, + "822-25-29": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "822-30-33": { + "description": "HsVar", + "internalId": "588", + "sort": { + "tag": "ValueId" + } + }, + "825-20-37": { + "description": "HsVar", + "internalId": "197", + "sort": { + "tag": "ValueId" + } + }, + "825-50-61": { + "description": "HsVar", + "internalId": "589", + "sort": { + "tag": "ValueId" + } + }, + "825-63-67": { + "description": "HsVar", + "internalId": "587", + "sort": { + "tag": "ValueId" + } + }, + "826-28-32": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "826-34-35": { + "description": "HsVar", + "internalId": "590", + "sort": { + "tag": "ValueId" + } + }, + "826-37-44": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "827-28-35": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "828-20-27": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "83-22-30": { + "description": "IE", + "internalId": "9", + "sort": { + "tag": "TypeId" + } + }, + "83-8-20": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Hs.Binds", + "name": "GHC.Hs.Binds", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "830-24-31": { + "description": "HsTyVar", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "830-35-40": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "830-42-44": { + "description": "HsTyVar", + "internalId": "104", + "sort": { + "tag": "TypeId" + } + }, + "830-46-51": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "830-5-20": { + "description": "TypeSig", + "internalId": "583", + "sort": { + "tag": "ValueId" + } + }, + "830-53-57": { + "description": "HsTyVar", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "830-60-64": { + "description": "HsTyVar", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "831-5-20": { + "description": "Match", + "internalId": "583", + "sort": { + "tag": "ValueId" + } + }, + "832-12-13": { + "description": "HsVar", + "internalId": "591", + "sort": { + "tag": "ValueId" + } + }, + "833-31-39": { + "description": "HsVar", + "internalId": "326", + "sort": { + "tag": "ValueId" + } + }, + "833-40-44": { + "description": "HsVar", + "internalId": "592", + "sort": { + "tag": "ValueId" + } + }, + "833-45-57": { + "description": "HsVar", + "internalId": "593", + "sort": { + "tag": "ValueId" + } + }, + "834-31-38": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "835-1-25": { + "description": "Match", + "internalId": "527", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "835-50-57": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "837-1-12": { + "description": "TypeSig", + "internalId": "539", + "sort": { + "tag": "ValueId" + } + }, + "838-6-17": { + "description": "HsTyVar", + "internalId": "474", + "sort": { + "tag": "TypeId" + } + }, + "839-12-17": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "839-18-22": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "839-8-10": { + "description": "HsTyVar", + "internalId": "104", + "sort": { + "tag": "TypeId" + } + }, + "84-8-20": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Hs.Decls", + "name": "GHC.Hs.Decls", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "840-6-27": { + "description": "HsTyVar", + "internalId": "243", + "sort": { + "tag": "TypeId" + } + }, + "841-6-27": { + "description": "HsTyVar", + "internalId": "243", + "sort": { + "tag": "TypeId" + } + }, + "842-1-12": { + "description": "Match", + "internalId": "539", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "843-27-38": { + "description": "HsVar", + "internalId": "595", + "sort": { + "tag": "ValueId" + } + }, + "843-7-12": { + "description": "Match", + "internalId": "594", + "sort": { + "tag": "ValueId" + } + }, + "844-7-13": { + "description": "TypeSig", + "internalId": "596", + "sort": { + "tag": "ValueId" + } + }, + "845-12-33": { + "description": "HsTyVar", + "internalId": "243", + "sort": { + "tag": "TypeId" + } + }, + "845-38-40": { + "description": "HsTyVar", + "internalId": "104", + "sort": { + "tag": "TypeId" + } + }, + "845-42-47": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "845-48-52": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "845-57-78": { + "description": "HsTyVar", + "internalId": "243", + "sort": { + "tag": "TypeId" + } + }, + "846-7-13": { + "description": "Match", + "internalId": "596", + "sort": { + "tag": "ValueId" + } + }, + "847-13-17": { + "description": "Match", + "internalId": "597", + "sort": { + "tag": "ValueId" + } + }, + "847-20-36": { + "description": "HsVar", + "internalId": "192", + "sort": { + "tag": "ValueId" + } + }, + "847-37-48": { + "description": "HsVar", + "internalId": "595", + "sort": { + "tag": "ValueId" + } + }, + "847-49-59": { + "description": "HsVar", + "internalId": "598", + "sort": { + "tag": "ValueId" + } + }, + "847-60-66": { + "description": "HsVar", + "internalId": "599", + "sort": { + "tag": "ValueId" + } + }, + "848-13-26": { + "description": "HsVar", + "internalId": "236", + "sort": { + "tag": "ValueId" + } + }, + "849-16-20": { + "description": "HsVar", + "internalId": "600", + "sort": { + "tag": "ValueId" + } + }, + "849-21-26": { + "description": "HsVar", + "internalId": "601", + "sort": { + "tag": "ValueId" + } + }, + "85-5-16": { + "description": "IE", + "internalId": "56", + "sort": { + "tag": "TypeId" + } + }, + "850-16-30": { + "description": "HsVar", + "internalId": "259", + "sort": { + "tag": "ValueId" + } + }, + "850-31-32": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "850-33-46": { + "description": "HsVar", + "internalId": "602", + "sort": { + "tag": "ValueId" + } + }, + "850-47-52": { + "description": "HsVar", + "internalId": "594", + "sort": { + "tag": "ValueId" + } + }, + "850-53-63": { + "description": "HsVar", + "internalId": "598", + "sort": { + "tag": "ValueId" + } + }, + "851-15-19": { + "description": "HsVar", + "internalId": "597", + "sort": { + "tag": "ValueId" + } + }, + "852-15-20": { + "description": "HsVar", + "internalId": "603", + "sort": { + "tag": "ValueId" + } + }, + "853-16-22": { + "description": "HsVar", + "internalId": "596", + "sort": { + "tag": "ValueId" + } + }, + "853-23-37": { + "description": "HsVar", + "internalId": "604", + "sort": { + "tag": "ValueId" + } + }, + "853-38-41": { + "description": "HsVar", + "internalId": "605", + "sort": { + "tag": "ValueId" + } + }, + "853-7-15": { + "description": "HsVar", + "internalId": "187", + "sort": { + "tag": "ValueId" + } + }, + "855-1-11": { + "description": "TypeSig", + "internalId": "508", + "sort": { + "tag": "ValueId" + } + }, + "856-6-34": { + "description": "HsTyVar", + "internalId": "267", + "sort": { + "tag": "TypeId" + } + }, + "857-20-27": { + "description": "HsTyVar", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "857-29-45": { + "description": "HsTyVar", + "internalId": "308", + "sort": { + "tag": "TypeId" + } + }, + "857-8-18": { + "description": "HsTyVar", + "internalId": "36", + "sort": { + "tag": "TypeId" + } + }, + "858-6-33": { + "description": "HsTyVar", + "internalId": "245", + "sort": { + "tag": "TypeId" + } + }, + "859-6-33": { + "description": "HsTyVar", + "internalId": "245", + "sort": { + "tag": "TypeId" + } + }, + "86-5-11": { + "description": "IE", + "internalId": "57", + "sort": { + "tag": "TypeId" + } + }, + "860-1-11": { + "description": "Match", + "internalId": "508", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "861-7-13": { + "description": "TypeSig", + "internalId": "606", + "sort": { + "tag": "ValueId" + } + }, + "862-12-21": { + "description": "HsTyVar", + "internalId": "607", + "sort": { + "tag": "TypeId" + } + }, + "862-25-28": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "862-30-33": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "862-36-60": { + "description": "HsTyVar", + "internalId": "608", + "sort": { + "tag": "TypeId" + } + }, + "863-13-14": { + "description": "HsTyVar", + "internalId": "609", + "sort": { + "tag": "TypeId" + } + }, + "863-16-23": { + "description": "HsTyVar", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "863-25-41": { + "description": "HsTyVar", + "internalId": "308", + "sort": { + "tag": "TypeId" + } + }, + "864-12-21": { + "description": "HsTyVar", + "internalId": "607", + "sort": { + "tag": "TypeId" + } + }, + "864-25-28": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "864-30-33": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "864-36-60": { + "description": "HsTyVar", + "internalId": "608", + "sort": { + "tag": "TypeId" + } + }, + "865-7-13": { + "description": "Match", + "internalId": "606", + "sort": { + "tag": "ValueId" + } + }, + "867-12-38": { + "description": "HsVar", + "internalId": "423", + "sort": { + "tag": "ValueId" + } + }, + "867-39-53": { + "description": "HsVar", + "internalId": "610", + "sort": { + "tag": "ValueId" + } + }, + "867-54-58": { + "description": "HsVar", + "internalId": "611", + "sort": { + "tag": "ValueId" + } + }, + "868-15-20": { + "description": "Match", + "internalId": "612", + "sort": { + "tag": "ValueId" + } + }, + "869-17-41": { + "description": "RecordCon", + "internalId": "558", + "sort": { + "tag": "ValueId" + } + }, + "87-5-17": { + "description": "IE", + "internalId": "58", + "sort": { + "tag": "TypeId" + } + }, + "870-21-31": { + "description": "FieldOcc", + "internalId": "560", + "sort": { + "tag": "ValueId" + } + }, + "870-34-41": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "871-21-48": { + "description": "FieldOcc", + "internalId": "564", + "sort": { + "tag": "ValueId" + } + }, + "871-51-58": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "872-21-29": { + "description": "FieldOcc", + "internalId": "566", + "sort": { + "tag": "ValueId" + } + }, + "872-32-37": { + "description": "HsVar", + "internalId": "295", + "sort": { + "tag": "ValueId" + } + }, + "873-21-39": { + "description": "FieldOcc", + "internalId": "567", + "sort": { + "tag": "ValueId" + } + }, + "873-42-49": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "874-21-30": { + "description": "FieldOcc", + "internalId": "568", + "sort": { + "tag": "ValueId" + } + }, + "874-33-40": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "875-21-34": { + "description": "FieldOcc", + "internalId": "569", + "sort": { + "tag": "ValueId" + } + }, + "875-37-44": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "876-21-32": { + "description": "FieldOcc", + "internalId": "570", + "sort": { + "tag": "ValueId" + } + }, + "877-21-25": { + "description": "FieldOcc", + "internalId": "572", + "sort": { + "tag": "ValueId" + } + }, + "877-28-40": { + "description": "HsVar", + "internalId": "613", + "sort": { + "tag": "ValueId" + } + }, + "877-41-48": { + "description": "HsVar", + "internalId": "615", + "sort": { + "tag": "ValueId" + } + }, + "879-15-28": { + "description": "HsVar", + "internalId": "546", + "sort": { + "tag": "ValueId" + } + }, + "88-5-14": { + "description": "IE", + "internalId": "59", + "sort": { + "tag": "TypeId" + } + }, + "880-17-42": { + "description": "HsVar", + "internalId": "547", + "sort": { + "tag": "ValueId" + } + }, + "881-17-27": { + "description": "HsVar", + "internalId": "616", + "sort": { + "tag": "ValueId" + } + }, + "882-20-28": { + "description": "HsVar", + "internalId": "617", + "sort": { + "tag": "ValueId" + } + }, + "882-30-36": { + "description": "HsVar", + "internalId": "618", + "sort": { + "tag": "ValueId" + } + }, + "882-39-44": { + "description": "HsVar", + "internalId": "612", + "sort": { + "tag": "ValueId" + } + }, + "883-17-25": { + "description": "HsVar", + "internalId": "619", + "sort": { + "tag": "ValueId" + } + }, + "884-27-35": { + "description": "HsVar", + "internalId": "620", + "sort": { + "tag": "ValueId" + } + }, + "884-7-13": { + "description": "Match", + "internalId": "606", + "sort": { + "tag": "ValueId" + } + }, + "885-16-22": { + "description": "HsVar", + "internalId": "606", + "sort": { + "tag": "ValueId" + } + }, + "885-23-28": { + "description": "HsVar", + "internalId": "621", + "sort": { + "tag": "ValueId" + } + }, + "885-29-36": { + "description": "HsVar", + "internalId": "622", + "sort": { + "tag": "ValueId" + } + }, + "885-7-15": { + "description": "HsVar", + "internalId": "187", + "sort": { + "tag": "ValueId" + } + }, + "89-5-14": { + "description": "IE", + "internalId": "60", + "sort": { + "tag": "TypeId" + } + }, + "90-5-12": { + "description": "IE", + "internalId": "61", + "sort": { + "tag": "TypeId" + } + }, + "91-5-12": { + "description": "IE", + "internalId": "62", + "sort": { + "tag": "TypeId" + } + }, + "92-5-13": { + "description": "IE", + "internalId": "63", + "sort": { + "tag": "TypeId" + } + }, + "93-5-13": { + "description": "IE", + "internalId": "64", + "sort": { + "tag": "TypeId" + } + }, + "94-5-13": { + "description": "IE", + "internalId": "63", + "sort": { + "tag": "TypeId" + } + }, + "95-5-17": { + "description": "IE", + "internalId": "65", + "sort": { + "tag": "ValueId" + } + }, + "96-5-18": { + "description": "IE", + "internalId": "66", + "sort": { + "tag": "ValueId" + } + }, + "97-5-12": { + "description": "IE", + "internalId": "67", + "sort": { + "tag": "ValueId" + } + }, + "98-5-21": { + "description": "IE", + "internalId": "68", + "sort": { + "tag": "ValueId" + } + } + }, + "sourceCodeHtml": "
1{-# LANGUAGE CPP #-}
2{-# LANGUAGE TupleSections #-}
3{-# LANGUAGE LambdaCase #-}
4{-# LANGUAGE RecordWildCards #-}
5{-# LANGUAGE NamedFieldPuns #-}
6{-# LANGUAGE DuplicateRecordFields #-}
7{-# LANGUAGE ScopedTypeVariables #-}
8{-# LANGUAGE OverloadedStrings #-}
9{-# LANGUAGE FlexibleContexts #-}
10{-# LANGUAGE StrictData #-}
11{-# LANGUAGE TypeApplications #-}
12
13module HaskellCodeExplorer.ModuleInfo
14 ( createModuleInfo
15 , ModuleDependencies
16 ) where
17
18import qualified Data.Generics.Uniplate.Data as U
19import GHC.Unit.State (UnitState)
20import Control.Monad.State.Strict (execState,evalState,get,put,State)
21import qualified Data.Aeson as Aeson
22import Data.Aeson.Text(encodeToLazyText)
23import qualified Data.Vector as V
24import qualified Data.HashMap.Strict as HM
25import qualified Data.Map.Strict as M
26import qualified Data.IntMap.Strict as IM
27import qualified Data.IntervalMap.Strict as IVM
28import GHC.Hs.Binds (HsBindLR, LHsBindLR)
29import qualified Data.List as L hiding (span)
30import Data.Maybe (fromMaybe, mapMaybe)
31import GHC.Hs.Extension (GhcRn)
32import GHC.Types.SrcLoc
33 ( SrcSpan(..) -- 关键:带入 RealSrcSpan/UnhelpfulSpan 构造子
34 , RealSrcSpan
35 , srcSpanStartLine
36 , srcSpanStartCol
37 )
38import qualified Data.Set as S
39import GHC.Hs.Utils (collectHsBindBinders, CollectFlag(..))
40import qualified Data.Text as T
41import GHC.Driver.Env(hsc_unit_env, HscEnv)
42import GHC.Unit.Env (ue_units)
43import qualified Data.Text.Encoding as TE
44import GHC.Types.Unique.DFM ( eltsUDFM )
45import Data.Text.Lazy (toStrict)
46import Documentation.Haddock.Types (DocH)
47import GHC.Utils.Outputable (showSDocUnsafe)
48import GHC.Driver.Session
49 ( DynFlags
50 , targetPlatform )
51import GHC
52 ( GenLocated(..)
53 , pprParenSymName
54 , ModSummary
55 , locA
56 , getLocA
57 , ModuleInfo
58 , ModuleName
59 , SrcSpan
60 , TyThing(..)
61 , Type
62 , TypecheckedModule
63 , getLoc
64 , isGoodSrcSpan
65 , modInfoExportsWithSelectors
66 , modInfoInstances
67 , moduleInfo
68 , moduleNameString
69 , ms_hspp_buf
70 , ms_mod
71 , renamedSource
72 , tm_internals_
73 , tm_typechecked_source
74 , unLoc
75 )
76import GHC.Core.Type(expandTypeSynonyms)
77import GHC.Core.TyCon (isFamInstTyCon,tyConName)
78import HaskellCodeExplorer.AST.RenamedSource
79import HaskellCodeExplorer.AST.TypecheckedSource
80import HaskellCodeExplorer.GhcUtils
81import HaskellCodeExplorer.Preprocessor (createSourceCodeTransformation)
82import qualified HaskellCodeExplorer.Types as HCE
83import GHC.Hs.Binds (HsBindLR)
84import GHC.Hs.Decls
85 ( ForeignDecl(..)
86 , HsDecl(..)
87 , LForeignDecl(..)
88 , LInstDecl(..)
89 , LTyClDecl(..)
90 , LHsDecl
91 , HsGroup(..)
92 , InstDecl
93 , TyClDecl
94 , InstDecl(..)
95 , group_tyclds
96 , tyClDeclLName
97 , tcdName
98 , hsGroupInstDecls
99 )
100import GHC.Hs.Doc
101 ( HsDocString
102 , LHsDoc(..)
103 , WithHsDocIdentifiers(..) )
104import GHC.Hs.ImpExp (IE(..), ImportDecl(..), ideclImplicit)
105import GHC.Hs.Utils(collectHsBindBinders)
106import GHC.Unit.External
107 ( ExternalPackageState
108 , eps_PTE
109 , eps_inst_env)
110import GHC.Unit.Home.ModInfo
111 ( HomePackageTable
112 , hm_details)
113import GHC.Unit.Module.ModDetails
114 ( md_types )
115import GHC.Types.TypeEnv
116 ( TypeEnv
117 , mkTypeEnv
118 , typeEnvElts )
119import GHC.Core.InstEnv (InstEnvs(..), is_dfun)
120import GHC.Unit.Module(Module(..), moduleName)
121import GHC.Types.Name (Name, OccName, getSrcSpan, nameOccName, nameSrcSpan, nameUnique)
122import Prelude hiding(id,span)
123import GHC.Types.Name.Reader(GlobalRdrEnv)
124import GHC.Types.SrcLoc (isOneLineSpan, RealSrcSpan(..), srcSpanStartLine, srcSpanStartCol)
125import GHC.Tc.Types (tcVisibleOrphanMods, tcg_inst_env, tcg_rdr_env, tcg_type_env)
126import qualified Text.Blaze.Html5 as H
127import qualified Text.Blaze.Html5.Attributes as A
128import GHC.Types.Unique (getKey)
129import GHC.Types.Var (varName, varType,Id)
130import GHC.Types.Var.Env (emptyTidyEnv)
131
132type ModuleDependencies
133 = ( HM.HashMap HCE.HaskellFilePath HCE.HaskellModulePath
134 , HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap
135 , HM.HashMap HCE.HaskellModuleName (HM.HashMap HCE.ComponentId HCE.HaskellModulePath))
136
137type ModuleGhcData
138 = ( DynFlags
139 , TypecheckedModule
140 , HomePackageTable
141 , ExternalPackageState
142 , ModSummary)
143
144createModuleInfo ::
145 ModuleDependencies -- ^ Modules that have already been indexed
146 -> ModuleGhcData -- ^ Data types from GHC
147 -> HCE.HaskellModulePath -- ^ Current module path
148 -> HCE.PackageId -- ^ Current package id
149 -> HCE.ComponentId -- ^ Current build component id
150 -> (T.Text, HCE.SourceCodePreprocessing) -- ^ Source code
151 -> HscEnv
152 -> (HCE.ModuleInfo, ModuleDependencies, [TypeError])
153createModuleInfo (fileMap, defSiteMap, moduleNameMap) (flags, typecheckedModule, homePackageTable, externalPackageState, modSum) modulePath currentPackageId compId (originalSourceCode, sourceCodePreprocessing) hscEnv=
154 let globalRdrEnv = tcg_rdr_env . fst . tm_internals_ $ typecheckedModule
155 modInfo = moduleInfo typecheckedModule
156 (Just (hsGroup, _, _, _, _)) = renamedSource typecheckedModule
157 exportedNamesSet = S.fromList $ modInfoExportsWithSelectors modInfo
158 --------------------------------------------------------------------------------
159 -- Preprocessed source
160 --------------------------------------------------------------------------------
161 (transformation, sourceCode') =
162 prepareSourceCode
163 sourceCodePreprocessing
164 originalSourceCode
165 modSum
166 modulePath
167 includedFiles = HM.keys $ HCE.fileIndex transformation
168 --------------------------------------------------------------------------------
169 -- Type environment
170 --------------------------------------------------------------------------------
171 (tcGblEnv, _) = tm_internals_ typecheckedModule
172 currentModuleTyThings = typeEnvElts $ tcg_type_env tcGblEnv
173 homePackageTyThings =
174 concatMap (typeEnvElts . md_types . hm_details) $
175 eltsUDFM homePackageTable
176 externalPackagesTyThings = typeEnvElts $ eps_PTE externalPackageState
177 typeEnv =
178 mkTypeEnv
179 (currentModuleTyThings ++
180 homePackageTyThings ++ externalPackagesTyThings)
181 --------------------------------------------------------------------------------
182 -- Exported entities
183 --------------------------------------------------------------------------------
184 dataFamTyCons =
185 mapMaybe
186 (\\case
187 ATyCon tc
188 | isFamInstTyCon tc -> Just $ tyConName tc
189 _ -> Nothing)
190 currentModuleTyThings
191 (defSites, allNames) =
192 createDefinitionSiteMap
193 unitState
194 flags
195 currentPackageId
196 compId
197 defSiteMap
198 fileMap
199 globalRdrEnv
200 transformation
201 modInfo
202 dataFamTyCons
203 hsGroup
204 --------------------------------------------------------------------------------
205 -- Instance environment
206 --------------------------------------------------------------------------------
207 homeInstEnv = tcg_inst_env tcGblEnv
208 visOrphanModules = tcVisibleOrphanMods tcGblEnv
209 packageInstEnv = eps_inst_env externalPackageState
210 instEnv = InstEnvs packageInstEnv homeInstEnv visOrphanModules
211 --------------------------------------------------------------------------------
212 declarations =
213 createDeclarations flags hsGroup typeEnv exportedNamesSet transformation
214 unitState = ue_units (hsc_unit_env hscEnv)
215 environment =
216 Environment
217 { envDynFlags = flags
218 , envInstEnv = instEnv
219 , envTypeEnv = typeEnv
220 , envTransformation = transformation
221 , envCurrentModuleDefSites = defSites
222 , envFileMap = fileMap
223 , envDefSiteMap = defSiteMap
224 , envModuleNameMap = moduleNameMap
225 , envPackageId = currentPackageId
226 , envComponentId = compId
227 , envExportedNames = exportedNamesSet
228 , envUnitState = unitState
229 }
230 externalIds =
231 L.foldl'
232 (\\acc name ->
233 maybe
234 acc
235 (\\id -> (HCE.ExternalIdentifierInfo $ mkIdentifierInfo environment id (Just name)) : acc)
236 (lookupIdInTypeEnv typeEnv name))
237 []
238 allNames
239 currentModuleName =
240 HCE.HaskellModuleName . T.pack
241 . moduleNameString . moduleName . ms_mod
242 $ modSum
243 -- currentModuleName =
244 -- (\\(Module _ name) ->
245 -- HCE.HaskellModuleName . T.pack . moduleNameString $ name) .
246 -- ms_mod $
247 -- modSum
248 SourceInfo {..} = foldAST unitState environment typecheckedModule
249 in (tidyInternalIds HCE.ModuleInfo
250 { id = modulePath
251 , transformation = transformation
252 , name = currentModuleName
253 , declarations = declarations
254 , exprInfoMap = sourceInfoExprMap
255 , idInfoMap = sourceInfoIdMap
256 , idOccMap = sourceInfoIdOccMap
257 , definitionSiteMap = defSites
258 , source = V.fromList . T.splitOn "\\n" $ sourceCode'
259 , externalIds = externalIds
260 }
261 , if not $ isHsBoot modulePath
262 then (HM.union
263 (HM.fromList .
264 (( HCE.HaskellFilePath $ HCE.getHaskellModulePath modulePath
265 , modulePath) :) .
266 map (, modulePath) $
267 includedFiles)
268 fileMap
269 , HM.union (HM.singleton modulePath defSites) defSiteMap
270 , HM.insertWith HM.union currentModuleName
271 (HM.singleton compId modulePath) moduleNameMap)
272 else (fileMap, defSiteMap, moduleNameMap)
273 , sourceInfoTypeErrors)
274
275data SourceInfo = SourceInfo
276 { sourceInfoExprMap :: HCE.ExpressionInfoMap
277 , sourceInfoIdMap :: HCE.IdentifierInfoMap
278 , sourceInfoIdOccMap :: HCE.IdentifierOccurrenceMap
279 , sourceInfoTypeErrors :: [TypeError]
280 } deriving (Show, Eq)
281
282tidyInternalIds :: HCE.ModuleInfo -> HCE.ModuleInfo
283tidyInternalIds modInfo = evalState (U.transformBiM tidy modInfo) (HM.empty, 0)
284 where
285 tidy ::
286 HCE.InternalId -> State (HM.HashMap T.Text T.Text, Int) HCE.InternalId
287 tidy (HCE.InternalId text) = do
288 (hmap, number) <- get
289 case HM.lookup text hmap of
290 Just val -> return $ HCE.InternalId val
291 Nothing -> do
292 let nextInternalId = T.pack . show $ number
293 put (HM.insert text nextInternalId hmap, number + 1)
294 return $ HCE.InternalId nextInternalId
295
296prepareSourceCode ::
297 HCE.SourceCodePreprocessing
298 -> T.Text
299 -> ModSummary
300 -> HCE.HaskellModulePath
301 -> (HCE.SourceCodeTransformation, T.Text)
302prepareSourceCode sourceCodePreprocessing originalSourceCode modSum modulePath =
303 let sourceCodeAfterPreprocessing =
304 case TE.decodeUtf8' $
305 maybe
306 (error "ms_hspp_buf is Nothing")
307 stringBufferToByteString
308 (ms_hspp_buf modSum) of
309 Right text -> T.replace "\\t" " " text
310 Left err ->
311 error $
312 "decodeUtf8' : " ++ show err ++ " , file : " ++ show modulePath
313 in case sourceCodePreprocessing of
314 HCE.BeforePreprocessing ->
315 let sourceCodeLines = T.splitOn "\\n" originalSourceCode
316 in ( HCE.SourceCodeTransformation
317 (length sourceCodeLines)
318 modulePath
319 S.empty
320 HM.empty
321 , originalSourceCode)
322 HCE.AfterPreprocessing ->
323 createSourceCodeTransformation
324 modulePath
325 originalSourceCode
326 sourceCodeAfterPreprocessing
327
328createDefinitionSiteMap ::
329 UnitState
330 -> DynFlags
331 -> HCE.PackageId
332 -> HCE.ComponentId
333 -> HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap
334 -> HM.HashMap HCE.HaskellFilePath HCE.HaskellModulePath
335 -> GlobalRdrEnv
336 -> HCE.SourceCodeTransformation
337 -> ModuleInfo
338 -> [Name]
339 -> HsGroup GhcRn
340 -> (HCE.DefinitionSiteMap, [Name])
341createDefinitionSiteMap unitState flags currentPackageId compId defSiteMap fileMap globalRdrEnv transformation modInfo dataFamTyCons hsGroup =
342 let
343 --------------------------------------------------------------------------------
344 -- Collect declarations
345 --------------------------------------------------------------------------------
346 allDecls :: [LHsDecl GhcRn]
347 allDecls =
348 L.sortOn
349 (\\d -> case locA (getLocA d) of
350 RealSrcSpan r _ -> (srcSpanStartLine r, srcSpanStartCol r)
351 _ -> (maxBound :: Int, maxBound :: Int))
352 (ungroup hsGroup)
353
354 (instanceDeclsWithDocs, valueAndTypeDeclsWithDocs) =
355 L.partition
356 (\\(L _ decl, _) ->
357 case decl of
358 InstD {} -> True
359 _ -> False)
360 (collectDocs allDecls)
361
362 --------------------------------------------------------------------------------
363 -- Instances
364 --------------------------------------------------------------------------------
365 instanceDocMap :: M.Map RealSrcSpan [LHsDoc GhcRn]
366 instanceDocMap =
367 M.fromList $
368 mapMaybe
369 (\\(L nSpan decl, docs) ->
370 case decl of
371 InstD _ (ClsInstD _ _inst) ->
372 case locA nSpan of
373 RealSrcSpan r _ -> Just (r, docs)
374 _ -> Nothing
375 _ -> Nothing)
376 instanceDeclsWithDocs
377
378 nameLocation :: Maybe SrcSpan -> Name -> HCE.LocationInfo
379 nameLocation mbSrcSpan name =
380 nameLocationInfo
381 unitState
382 flags
383 currentPackageId
384 compId
385 transformation
386 fileMap
387 defSiteMap
388 Nothing
389 Nothing
390 name
391
392 docHToHtml :: DocH (ModuleName, OccName) Name -> HCE.HTML
393 docHToHtml =
394 docWithNamesToHtml
395 unitState
396 flags
397 currentPackageId
398 compId
399 transformation
400 fileMap
401 defSiteMap
402
403 instancesWithDocumentation =
404 HM.fromList $
405 map
406 (\\clsInst ->
407 ( instanceToText flags clsInst
408 , let location = nameLocation Nothing (varName . is_dfun $ clsInst)
409 in case getSrcSpan clsInst of
410 RealSrcSpan r _ ->
411 case M.lookup r instanceDocMap of
412 Just hsDocs ->
413 let hsDocStrings = [ s | L _ (WithHsDocIdentifiers s _) <- hsDocs ]
414 doc = hsDocsToDocH unitState flags globalRdrEnv hsDocStrings
415 in HCE.DefinitionSite location (Just (docHToHtml doc))
416 Nothing -> HCE.DefinitionSite location Nothing
417 _ -> HCE.DefinitionSite location Nothing
418 ))
419 (modInfoInstances modInfo)
420
421 --------------------------------------------------------------------------------
422 -- Values and types
423 --------------------------------------------------------------------------------
424 mainDeclNamesWithDocumentation =
425 concatMap
426 (\\(L spanA decl, docs) -> map (, docs, locA spanA) $ getMainDeclBinder decl)
427 valueAndTypeDeclsWithDocs
428
429 dataFamTyConsWithoutDocs =
430 map (\\name -> (name, [], nameSrcSpan name)) dataFamTyCons
431
432 allDeclsSrc :: [GenLocated SrcSpan (HsDecl GhcRn)]
433 allDeclsSrc = map (\\(L la d) -> L (locA la) d) allDecls
434
435 allNamesWithDocumentation =
436 mainDeclNamesWithDocumentation
437 ++ subordinateNamesWithDocs allDeclsSrc
438 ++ dataFamTyConsWithoutDocs
439
440 (valuesWithDocumentation, typesWithDocumentation) =
441 L.partition
442 (\\(name, _, _) ->
443 case occNameNameSpace . nameOccName $ name of
444 HCE.VarName -> True
445 HCE.DataName -> True
446 _ -> False)
447 allNamesWithDocumentation
448
449 toHashMap ::
450 [(Name, [LHsDoc GhcRn], SrcSpan)]
451 -> HM.HashMap HCE.OccName HCE.DefinitionSite
452 toHashMap =
453 HM.fromListWith
454 (\\(HCE.DefinitionSite loc newDoc) (HCE.DefinitionSite _ oldDoc) ->
455 HCE.DefinitionSite loc (mappend newDoc oldDoc)) .
456 map
457 (\\(name, docs, srcSpan) ->
458 let location = nameLocation (Just srcSpan) name
459 htmlDoc =
460 if not (null docs)
461 then let hsDocStrings = [ s | L _ (WithHsDocIdentifiers s _) <- docs ]
462 doc = hsDocsToDocH unitState flags globalRdrEnv hsDocStrings
463 in Just (docHToHtml doc)
464 else Nothing
465 in (HCE.OccName $ toText name, HCE.DefinitionSite location htmlDoc))
466
467
468 in ( HCE.DefinitionSiteMap
469 { HCE.values = toHashMap valuesWithDocumentation
470 , HCE.types = toHashMap (typesWithDocumentation ++ dataFamTyConsWithoutDocs)
471 , HCE.instances = instancesWithDocumentation
472 }
473 , map (\\(n, _, _) -> n) allNamesWithDocumentation
474 )
475
476
477occNameToHtml ::
478 DynFlags
479 -> HCE.PackageId
480 -> HCE.ComponentId
481 -> (ModuleName, OccName)
482 -> H.Html
483occNameToHtml flags packageId compId (modName, occName) =
484 let location =
485 H.textValue . toStrict . encodeToLazyText . Aeson.toJSON $
486 occNameLocationInfo flags packageId compId (modName, occName)
487 in (H.span H.! H.dataAttribute "location" location) H.! A.class_ "link" $
488 H.toHtml (toText occName)
489
490nameToHtml ::
491 UnitState
492 -> DynFlags
493 -> HCE.PackageId
494 -> HCE.ComponentId
495 -> HCE.SourceCodeTransformation
496 -> HM.HashMap HCE.HaskellFilePath HCE.HaskellModulePath
497 -> HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap
498 -> Name
499 -> H.Html
500nameToHtml unitState flags packageId compId transformation files defSiteMap name =
501 let location =
502 H.textValue . toStrict . encodeToLazyText . Aeson.toJSON $
503 nameLocationInfo
504 unitState
505 flags
506 packageId
507 compId
508 transformation
509 files
510 defSiteMap
511 Nothing
512 Nothing
513 name
514 in H.span H.! H.dataAttribute "location" location H.! A.class_ "link" $
515 H.toHtml (nameToText name)
516
517docWithNamesToHtml ::
518 UnitState
519 -> DynFlags
520 -> HCE.PackageId
521 -> HCE.ComponentId
522 -> HCE.SourceCodeTransformation
523 -> HM.HashMap HCE.HaskellFilePath HCE.HaskellModulePath
524 -> HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap
525 -> DocH (ModuleName, OccName) Name
526 -> HCE.HTML
527docWithNamesToHtml unitState flags packageId compId transformation fileMap defSiteMap =
528 HCE.docToHtml
529 (occNameToHtml flags packageId compId)
530 (nameToHtml unitState flags packageId compId transformation fileMap defSiteMap)
531
532createDeclarations ::
533 DynFlags
534 -> HsGroup GhcRn
535 -> TypeEnv
536 -> S.Set Name
537 -> HCE.SourceCodeTransformation
538 -> [HCE.Declaration]
539createDeclarations flags hsGroup typeEnv exportedSet transformation =
540 let lineNumber :: SrcSpan -> Int
541 lineNumber srcSpan =
542 case srcSpanToLineAndColNumbers transformation srcSpan of
543 Just (_file,(lineNum, _), (_, _)) -> lineNum
544 Nothing -> 1
545 nameType :: Name -> Maybe HCE.Type
546 nameType n =
547 case lookupIdInTypeEnv typeEnv n of
548 Just i -> Just . mkType . varType $ i
549 Nothing -> Nothing
550 valToDeclarations :: LHsBindLR GhcRn GhcRn -> [HCE.Declaration]
551 valToDeclarations (L locAnn bind) =
552 let
553 names :: [Name]
554 names = collectHsBindBinders CollNoDictBinders bind
555 loc :: SrcSpan
556 loc = locA locAnn
557 in
558 map
559 (\\name ->
560 HCE.Declaration
561 HCE.ValD
562 (toText name)
563 (nameType name)
564 (S.member name exportedSet)
565 (lineNumber loc))
566 names
567 vals = concatMap valToDeclarations $ hsGroupVals hsGroup
568 -- | Data, newtype, type, type family, data family or class declaration
569 --------------------------------------------------------------------------------
570 tyClToDeclaration :: LTyClDecl GhcRn -> HCE.Declaration
571 tyClToDeclaration (L locA' tyClDecl) =
572 HCE.Declaration
573 HCE.TyClD
574 (T.append (tyClDeclPrefix tyClDecl) (toText $ tcdName tyClDecl))
575 (nameType $ tcdName tyClDecl)
576 (S.member (unLoc $ tyClDeclLName tyClDecl) exportedSet)
577 (lineNumber (locA locA'))
578 tyclds =
579 map tyClToDeclaration
580 . filter (isGoodSrcSpan . locA . getLocA)
581 . concatMap group_tyclds . hs_tyclds
582 $ hsGroup
583 -- | Instances
584 --------------------------------------------------------------------------------
585 instToDeclaration :: LInstDecl GhcRn -> HCE.Declaration
586 instToDeclaration (L locA' inst) =
587 HCE.Declaration
588 HCE.InstD
589 (instanceDeclToText flags inst)
590 Nothing
591 True
592 (lineNumber (locA locA'))
593 insts =
594 map instToDeclaration
595 . filter (isGoodSrcSpan . locA . getLoc)
596 . hsGroupInstDecls
597 $ hsGroup
598 -- | Foreign functions
599 --------------------------------------------------------------------------------
600 foreignFunToDeclaration ::
601 LForeignDecl GhcRn -> HCE.Declaration
602 foreignFunToDeclaration (L locA' fd) =
603 let name = unLoc $ fd_name fd
604 in HCE.Declaration
605 HCE.ForD
606 (toText name)
607 (nameType name)
608 True
609 (lineNumber (locA locA'))
610 fords = map foreignFunToDeclaration $ hs_fords hsGroup
611 --------------------------------------------------------------------------------
612 in L.sortOn HCE.lineNumber $ vals ++ tyclds ++ insts ++ fords
613
614foldAST :: UnitState -> Environment -> TypecheckedModule -> SourceInfo
615foldAST unitState environment typecheckedModule =
616 let (Just renamed@(_hsGroupRn, importDecls, mbExported, _mbTopDoc, _mbModuleName)) =
617 renamedSource typecheckedModule
618 emptyASTState =
619 ASTState IVM.empty IM.empty M.empty emptyTidyEnv Nothing environment []
620 ASTState {..} =
621 execState
622 (foldTypecheckedSource $ tm_typechecked_source typecheckedModule)
623 emptyASTState
624 (idInfoMap, idOccMap) =
625 L.foldl'
626 (addIdentifierToMaps environment astStateIdSrcSpanMap)
627 (HM.empty, astStateIdOccMap)
628 (namesFromRenamedSource renamed)
629 flags = envDynFlags environment
630 packageId = envPackageId environment
631 compId = envComponentId environment
632 importedModules =
633 map
634 ((\\(L ann modName) ->
635 ( modName
636 , locA ann
637 , moduleLocationInfo
638 unitState
639 flags
640 (envModuleNameMap environment)
641 packageId
642 compId
643 modName)) .
644 ideclName . unLoc) .
645 filter (not . (ideclImplicit . ideclExt . unLoc)) $
646 importDecls
647 exportedModules =
648 case mbExported of
649 Just lieNames ->
650 mapMaybe
651 (\\(L ann ie, _) ->
652 case ie of
653 IEModuleContents _ (L _ modName) ->
654 Just
655 ( modName
656 , locA ann
657 , moduleLocationInfo
658 unitState
659 flags
660 (envModuleNameMap environment)
661 packageId
662 compId
663 modName)
664 _ -> Nothing)
665 lieNames
666 Nothing -> []
667 addImportedAndExportedModulesToIdOccMap ::
668 HCE.IdentifierOccurrenceMap -> HCE.IdentifierOccurrenceMap
669 addImportedAndExportedModulesToIdOccMap =
670 IM.map (L.sortOn fst) .
671 addModules
672 (envTransformation environment)
673 (importedModules ++ exportedModules)
674 in SourceInfo
675 { sourceInfoExprMap = astStateExprInfoMap
676 , sourceInfoIdMap = idInfoMap
677 , sourceInfoIdOccMap = addImportedAndExportedModulesToIdOccMap idOccMap
678 , sourceInfoTypeErrors = astStateTypeErrors
679 }
680
681-- | Updates 'IdentifierOccurrenceMap' and 'IdentifierInfoMap' using information
682-- from typechecked source and renamed source
683addIdentifierToMaps ::
684 Environment
685 -> M.Map RealSrcSpan (Id, Maybe (Type, [Type]))
686 -> (HCE.IdentifierInfoMap, HCE.IdentifierOccurrenceMap)
687 -> NameOccurrence
688 -> (HCE.IdentifierInfoMap, HCE.IdentifierOccurrenceMap)
689addIdentifierToMaps environment idSrcSpanMap idMaps@(idInfoMap, idOccMap) nameOcc
690 | isGoodSrcSpan (getLoc $ locatedName nameOcc) &&
691 isOneLineSpan (getLoc $ locatedName nameOcc)
692 , Just (_, (lineNumber, startCol), (_, endCol)) <-
693 srcSpanToLineAndColNumbers (envTransformation environment) .
694 getLoc . locatedName $
695 nameOcc =
696 case nameOcc of
697 TyLitOccurrence {kind = kind} ->
698 addNameToMaps
699 environment
700 idMaps
701 (Just kind)
702 Nothing
703 (description nameOcc)
704 lineNumber
705 startCol
706 endCol
707 NameOccurrence {isBinder = isBinder} ->
708 case lookupIdByNameOccurrence environment idSrcSpanMap nameOcc of
709 Just (identifier, mbTypes) ->
710 let name =
711 fromMaybe
712 (varName identifier)
713 (unLoc $ locatedName nameOcc)
714 identifierType = varType identifier
715 identifierTypeExpanded = expandTypeSynonyms identifierType
716 tyConsAndTyVars =
717 map
718 (, Nothing)
719 (tyConsOfType identifierType ++
720 tyVarsOfType identifierType ++
721 tyConsOfType identifierTypeExpanded ++
722 tyVarsOfType identifierTypeExpanded ++
723 maybe [] (tyConsOfType . fst) mbTypes ++
724 maybe [] (tyVarsOfType . fst) mbTypes)
725 idInfoMap' =
726 updateIdMap
727 environment
728 ((identifier, unLoc $ locatedName nameOcc) : tyConsAndTyVars)
729 idInfoMap
730 idOcc =
731 mkIdentifierOccurrence
732 environment
733 identifier
734 name
735 mbTypes
736 isBinder
737 (description nameOcc)
738 idOccMap' =
739 IM.insertWith
740 removeOverlappingInterval
741 lineNumber
742 [((startCol, endCol), idOcc)]
743 idOccMap
744 in (idInfoMap', idOccMap')
745 Nothing -- type variable or an internal identifier in a pattern synonym
746 ->
747 case unLoc $ locatedName nameOcc of
748 Just name ->
749 addNameToMaps
750 environment
751 idMaps
752 Nothing
753 (Just name)
754 (description nameOcc)
755 lineNumber
756 startCol
757 endCol
758 Nothing -> idMaps
759addIdentifierToMaps _ _ idMaps _ = idMaps
760
761addNameToMaps ::
762 Environment
763 -> (HCE.IdentifierInfoMap, HCE.IdentifierOccurrenceMap)
764 -> Maybe Type
765 -> Maybe Name
766 -> T.Text
767 -> Int
768 -> Int
769 -> Int
770 -> (HCE.IdentifierInfoMap, HCE.IdentifierOccurrenceMap)
771addNameToMaps environment (idInfoMap, idOccMap) mbKind mbName descr lineNumber colStart colEnd =
772 let flags = envDynFlags environment
773 idInfoMap' =
774 maybe
775 idInfoMap
776 (\\kind ->
777 updateIdMap
778 environment
779 (map (, Nothing) $ tyConsOfType kind ++ tyVarsOfType kind)
780 idInfoMap)
781 mbKind
782 idOcc =
783 HCE.IdentifierOccurrence
784 { internalId = fmap (HCE.InternalId . nameKey) mbName
785 , internalIdFromRenamedSource =
786 HCE.InternalId . T.pack . show . getKey . nameUnique <$> mbName
787 , isBinder = False
788 , instanceResolution = Nothing
789 , idOccType = mkType <$> mbKind
790 , typeArguments = Nothing
791 , description = descr
792 , sort =
793 maybe
794 HCE.TypeId
795 (\\name ->
796 case occNameNameSpace . nameOccName $ name of
797 HCE.VarName -> HCE.ValueId
798 HCE.DataName -> HCE.ValueId
799 _ -> HCE.TypeId)
800 mbName
801 }
802 idOccMap' =
803 IM.insertWith
804 removeOverlappingInterval
805 lineNumber
806 [((colStart, colEnd), idOcc)]
807 idOccMap
808 in (idInfoMap', idOccMap')
809
810lookupIdByNameOccurrence ::
811 Environment
812 -> M.Map RealSrcSpan (Id, Maybe (Type, [Type]))
813 -> NameOccurrence
814 -> Maybe (Id, Maybe (Type, [Type]))
815lookupIdByNameOccurrence environment idSrcSpanMap (NameOccurrence (L span mbName) _ _) =
816 case lookupBySrcSpan span of
817 Just hit -> Just hit
818 Nothing ->
819 case mbName of
820 Just name ->
821 case lookupBySrcSpan (nameSrcSpan name) of
822 Just hit -> Just hit -- LHS of a Match 等
823 Nothing ->
824 -- 不在 typechecked 源里的名字,退回 TypeEnv
825 case lookupIdInTypeEnv (envTypeEnv environment) name of
826 Just t -> Just (t, Nothing)
827 Nothing -> Nothing
828 Nothing -> Nothing
829 where
830 lookupBySrcSpan :: SrcSpan -> Maybe (Id, Maybe (Type, [Type]))
831 lookupBySrcSpan s =
832 case s of
833 RealSrcSpan real _ -> M.lookup real idSrcSpanMap
834 _ -> Nothing
835lookupIdByNameOccurrence _ _ TyLitOccurrence{} = Nothing
836
837updateIdMap ::
838 Environment
839 -> [(Id, Maybe Name)]
840 -> HCE.IdentifierInfoMap
841 -> HCE.IdentifierInfoMap
842updateIdMap environment ids identifiersMap =
843 let flags = envDynFlags environment
844 update ::
845 HCE.IdentifierInfoMap -> (Id, Maybe Name) -> HCE.IdentifierInfoMap
846 update idMap (identifier, mbName) =
847 let info = mkIdentifierInfo environment identifier mbName
848 in HM.insertWith
849 (flip const)
850 (HCE.InternalId $ identifierKey flags identifier)
851 info
852 idMap
853 in L.foldl' update identifiersMap ids
854
855addModules ::
856 HCE.SourceCodeTransformation
857 -> [(ModuleName, SrcSpan, HCE.LocationInfo)]
858 -> HCE.IdentifierOccurrenceMap
859 -> HCE.IdentifierOccurrenceMap
860addModules transformation modules idMap =
861 let update ::
862 IM.IntMap [((Int, Int), HCE.IdentifierOccurrence)]
863 -> (a, SrcSpan, HCE.LocationInfo)
864 -> IM.IntMap [((Int, Int), HCE.IdentifierOccurrence)]
865 update idOccMap (_modInfo, span, locInfo)
866 | Just (_file,(lineNumber, colStart), (_, colEnd)) <-
867 srcSpanToLineAndColNumbers transformation span =
868 let idOcc =
869 HCE.IdentifierOccurrence
870 { internalId = Nothing
871 , internalIdFromRenamedSource = Nothing
872 , isBinder = False
873 , instanceResolution = Nothing
874 , idOccType = Nothing
875 , typeArguments = Nothing
876 , description = "ImportDecl"
877 , sort = HCE.ModuleId locInfo
878 }
879 in IM.insertWith
880 removeOverlappingInterval
881 lineNumber
882 [((colStart, colEnd), idOcc)]
883 idOccMap
884 update idOccMap _ = idOccMap
885 in L.foldl' update idMap modules
886
" +} \ No newline at end of file diff --git a/example/ModuleInfo.AbsPath.html b/example/ModuleInfo.AbsPath.html new file mode 100644 index 0000000..bc91cf7 --- /dev/null +++ b/example/ModuleInfo.AbsPath.html @@ -0,0 +1,6621 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
1{-# LANGUAGE CPP + #-}
2{-# LANGUAGE + TupleSections #-}
3{-# LANGUAGE + LambdaCase #-}
4{-# LANGUAGE + RecordWildCards #-}
5{-# LANGUAGE + NamedFieldPuns #-}
6{-# LANGUAGE + DuplicateRecordFields #-}
7{-# LANGUAGE + ScopedTypeVariables #-}
8{-# LANGUAGE + OverloadedStrings #-}
9{-# LANGUAGE + FlexibleContexts #-}
10{-# LANGUAGE + StrictData #-}
11{-# LANGUAGE + TypeApplications #-}
12
13module + HaskellCodeExplorer.ModuleInfo
14 ( createModuleInfo
15 , ModuleDependencies
16 ) where +
17
18import qualified + Data.Generics.Uniplate.Data as U
19import GHC.Unit.State (UnitState)
20import Control.Monad.State.Strict (execState,evalState,get,put,State)
21import qualified + Data.Aeson as Aeson
22import Data.Aeson.Text(encodeToLazyText)
23import qualified + Data.Vector as V
24import qualified + Data.HashMap.Strict as HM
25import qualified + Data.Map.Strict as M
26import qualified + Data.IntMap.Strict as IM
27import qualified + Data.IntervalMap.Strict as IVM
28import GHC.Hs.Binds (HsBindLR, LHsBindLR)
29import qualified + Data.List as L hiding (span)
30import Data.Maybe (fromMaybe, mapMaybe)
31import GHC.Hs.Extension (GhcRn)
32import GHC.Types.SrcLoc
33 ( SrcSpan(..) -- 关键:带入 RealSrcSpan/UnhelpfulSpan + 构造子
34 , RealSrcSpan
35 , srcSpanStartLine
36 , srcSpanStartCol
37 )
38import qualified + Data.Set as S
39import GHC.Hs.Utils (collectHsBindBinders, CollectFlag(..))
40import qualified + Data.Text as T
41import GHC.Driver.Env(hsc_unit_env, HscEnv)
42import GHC.Unit.Env (ue_units)
43import qualified + Data.Text.Encoding as TE
44import GHC.Types.Unique.DFM ( eltsUDFM )
45import Data.Text.Lazy (toStrict)
46import Documentation.Haddock.Types (DocH)
47import GHC.Utils.Outputable (showSDocUnsafe)
48import GHC.Driver.Session
49 ( DynFlags
50 , targetPlatform )
51import GHC
52 ( GenLocated(..)
53 , pprParenSymName
54 , ModSummary
55 , locA
56 , getLocA
57 , ModuleInfo
58 , ModuleName
59 , SrcSpan
60 , TyThing(..)
61 , Type
62 , TypecheckedModule
63 , getLoc
64 , isGoodSrcSpan
65 , modInfoExportsWithSelectors
66 , modInfoInstances
67 , moduleInfo
68 , moduleNameString
69 , ms_hspp_buf
70 , ms_mod
71 , renamedSource
72 , tm_internals_
73 , tm_typechecked_source
74 , unLoc
75 )
76import GHC.Core.Type(expandTypeSynonyms)
77import GHC.Core.TyCon (isFamInstTyCon,tyConName)
78import HaskellCodeExplorer.AST.RenamedSource
79import HaskellCodeExplorer.AST.TypecheckedSource
80import HaskellCodeExplorer.GhcUtils
81import HaskellCodeExplorer.Preprocessor (createSourceCodeTransformation)
82import qualified + HaskellCodeExplorer.Types as HCE
83import GHC.Hs.Binds (HsBindLR)
84import GHC.Hs.Decls
85 ( ForeignDecl(..)
86 , HsDecl(..)
87 , LForeignDecl(..)
88 , LInstDecl(..)
89 , LTyClDecl(..)
90 , LHsDecl
91 , HsGroup(..)
92 , InstDecl
93 , TyClDecl
94 , InstDecl(..)
95 , group_tyclds
96 , tyClDeclLName
97 , tcdName
98 , hsGroupInstDecls
99 )
100import + GHC.Hs.Doc
101 ( HsDocString
102 , LHsDoc(..)
103 , WithHsDocIdentifiers(..) )
104import + GHC.Hs.ImpExp (IE(..), ImportDecl(..), ideclImplicit)
105import + GHC.Hs.Utils(collectHsBindBinders)
106import + GHC.Unit.External
107 ( ExternalPackageState
108 , eps_PTE
109 , eps_inst_env)
110import + GHC.Unit.Home.ModInfo
111 ( HomePackageTable
112 , hm_details)
113import + GHC.Unit.Module.ModDetails
114 ( md_types )
115import + GHC.Types.TypeEnv
116 ( TypeEnv
117 , mkTypeEnv
118 , typeEnvElts )
119import + GHC.Core.InstEnv (InstEnvs(..), is_dfun)
120import + GHC.Unit.Module(Module(..), moduleName)
121import + GHC.Types.Name (Name, OccName, getSrcSpan, nameOccName, nameSrcSpan, nameUnique)
122import + Prelude hiding(id,span)
123import + GHC.Types.Name.Reader(GlobalRdrEnv)
124import + GHC.Types.SrcLoc (isOneLineSpan, RealSrcSpan(..), srcSpanStartLine, srcSpanStartCol)
125import + GHC.Tc.Types (tcVisibleOrphanMods, tcg_inst_env, tcg_rdr_env, tcg_type_env)
126import qualified + Text.Blaze.Html5 as H
127import qualified + Text.Blaze.Html5.Attributes as A
128import + GHC.Types.Unique (getKey)
129import + GHC.Types.Var (varName, varType,Id)
130import + GHC.Types.Var.Env (emptyTidyEnv)
131
132type ModuleDependencies
133 = ( HM.HashMap HCE.HaskellFilePath HCE.HaskellModulePath
134 , HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap
135 , HM.HashMap HCE.HaskellModuleName (HM.HashMap HCE.ComponentId HCE.HaskellModulePath))
136
137type ModuleGhcData
138 = ( DynFlags
139 , TypecheckedModule
140 , HomePackageTable
141 , ExternalPackageState
142 , ModSummary)
143
144createModuleInfo ::
145 ModuleDependencies -- ^ Modules that have + already been indexed
146 -> + ModuleGhcData -- ^ Data types + from GHC
147 -> + HCE.HaskellModulePath -- ^ + Current module path
148 -> + HCE.PackageId -- ^ Current + package id
149 -> + HCE.ComponentId -- ^ Current + build component id
150 -> + (T.Text, HCE.SourceCodePreprocessing) -- ^ Source + code
151 -> + HscEnv
152 -> + (HCE.ModuleInfo, ModuleDependencies, [TypeError])
153createModuleInfo (fileMap, defSiteMap, + moduleNameMap) (flags, typecheckedModule, homePackageTable, externalPackageState, modSum) modulePath + currentPackageId compId (originalSourceCode, sourceCodePreprocessing) hscEnv=
154 let globalRdrEnv = tcg_rdr_env . fst . + tm_internals_ $ + typecheckedModule
155 modInfo = moduleInfo typecheckedModule
156 (Just (hsGroup, + _, _, _, _)) = renamedSource typecheckedModule
157 exportedNamesSet = S.fromList $ modInfoExportsWithSelectors modInfo
158 + --------------------------------------------------------------------------------
159 -- Preprocessed + source
160 + --------------------------------------------------------------------------------
161 (transformation, + sourceCode') =
162 prepareSourceCode
163 sourceCodePreprocessing
164 originalSourceCode
165 modSum
166 modulePath
167 includedFiles = HM.keys $ HCE.fileIndex transformation
168 + --------------------------------------------------------------------------------
169 -- Type + environment
170 + --------------------------------------------------------------------------------
171 (tcGblEnv, _) = + tm_internals_ typecheckedModule
172 currentModuleTyThings = typeEnvElts $ tcg_type_env tcGblEnv
173 homePackageTyThings =
174 concatMap (typeEnvElts . md_types . hm_details) $ +
175 eltsUDFM homePackageTable
176 externalPackagesTyThings = typeEnvElts $ eps_PTE externalPackageState
177 typeEnv =
178 mkTypeEnv
179 (currentModuleTyThings ++
180 homePackageTyThings ++ externalPackagesTyThings)
181 + --------------------------------------------------------------------------------
182 -- Exported + entities
183 + --------------------------------------------------------------------------------
184 dataFamTyCons =
185 mapMaybe
186 (\\case +
187 ATyCon tc +
188 | isFamInstTyCon tc -> Just $ tyConName tc +
189 _ -> + Nothing)
190 currentModuleTyThings
191 (defSites, + allNames) =
192 createDefinitionSiteMap
193 unitState
194 flags
195 currentPackageId
196 compId
197 defSiteMap
198 fileMap
199 globalRdrEnv
200 transformation
201 modInfo
202 dataFamTyCons
203 hsGroup
204 + --------------------------------------------------------------------------------
205 -- Instance + environment
206 + --------------------------------------------------------------------------------
207 homeInstEnv = tcg_inst_env tcGblEnv
208 visOrphanModules = tcVisibleOrphanMods tcGblEnv
209 packageInstEnv = eps_inst_env externalPackageState
210 instEnv = InstEnvs packageInstEnv homeInstEnv visOrphanModules
211 + --------------------------------------------------------------------------------
212 declarations =
213 createDeclarations flags hsGroup typeEnv exportedNamesSet transformation
214 unitState = ue_units (hsc_unit_env hscEnv)
215 environment =
216 Environment
217 { envDynFlags = flags
218 , envInstEnv = instEnv
219 , envTypeEnv = typeEnv
220 , envTransformation = transformation
221 , envCurrentModuleDefSites = defSites
222 , envFileMap = fileMap
223 , envDefSiteMap = defSiteMap
224 , envModuleNameMap = moduleNameMap
225 , envPackageId = currentPackageId
226 , envComponentId = compId
227 , envExportedNames = exportedNamesSet
228 , envUnitState = unitState
229 }
230 externalIds =
231 L.foldl'
232 (\\acc name + ->
233 maybe
234 acc
235 (\\id -> + (HCE.ExternalIdentifierInfo + $ mkIdentifierInfo environment id (Just name)) : acc)
236 (lookupIdInTypeEnv typeEnv name))
237 []
238 allNames
239 currentModuleName =
240 HCE.HaskellModuleName . T.pack
241 . moduleNameString . moduleName . ms_mod
242 $ modSum
243 -- + currentModuleName =
244 -- (\\(Module _ + name) ->
245 -- + HCE.HaskellModuleName . T.pack . moduleNameString $ name) .
246 -- ms_mod + $
247 -- modSum +
248 SourceInfo + {..} = foldAST unitState environment typecheckedModule
249 in (tidyInternalIds HCE.ModuleInfo
250 { id = modulePath
251 , transformation = transformation
252 , name = currentModuleName
253 , declarations = declarations
254 , exprInfoMap = sourceInfoExprMap
255 , idInfoMap = sourceInfoIdMap
256 , idOccMap = sourceInfoIdOccMap
257 , definitionSiteMap = defSites
258 , source = V.fromList . T.splitOn "\\n" $ sourceCode'
259 , externalIds = externalIds
260 }
261 , if + not $ isHsBoot modulePath
262 then + (HM.union
263 (HM.fromList . +
264 (( HCE.HaskellFilePath $ HCE.getHaskellModulePath modulePath
265 , modulePath) :) .
266 map (, modulePath) $ +
267 includedFiles)
268 fileMap
269 , HM.union (HM.singleton modulePath defSites) defSiteMap
270 , HM.insertWith HM.union currentModuleName
271 (HM.singleton compId modulePath) moduleNameMap)
272 else + (fileMap, defSiteMap, moduleNameMap)
273 , sourceInfoTypeErrors)
274
275data SourceInfo = SourceInfo
276 { sourceInfoExprMap :: HCE.ExpressionInfoMap
277 , sourceInfoIdMap :: HCE.IdentifierInfoMap
278 , sourceInfoIdOccMap :: HCE.IdentifierOccurrenceMap
279 , sourceInfoTypeErrors :: [TypeError]
280 } deriving + (Show, Eq)
281
282tidyInternalIds :: HCE.ModuleInfo -> HCE.ModuleInfo
283tidyInternalIds modInfo = evalState (U.transformBiM tidy modInfo) (HM.empty, 0)
284 where
285 tidy ::
286 HCE.InternalId -> State (HM.HashMap T.Text T.Text, Int) HCE.InternalId
287 tidy (HCE.InternalId text) = do
288 (hmap, number) + <- get
289 case + HM.lookup text hmap of
290 Just val -> + return $ HCE.InternalId val
291 Nothing -> + do
292 let nextInternalId = T.pack . show $ + number
293 put (HM.insert text nextInternalId hmap, number + 1)
294 return $ HCE.InternalId nextInternalId
295
296prepareSourceCode ::
297 HCE.SourceCodePreprocessing
298 -> + T.Text
299 -> + ModSummary
300 -> + HCE.HaskellModulePath
301 -> + (HCE.SourceCodeTransformation, + T.Text)
302prepareSourceCode sourceCodePreprocessing + originalSourceCode modSum modulePath =
303 let sourceCodeAfterPreprocessing =
304 case + TE.decodeUtf8' + $
305 maybe
306 (error "ms_hspp_buf is + Nothing")
307 stringBufferToByteString
308 (ms_hspp_buf + modSum) of
309 Right text -> + T.replace "\\t" + " " text
310 Left err + ->
311 error $ +
312 + "decodeUtf8' : " ++ + show err ++ " , file : " ++ show modulePath
313 in case + sourceCodePreprocessing + of
314 + HCE.BeforePreprocessing ->
315 let sourceCodeLines = T.splitOn "\\n" originalSourceCode
316 in ( + HCE.SourceCodeTransformation
317 (length sourceCodeLines)
318 modulePath
319 S.empty
320 HM.empty
321 , originalSourceCode)
322 + HCE.AfterPreprocessing ->
323 createSourceCodeTransformation
324 modulePath
325 originalSourceCode
326 sourceCodeAfterPreprocessing
327
328createDefinitionSiteMap ::
329 UnitState
330 -> + DynFlags
331 -> + HCE.PackageId
332 -> + HCE.ComponentId
333 -> + HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap
334 -> + HM.HashMap HCE.HaskellFilePath HCE.HaskellModulePath
335 -> + GlobalRdrEnv
336 -> + HCE.SourceCodeTransformation
337 -> + ModuleInfo
338 -> + [Name]
339 -> + HsGroup GhcRn +
340 -> + (HCE.DefinitionSiteMap, + [Name])
341createDefinitionSiteMap unitState flags + currentPackageId compId defSiteMap fileMap globalRdrEnv transformation modInfo dataFamTyCons hsGroup = +
342 let
343 + --------------------------------------------------------------------------------
344 -- Collect + declarations
345 + --------------------------------------------------------------------------------
346 allDecls :: [LHsDecl GhcRn]
347 allDecls =
348 L.sortOn
349 (\\d -> case + locA (getLocA d) of
350 RealSrcSpan r _ + -> (srcSpanStartLine r, srcSpanStartCol r)
351 _ -> + (maxBound :: Int, maxBound :: Int))
352 (ungroup hsGroup)
353
354 + (instanceDeclsWithDocs, valueAndTypeDeclsWithDocs) =
355 L.partition
356 (\\(L _ decl, _) + ->
357 case + decl of
358 InstD {} -> + True
359 _ -> + False)
360 (collectDocs allDecls)
361
362 + --------------------------------------------------------------------------------
363 -- + Instances
364 + --------------------------------------------------------------------------------
365 instanceDocMap :: M.Map RealSrcSpan [LHsDoc GhcRn]
366 instanceDocMap =
367 M.fromList $ +
368 mapMaybe
369 (\\(L nSpan + decl, docs) ->
370 case + decl of
371 InstD _ + (ClsInstD _ _inst) ->
372 case + locA nSpan of
373 RealSrcSpan r _ + -> Just (r, docs)
374 _ -> + Nothing
375 _ -> + Nothing)
376 instanceDeclsWithDocs
377
378 nameLocation :: Maybe SrcSpan -> Name -> HCE.LocationInfo
379 nameLocation mbSrcSpan name =
380 nameLocationInfo
381 unitState
382 flags
383 currentPackageId
384 compId
385 transformation
386 fileMap
387 defSiteMap
388 Nothing
389 Nothing
390 name
391
392 docHToHtml :: DocH (ModuleName, OccName) Name -> HCE.HTML
393 docHToHtml =
394 docWithNamesToHtml
395 unitState
396 flags
397 currentPackageId
398 compId
399 transformation
400 fileMap
401 defSiteMap
402
403 instancesWithDocumentation =
404 HM.fromList $ +
405 map
406 (\\clsInst + ->
407 ( instanceToText flags clsInst
408 , let + location = nameLocation Nothing (varName . is_dfun $ clsInst)
409 in case + getSrcSpan clsInst of
410 RealSrcSpan r _ + ->
411 case + M.lookup r instanceDocMap of
412 Just hsDocs + ->
413 let hsDocStrings = [ s | L _ (WithHsDocIdentifiers s _) <- + hsDocs ]
414 doc = hsDocsToDocH unitState flags globalRdrEnv hsDocStrings
415 in HCE.DefinitionSite location (Just (docHToHtml doc))
416 Nothing -> + HCE.DefinitionSite + location Nothing
417 _ -> + HCE.DefinitionSite + location Nothing
418 ))
419 (modInfoInstances modInfo)
420
421 + --------------------------------------------------------------------------------
422 -- Values and + types
423 + --------------------------------------------------------------------------------
424 mainDeclNamesWithDocumentation =
425 concatMap
426 (\\(L spanA + decl, docs) -> map + (, docs, locA spanA) $ getMainDeclBinder decl)
427 valueAndTypeDeclsWithDocs
428
429 dataFamTyConsWithoutDocs =
430 map (\\name -> (name, [], nameSrcSpan name)) dataFamTyCons
431
432 allDeclsSrc :: [GenLocated SrcSpan (HsDecl GhcRn)]
433 allDeclsSrc = map (\\(L la d) -> L (locA la) + d) allDecls
434
435 allNamesWithDocumentation =
436 mainDeclNamesWithDocumentation
437 ++ subordinateNamesWithDocs allDeclsSrc
438 ++ dataFamTyConsWithoutDocs
439
440 + (valuesWithDocumentation, typesWithDocumentation) =
441 L.partition
442 (\\(name, _, _) + ->
443 case + occNameNameSpace . nameOccName $ + name of
444 HCE.VarName + -> True
445 HCE.DataName + -> True
446 _ -> + False)
447 allNamesWithDocumentation
448
449 toHashMap ::
450 [(Name, [LHsDoc GhcRn], SrcSpan)]
451 -> + HM.HashMap HCE.OccName HCE.DefinitionSite
452 toHashMap =
453 HM.fromListWith
454 + (\\(HCE.DefinitionSite loc newDoc) (HCE.DefinitionSite _ oldDoc) ->
455 HCE.DefinitionSite loc (mappend newDoc oldDoc)) . +
456 map
457 (\\(name, docs, + srcSpan) ->
458 let location = nameLocation (Just srcSpan) name +
459 htmlDoc =
460 if not (null docs)
461 then let + hsDocStrings = [ s | L _ (WithHsDocIdentifiers s _) <- + docs ]
462 doc = hsDocsToDocH unitState flags globalRdrEnv hsDocStrings
463 in Just (docHToHtml doc)
464 else + Nothing
465 in (HCE.OccName $ toText name, + HCE.DefinitionSite + location htmlDoc))
466
467
468 in ( HCE.DefinitionSiteMap
469 { HCE.values = toHashMap valuesWithDocumentation
470 , HCE.types = toHashMap (typesWithDocumentation ++ dataFamTyConsWithoutDocs)
471 , HCE.instances = instancesWithDocumentation
472 }
473 , map (\\(n, _, _) -> n) allNamesWithDocumentation
474 )
475
476
477occNameToHtml ::
478 DynFlags
479 -> + HCE.PackageId
480 -> + HCE.ComponentId
481 -> + (ModuleName, OccName)
482 -> + H.Html
483occNameToHtml flags packageId compId (modName, + occName) =
484 let location =
485 H.textValue . toStrict . + encodeToLazyText . Aeson.toJSON $ +
486 occNameLocationInfo flags packageId compId (modName, occName)
487 in (H.span H.! H.dataAttribute "location" + location) H.! A.class_ "link" $
488 H.toHtml (toText occName)
489
490nameToHtml ::
491 UnitState
492 -> + DynFlags
493 -> + HCE.PackageId
494 -> + HCE.ComponentId
495 -> + HCE.SourceCodeTransformation
496 -> + HM.HashMap HCE.HaskellFilePath HCE.HaskellModulePath
497 -> + HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap
498 -> + Name
499 -> + H.Html
500nameToHtml unitState flags packageId compId transformation files defSiteMap name + =
501 let location =
502 H.textValue . toStrict . + encodeToLazyText . Aeson.toJSON $ +
503 nameLocationInfo
504 unitState
505 flags
506 packageId
507 compId
508 transformation
509 files
510 defSiteMap
511 Nothing
512 Nothing
513 name
514 in H.span H.! H.dataAttribute "location" + location H.! A.class_ "link" $
515 H.toHtml (nameToText name)
516
517docWithNamesToHtml ::
518 UnitState
519 -> + DynFlags
520 -> + HCE.PackageId
521 -> + HCE.ComponentId
522 -> + HCE.SourceCodeTransformation
523 -> + HM.HashMap HCE.HaskellFilePath HCE.HaskellModulePath
524 -> + HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap
525 -> + DocH (ModuleName, OccName) Name +
526 -> + HCE.HTML
527docWithNamesToHtml unitState flags packageId + compId transformation fileMap defSiteMap =
528 HCE.docToHtml
529 (occNameToHtml flags packageId compId)
530 (nameToHtml unitState flags packageId compId transformation fileMap defSiteMap)
531
532createDeclarations ::
533 DynFlags
534 -> + HsGroup GhcRn +
535 -> + TypeEnv
536 -> + S.Set Name
537 -> + HCE.SourceCodeTransformation
538 -> + [HCE.Declaration]
539createDeclarations flags hsGroup typeEnv + exportedSet transformation =
540 let lineNumber :: SrcSpan -> Int +
541 lineNumber srcSpan =
542 case + srcSpanToLineAndColNumbers + transformation srcSpan of
543 Just + (_file,(lineNum, _), (_, _)) -> lineNum
544 Nothing -> + 1
545 nameType :: Name -> Maybe HCE.Type
546 nameType n =
547 case + lookupIdInTypeEnv + typeEnv n of
548 Just i -> + Just . mkType . + varType $ i
549 Nothing -> + Nothing
550 valToDeclarations :: LHsBindLR GhcRn GhcRn -> [HCE.Declaration]
551 valToDeclarations (L locAnn bind) =
552 let
553 names :: [Name]
554 names = collectHsBindBinders CollNoDictBinders bind
555 loc :: SrcSpan
556 loc = locA locAnn
557 in
558 map
559 (\\name + ->
560 HCE.Declaration
561 HCE.ValD
562 (toText name)
563 (nameType name)
564 (S.member name exportedSet)
565 (lineNumber loc))
566 names
567 vals = concatMap valToDeclarations $ hsGroupVals hsGroup
568 -- | Data, + newtype, type, type family, data family or class declaration
569 + --------------------------------------------------------------------------------
570 tyClToDeclaration :: LTyClDecl GhcRn -> HCE.Declaration
571 tyClToDeclaration (L locA' tyClDecl) + =
572 HCE.Declaration
573 HCE.TyClD
574 (T.append (tyClDeclPrefix tyClDecl) (toText $ tcdName tyClDecl))
575 (nameType $ tcdName tyClDecl)
576 (S.member (unLoc $ tyClDeclLName tyClDecl) exportedSet)
577 (lineNumber (locA locA'))
578 tyclds =
579 map tyClToDeclaration
580 . filter (isGoodSrcSpan . + locA . getLocA)
581 . concatMap group_tyclds . hs_tyclds
582 $ hsGroup
583 -- | + Instances
584 + --------------------------------------------------------------------------------
585 instToDeclaration :: LInstDecl GhcRn -> HCE.Declaration
586 instToDeclaration (L locA' inst) = +
587 HCE.Declaration
588 HCE.InstD
589 (instanceDeclToText flags inst)
590 Nothing
591 True
592 (lineNumber (locA locA'))
593 insts =
594 map instToDeclaration
595 . filter (isGoodSrcSpan . + locA . getLoc)
596 . hsGroupInstDecls +
597 $ hsGroup
598 -- | Foreign + functions
599 + --------------------------------------------------------------------------------
600 foreignFunToDeclaration ::
601 LForeignDecl GhcRn -> HCE.Declaration
602 foreignFunToDeclaration (L locA' fd) + =
603 let name = unLoc $ fd_name fd +
604 in HCE.Declaration
605 HCE.ForD
606 (toText name)
607 (nameType name)
608 True
609 (lineNumber (locA locA'))
610 fords = map foreignFunToDeclaration $ hs_fords hsGroup
611 + --------------------------------------------------------------------------------
612 in L.sortOn HCE.lineNumber $ vals ++ + tyclds ++ insts ++ + fords
613
614foldAST :: UnitState -> Environment -> TypecheckedModule -> SourceInfo
615foldAST unitState environment typecheckedModule =
616 let (Just + renamed@(_hsGroupRn, + importDecls, mbExported, _mbTopDoc, _mbModuleName)) =
617 renamedSource typecheckedModule
618 emptyASTState =
619 ASTState IVM.empty IM.empty M.empty emptyTidyEnv Nothing environment [] +
620 ASTState + {..} =
621 execState
622 (foldTypecheckedSource $ tm_typechecked_source typecheckedModule)
623 emptyASTState
624 (idInfoMap, + idOccMap) =
625 L.foldl'
626 (addIdentifierToMaps environment astStateIdSrcSpanMap)
627 (HM.empty, astStateIdOccMap)
628 (namesFromRenamedSource renamed)
629 flags = envDynFlags environment
630 packageId = envPackageId environment
631 compId = envComponentId environment
632 importedModules =
633 map
634 ((\\(L ann + modName) ->
635 ( modName
636 , locA ann +
637 , moduleLocationInfo
638 unitState
639 flags
640 + (envModuleNameMap environment)
641 packageId
642 compId
643 modName)) . +
644 ideclName + . unLoc) . +
645 filter (not . (ideclImplicit . ideclExt . unLoc)) $
646 importDecls
647 exportedModules =
648 case + mbExported of
649 Just lieNames + ->
650 mapMaybe
651 (\\(L ann ie, _) + ->
652 case + ie of
653 IEModuleContents + _ (L _ modName) ->
654 Just
655 ( modName
656 , locA ann +
657 , moduleLocationInfo
658 unitState
659 flags
660 + (envModuleNameMap environment)
661 packageId
662 compId
663 modName)
664 _ -> + Nothing)
665 lieNames
666 Nothing -> + []
667 addImportedAndExportedModulesToIdOccMap + ::
668 HCE.IdentifierOccurrenceMap -> HCE.IdentifierOccurrenceMap
669 addImportedAndExportedModulesToIdOccMap + =
670 IM.map (L.sortOn fst) . +
671 addModules
672 + (envTransformation environment)
673 (importedModules ++ exportedModules)
674 in SourceInfo
675 { sourceInfoExprMap = astStateExprInfoMap
676 , sourceInfoIdMap = idInfoMap
677 , sourceInfoIdOccMap = addImportedAndExportedModulesToIdOccMap + idOccMap
678 , sourceInfoTypeErrors = astStateTypeErrors
679 }
680
681-- | Updates + 'IdentifierOccurrenceMap' and 'IdentifierInfoMap' using information
682-- from + typechecked source and renamed source
683addIdentifierToMaps ::
684 Environment
685 -> + M.Map RealSrcSpan (Id, Maybe (Type, [Type]))
686 -> + (HCE.IdentifierInfoMap, + HCE.IdentifierOccurrenceMap)
687 -> + NameOccurrence
688 -> + (HCE.IdentifierInfoMap, + HCE.IdentifierOccurrenceMap)
689addIdentifierToMaps environment idSrcSpanMap + idMaps@(idInfoMap, idOccMap) + nameOcc
690 | isGoodSrcSpan (getLoc $ locatedName nameOcc) &&
691 isOneLineSpan (getLoc $ locatedName nameOcc)
692 , Just (_, + (lineNumber, startCol), (_, endCol)) <-
693 srcSpanToLineAndColNumbers (envTransformation + environment) .
694 getLoc . locatedName $ +
695 nameOcc =
696 case + nameOcc of
697 TyLitOccurrence + {kind = kind} -> +
698 addNameToMaps
699 environment
700 idMaps
701 (Just kind)
702 Nothing
703 (description + nameOcc)
704 lineNumber
705 startCol
706 endCol
707 NameOccurrence + {isBinder = isBinder} + ->
708 case + lookupIdByNameOccurrence + environment idSrcSpanMap nameOcc of
709 Just + (identifier, mbTypes) ->
710 let name =
711 fromMaybe
712 (varName + identifier)
713 (unLoc $ locatedName nameOcc)
714 identifierType = varType identifier
715 identifierTypeExpanded = expandTypeSynonyms identifierType
716 tyConsAndTyVars =
717 map
718 (, Nothing)
719 (tyConsOfType identifierType ++
720 tyVarsOfType identifierType ++
721 tyConsOfType identifierTypeExpanded ++
722 tyVarsOfType identifierTypeExpanded ++
723 maybe [] (tyConsOfType . fst) mbTypes ++
724 maybe [] (tyVarsOfType . fst) mbTypes)
725 idInfoMap' =
726 updateIdMap
727 environment
728 ((identifier, unLoc $ locatedName nameOcc) : tyConsAndTyVars)
729 idInfoMap
730 idOcc =
731 mkIdentifierOccurrence
732 environment
733 identifier
734 name
735 mbTypes
736 isBinder
737 (description + nameOcc)
738 idOccMap' =
739 IM.insertWith
740 removeOverlappingInterval
741 lineNumber
742 [((startCol, endCol), idOcc)]
743 idOccMap
744 in (idInfoMap', idOccMap')
745 Nothing -- type + variable or an internal identifier in a pattern synonym
746 -> +
747 case + unLoc $ locatedName nameOcc of
748 Just name + ->
749 addNameToMaps
750 environment
751 idMaps
752 Nothing
753 (Just name)
754 (description + nameOcc)
755 lineNumber
756 startCol
757 endCol
758 Nothing -> + idMaps
759addIdentifierToMaps _ _ idMaps _ = idMaps
760
761addNameToMaps ::
762 Environment
763 -> + (HCE.IdentifierInfoMap, + HCE.IdentifierOccurrenceMap)
764 -> + Maybe Type
765 -> + Maybe Name
766 -> + T.Text
767 -> + Int
768 -> + Int
769 -> + Int
770 -> + (HCE.IdentifierInfoMap, + HCE.IdentifierOccurrenceMap)
771addNameToMaps environment (idInfoMap, idOccMap) + mbKind mbName descr lineNumber colStart colEnd =
772 let flags = envDynFlags environment
773 idInfoMap' =
774 maybe
775 idInfoMap
776 (\\kind + ->
777 updateIdMap
778 environment
779 (map (, Nothing) $ tyConsOfType kind ++ tyVarsOfType kind)
780 idInfoMap)
781 mbKind
782 idOcc =
783 HCE.IdentifierOccurrence
784 { internalId = fmap (HCE.InternalId . nameKey) mbName
785 , internalIdFromRenamedSource =
786 HCE.InternalId . T.pack . + show . getKey . + nameUnique <$> mbName
787 , isBinder = False
788 , instanceResolution = Nothing
789 , idOccType = mkType <$> mbKind
790 , typeArguments = Nothing
791 , description = descr
792 , sort =
793 maybe
794 HCE.TypeId
795 (\\name + ->
796 case + occNameNameSpace . nameOccName $ + name of
797 HCE.VarName + -> HCE.ValueId
798 HCE.DataName + -> HCE.ValueId
799 _ -> + HCE.TypeId)
800 mbName
801 }
802 idOccMap' =
803 IM.insertWith
804 removeOverlappingInterval
805 lineNumber
806 [((colStart, colEnd), idOcc)]
807 idOccMap
808 in (idInfoMap', idOccMap')
809
810lookupIdByNameOccurrence ::
811 Environment
812 -> + M.Map RealSrcSpan (Id, Maybe (Type, [Type]))
813 -> + NameOccurrence
814 -> + Maybe (Id, Maybe (Type, [Type]))
815lookupIdByNameOccurrence environment + idSrcSpanMap (NameOccurrence (L span mbName) _ _) =
816 case lookupBySrcSpan span of
817 Just hit -> + Just hit
818 Nothing + ->
819 case + mbName of
820 Just name + ->
821 case + lookupBySrcSpan (nameSrcSpan name) of
822 Just hit -> + Just hit -- LHS of a Match 等
823 Nothing + ->
824 -- 不在 + typechecked 源里的名字,退回 TypeEnv
825 case + lookupIdInTypeEnv (envTypeEnv + environment) name of
826 Just t -> + Just (t, Nothing)
827 Nothing -> + Nothing
828 Nothing -> + Nothing
829 where
830 lookupBySrcSpan :: SrcSpan -> Maybe (Id, Maybe (Type, [Type]))
831 lookupBySrcSpan s =
832 case + s of
833 RealSrcSpan real + _ -> M.lookup real idSrcSpanMap
834 _ -> + Nothing
835lookupIdByNameOccurrence _ _ TyLitOccurrence{} + = Nothing
836
837updateIdMap ::
838 Environment
839 -> + [(Id, Maybe Name)]
840 -> + HCE.IdentifierInfoMap
841 -> + HCE.IdentifierInfoMap
842updateIdMap environment ids identifiersMap =
843 let flags = envDynFlags environment
844 update ::
845 HCE.IdentifierInfoMap -> (Id, Maybe Name) -> HCE.IdentifierInfoMap
846 update idMap (identifier, mbName) =
847 let info = mkIdentifierInfo environment identifier mbName
848 in HM.insertWith
849 (flip const)
850 (HCE.InternalId $ identifierKey flags identifier)
851 info
852 idMap
853 in L.foldl' update identifiersMap ids
854
855addModules ::
856 HCE.SourceCodeTransformation
857 -> + [(ModuleName, SrcSpan, HCE.LocationInfo)]
858 -> + HCE.IdentifierOccurrenceMap
859 -> + HCE.IdentifierOccurrenceMap
860addModules transformation modules idMap =
861 let update ::
862 IM.IntMap [((Int, Int), HCE.IdentifierOccurrence)]
863 -> + (a, SrcSpan, HCE.LocationInfo)
864 -> + IM.IntMap [((Int, Int), HCE.IdentifierOccurrence)]
865 update idOccMap (_modInfo, span, + locInfo)
866 | Just + (_file,(lineNumber, colStart), (_, colEnd)) <-
867 srcSpanToLineAndColNumbers transformation span =
868 let idOcc =
869 HCE.IdentifierOccurrence
870 { internalId = Nothing
871 , internalIdFromRenamedSource = Nothing
872 , isBinder = False
873 , instanceResolution = Nothing
874 , idOccType = Nothing
875 , typeArguments = Nothing
876 , description = "ImportDecl" +
877 , sort = HCE.ModuleId locInfo
878 }
879 in IM.insertWith
880 removeOverlappingInterval
881 lineNumber
882 [((colStart, colEnd), idOcc)]
883 idOccMap
884 update idOccMap _ = idOccMap
885 in L.foldl' update idMap modules
886
\ No newline at end of file diff --git a/example/ModuleInfo.RelativePath.html b/example/ModuleInfo.RelativePath.html new file mode 100644 index 0000000..bc91cf7 --- /dev/null +++ b/example/ModuleInfo.RelativePath.html @@ -0,0 +1,6621 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
1{-# LANGUAGE CPP + #-}
2{-# LANGUAGE + TupleSections #-}
3{-# LANGUAGE + LambdaCase #-}
4{-# LANGUAGE + RecordWildCards #-}
5{-# LANGUAGE + NamedFieldPuns #-}
6{-# LANGUAGE + DuplicateRecordFields #-}
7{-# LANGUAGE + ScopedTypeVariables #-}
8{-# LANGUAGE + OverloadedStrings #-}
9{-# LANGUAGE + FlexibleContexts #-}
10{-# LANGUAGE + StrictData #-}
11{-# LANGUAGE + TypeApplications #-}
12
13module + HaskellCodeExplorer.ModuleInfo
14 ( createModuleInfo
15 , ModuleDependencies
16 ) where +
17
18import qualified + Data.Generics.Uniplate.Data as U
19import GHC.Unit.State (UnitState)
20import Control.Monad.State.Strict (execState,evalState,get,put,State)
21import qualified + Data.Aeson as Aeson
22import Data.Aeson.Text(encodeToLazyText)
23import qualified + Data.Vector as V
24import qualified + Data.HashMap.Strict as HM
25import qualified + Data.Map.Strict as M
26import qualified + Data.IntMap.Strict as IM
27import qualified + Data.IntervalMap.Strict as IVM
28import GHC.Hs.Binds (HsBindLR, LHsBindLR)
29import qualified + Data.List as L hiding (span)
30import Data.Maybe (fromMaybe, mapMaybe)
31import GHC.Hs.Extension (GhcRn)
32import GHC.Types.SrcLoc
33 ( SrcSpan(..) -- 关键:带入 RealSrcSpan/UnhelpfulSpan + 构造子
34 , RealSrcSpan
35 , srcSpanStartLine
36 , srcSpanStartCol
37 )
38import qualified + Data.Set as S
39import GHC.Hs.Utils (collectHsBindBinders, CollectFlag(..))
40import qualified + Data.Text as T
41import GHC.Driver.Env(hsc_unit_env, HscEnv)
42import GHC.Unit.Env (ue_units)
43import qualified + Data.Text.Encoding as TE
44import GHC.Types.Unique.DFM ( eltsUDFM )
45import Data.Text.Lazy (toStrict)
46import Documentation.Haddock.Types (DocH)
47import GHC.Utils.Outputable (showSDocUnsafe)
48import GHC.Driver.Session
49 ( DynFlags
50 , targetPlatform )
51import GHC
52 ( GenLocated(..)
53 , pprParenSymName
54 , ModSummary
55 , locA
56 , getLocA
57 , ModuleInfo
58 , ModuleName
59 , SrcSpan
60 , TyThing(..)
61 , Type
62 , TypecheckedModule
63 , getLoc
64 , isGoodSrcSpan
65 , modInfoExportsWithSelectors
66 , modInfoInstances
67 , moduleInfo
68 , moduleNameString
69 , ms_hspp_buf
70 , ms_mod
71 , renamedSource
72 , tm_internals_
73 , tm_typechecked_source
74 , unLoc
75 )
76import GHC.Core.Type(expandTypeSynonyms)
77import GHC.Core.TyCon (isFamInstTyCon,tyConName)
78import HaskellCodeExplorer.AST.RenamedSource
79import HaskellCodeExplorer.AST.TypecheckedSource
80import HaskellCodeExplorer.GhcUtils
81import HaskellCodeExplorer.Preprocessor (createSourceCodeTransformation)
82import qualified + HaskellCodeExplorer.Types as HCE
83import GHC.Hs.Binds (HsBindLR)
84import GHC.Hs.Decls
85 ( ForeignDecl(..)
86 , HsDecl(..)
87 , LForeignDecl(..)
88 , LInstDecl(..)
89 , LTyClDecl(..)
90 , LHsDecl
91 , HsGroup(..)
92 , InstDecl
93 , TyClDecl
94 , InstDecl(..)
95 , group_tyclds
96 , tyClDeclLName
97 , tcdName
98 , hsGroupInstDecls
99 )
100import + GHC.Hs.Doc
101 ( HsDocString
102 , LHsDoc(..)
103 , WithHsDocIdentifiers(..) )
104import + GHC.Hs.ImpExp (IE(..), ImportDecl(..), ideclImplicit)
105import + GHC.Hs.Utils(collectHsBindBinders)
106import + GHC.Unit.External
107 ( ExternalPackageState
108 , eps_PTE
109 , eps_inst_env)
110import + GHC.Unit.Home.ModInfo
111 ( HomePackageTable
112 , hm_details)
113import + GHC.Unit.Module.ModDetails
114 ( md_types )
115import + GHC.Types.TypeEnv
116 ( TypeEnv
117 , mkTypeEnv
118 , typeEnvElts )
119import + GHC.Core.InstEnv (InstEnvs(..), is_dfun)
120import + GHC.Unit.Module(Module(..), moduleName)
121import + GHC.Types.Name (Name, OccName, getSrcSpan, nameOccName, nameSrcSpan, nameUnique)
122import + Prelude hiding(id,span)
123import + GHC.Types.Name.Reader(GlobalRdrEnv)
124import + GHC.Types.SrcLoc (isOneLineSpan, RealSrcSpan(..), srcSpanStartLine, srcSpanStartCol)
125import + GHC.Tc.Types (tcVisibleOrphanMods, tcg_inst_env, tcg_rdr_env, tcg_type_env)
126import qualified + Text.Blaze.Html5 as H
127import qualified + Text.Blaze.Html5.Attributes as A
128import + GHC.Types.Unique (getKey)
129import + GHC.Types.Var (varName, varType,Id)
130import + GHC.Types.Var.Env (emptyTidyEnv)
131
132type ModuleDependencies
133 = ( HM.HashMap HCE.HaskellFilePath HCE.HaskellModulePath
134 , HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap
135 , HM.HashMap HCE.HaskellModuleName (HM.HashMap HCE.ComponentId HCE.HaskellModulePath))
136
137type ModuleGhcData
138 = ( DynFlags
139 , TypecheckedModule
140 , HomePackageTable
141 , ExternalPackageState
142 , ModSummary)
143
144createModuleInfo ::
145 ModuleDependencies -- ^ Modules that have + already been indexed
146 -> + ModuleGhcData -- ^ Data types + from GHC
147 -> + HCE.HaskellModulePath -- ^ + Current module path
148 -> + HCE.PackageId -- ^ Current + package id
149 -> + HCE.ComponentId -- ^ Current + build component id
150 -> + (T.Text, HCE.SourceCodePreprocessing) -- ^ Source + code
151 -> + HscEnv
152 -> + (HCE.ModuleInfo, ModuleDependencies, [TypeError])
153createModuleInfo (fileMap, defSiteMap, + moduleNameMap) (flags, typecheckedModule, homePackageTable, externalPackageState, modSum) modulePath + currentPackageId compId (originalSourceCode, sourceCodePreprocessing) hscEnv=
154 let globalRdrEnv = tcg_rdr_env . fst . + tm_internals_ $ + typecheckedModule
155 modInfo = moduleInfo typecheckedModule
156 (Just (hsGroup, + _, _, _, _)) = renamedSource typecheckedModule
157 exportedNamesSet = S.fromList $ modInfoExportsWithSelectors modInfo
158 + --------------------------------------------------------------------------------
159 -- Preprocessed + source
160 + --------------------------------------------------------------------------------
161 (transformation, + sourceCode') =
162 prepareSourceCode
163 sourceCodePreprocessing
164 originalSourceCode
165 modSum
166 modulePath
167 includedFiles = HM.keys $ HCE.fileIndex transformation
168 + --------------------------------------------------------------------------------
169 -- Type + environment
170 + --------------------------------------------------------------------------------
171 (tcGblEnv, _) = + tm_internals_ typecheckedModule
172 currentModuleTyThings = typeEnvElts $ tcg_type_env tcGblEnv
173 homePackageTyThings =
174 concatMap (typeEnvElts . md_types . hm_details) $ +
175 eltsUDFM homePackageTable
176 externalPackagesTyThings = typeEnvElts $ eps_PTE externalPackageState
177 typeEnv =
178 mkTypeEnv
179 (currentModuleTyThings ++
180 homePackageTyThings ++ externalPackagesTyThings)
181 + --------------------------------------------------------------------------------
182 -- Exported + entities
183 + --------------------------------------------------------------------------------
184 dataFamTyCons =
185 mapMaybe
186 (\\case +
187 ATyCon tc +
188 | isFamInstTyCon tc -> Just $ tyConName tc +
189 _ -> + Nothing)
190 currentModuleTyThings
191 (defSites, + allNames) =
192 createDefinitionSiteMap
193 unitState
194 flags
195 currentPackageId
196 compId
197 defSiteMap
198 fileMap
199 globalRdrEnv
200 transformation
201 modInfo
202 dataFamTyCons
203 hsGroup
204 + --------------------------------------------------------------------------------
205 -- Instance + environment
206 + --------------------------------------------------------------------------------
207 homeInstEnv = tcg_inst_env tcGblEnv
208 visOrphanModules = tcVisibleOrphanMods tcGblEnv
209 packageInstEnv = eps_inst_env externalPackageState
210 instEnv = InstEnvs packageInstEnv homeInstEnv visOrphanModules
211 + --------------------------------------------------------------------------------
212 declarations =
213 createDeclarations flags hsGroup typeEnv exportedNamesSet transformation
214 unitState = ue_units (hsc_unit_env hscEnv)
215 environment =
216 Environment
217 { envDynFlags = flags
218 , envInstEnv = instEnv
219 , envTypeEnv = typeEnv
220 , envTransformation = transformation
221 , envCurrentModuleDefSites = defSites
222 , envFileMap = fileMap
223 , envDefSiteMap = defSiteMap
224 , envModuleNameMap = moduleNameMap
225 , envPackageId = currentPackageId
226 , envComponentId = compId
227 , envExportedNames = exportedNamesSet
228 , envUnitState = unitState
229 }
230 externalIds =
231 L.foldl'
232 (\\acc name + ->
233 maybe
234 acc
235 (\\id -> + (HCE.ExternalIdentifierInfo + $ mkIdentifierInfo environment id (Just name)) : acc)
236 (lookupIdInTypeEnv typeEnv name))
237 []
238 allNames
239 currentModuleName =
240 HCE.HaskellModuleName . T.pack
241 . moduleNameString . moduleName . ms_mod
242 $ modSum
243 -- + currentModuleName =
244 -- (\\(Module _ + name) ->
245 -- + HCE.HaskellModuleName . T.pack . moduleNameString $ name) .
246 -- ms_mod + $
247 -- modSum +
248 SourceInfo + {..} = foldAST unitState environment typecheckedModule
249 in (tidyInternalIds HCE.ModuleInfo
250 { id = modulePath
251 , transformation = transformation
252 , name = currentModuleName
253 , declarations = declarations
254 , exprInfoMap = sourceInfoExprMap
255 , idInfoMap = sourceInfoIdMap
256 , idOccMap = sourceInfoIdOccMap
257 , definitionSiteMap = defSites
258 , source = V.fromList . T.splitOn "\\n" $ sourceCode'
259 , externalIds = externalIds
260 }
261 , if + not $ isHsBoot modulePath
262 then + (HM.union
263 (HM.fromList . +
264 (( HCE.HaskellFilePath $ HCE.getHaskellModulePath modulePath
265 , modulePath) :) .
266 map (, modulePath) $ +
267 includedFiles)
268 fileMap
269 , HM.union (HM.singleton modulePath defSites) defSiteMap
270 , HM.insertWith HM.union currentModuleName
271 (HM.singleton compId modulePath) moduleNameMap)
272 else + (fileMap, defSiteMap, moduleNameMap)
273 , sourceInfoTypeErrors)
274
275data SourceInfo = SourceInfo
276 { sourceInfoExprMap :: HCE.ExpressionInfoMap
277 , sourceInfoIdMap :: HCE.IdentifierInfoMap
278 , sourceInfoIdOccMap :: HCE.IdentifierOccurrenceMap
279 , sourceInfoTypeErrors :: [TypeError]
280 } deriving + (Show, Eq)
281
282tidyInternalIds :: HCE.ModuleInfo -> HCE.ModuleInfo
283tidyInternalIds modInfo = evalState (U.transformBiM tidy modInfo) (HM.empty, 0)
284 where
285 tidy ::
286 HCE.InternalId -> State (HM.HashMap T.Text T.Text, Int) HCE.InternalId
287 tidy (HCE.InternalId text) = do
288 (hmap, number) + <- get
289 case + HM.lookup text hmap of
290 Just val -> + return $ HCE.InternalId val
291 Nothing -> + do
292 let nextInternalId = T.pack . show $ + number
293 put (HM.insert text nextInternalId hmap, number + 1)
294 return $ HCE.InternalId nextInternalId
295
296prepareSourceCode ::
297 HCE.SourceCodePreprocessing
298 -> + T.Text
299 -> + ModSummary
300 -> + HCE.HaskellModulePath
301 -> + (HCE.SourceCodeTransformation, + T.Text)
302prepareSourceCode sourceCodePreprocessing + originalSourceCode modSum modulePath =
303 let sourceCodeAfterPreprocessing =
304 case + TE.decodeUtf8' + $
305 maybe
306 (error "ms_hspp_buf is + Nothing")
307 stringBufferToByteString
308 (ms_hspp_buf + modSum) of
309 Right text -> + T.replace "\\t" + " " text
310 Left err + ->
311 error $ +
312 + "decodeUtf8' : " ++ + show err ++ " , file : " ++ show modulePath
313 in case + sourceCodePreprocessing + of
314 + HCE.BeforePreprocessing ->
315 let sourceCodeLines = T.splitOn "\\n" originalSourceCode
316 in ( + HCE.SourceCodeTransformation
317 (length sourceCodeLines)
318 modulePath
319 S.empty
320 HM.empty
321 , originalSourceCode)
322 + HCE.AfterPreprocessing ->
323 createSourceCodeTransformation
324 modulePath
325 originalSourceCode
326 sourceCodeAfterPreprocessing
327
328createDefinitionSiteMap ::
329 UnitState
330 -> + DynFlags
331 -> + HCE.PackageId
332 -> + HCE.ComponentId
333 -> + HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap
334 -> + HM.HashMap HCE.HaskellFilePath HCE.HaskellModulePath
335 -> + GlobalRdrEnv
336 -> + HCE.SourceCodeTransformation
337 -> + ModuleInfo
338 -> + [Name]
339 -> + HsGroup GhcRn +
340 -> + (HCE.DefinitionSiteMap, + [Name])
341createDefinitionSiteMap unitState flags + currentPackageId compId defSiteMap fileMap globalRdrEnv transformation modInfo dataFamTyCons hsGroup = +
342 let
343 + --------------------------------------------------------------------------------
344 -- Collect + declarations
345 + --------------------------------------------------------------------------------
346 allDecls :: [LHsDecl GhcRn]
347 allDecls =
348 L.sortOn
349 (\\d -> case + locA (getLocA d) of
350 RealSrcSpan r _ + -> (srcSpanStartLine r, srcSpanStartCol r)
351 _ -> + (maxBound :: Int, maxBound :: Int))
352 (ungroup hsGroup)
353
354 + (instanceDeclsWithDocs, valueAndTypeDeclsWithDocs) =
355 L.partition
356 (\\(L _ decl, _) + ->
357 case + decl of
358 InstD {} -> + True
359 _ -> + False)
360 (collectDocs allDecls)
361
362 + --------------------------------------------------------------------------------
363 -- + Instances
364 + --------------------------------------------------------------------------------
365 instanceDocMap :: M.Map RealSrcSpan [LHsDoc GhcRn]
366 instanceDocMap =
367 M.fromList $ +
368 mapMaybe
369 (\\(L nSpan + decl, docs) ->
370 case + decl of
371 InstD _ + (ClsInstD _ _inst) ->
372 case + locA nSpan of
373 RealSrcSpan r _ + -> Just (r, docs)
374 _ -> + Nothing
375 _ -> + Nothing)
376 instanceDeclsWithDocs
377
378 nameLocation :: Maybe SrcSpan -> Name -> HCE.LocationInfo
379 nameLocation mbSrcSpan name =
380 nameLocationInfo
381 unitState
382 flags
383 currentPackageId
384 compId
385 transformation
386 fileMap
387 defSiteMap
388 Nothing
389 Nothing
390 name
391
392 docHToHtml :: DocH (ModuleName, OccName) Name -> HCE.HTML
393 docHToHtml =
394 docWithNamesToHtml
395 unitState
396 flags
397 currentPackageId
398 compId
399 transformation
400 fileMap
401 defSiteMap
402
403 instancesWithDocumentation =
404 HM.fromList $ +
405 map
406 (\\clsInst + ->
407 ( instanceToText flags clsInst
408 , let + location = nameLocation Nothing (varName . is_dfun $ clsInst)
409 in case + getSrcSpan clsInst of
410 RealSrcSpan r _ + ->
411 case + M.lookup r instanceDocMap of
412 Just hsDocs + ->
413 let hsDocStrings = [ s | L _ (WithHsDocIdentifiers s _) <- + hsDocs ]
414 doc = hsDocsToDocH unitState flags globalRdrEnv hsDocStrings
415 in HCE.DefinitionSite location (Just (docHToHtml doc))
416 Nothing -> + HCE.DefinitionSite + location Nothing
417 _ -> + HCE.DefinitionSite + location Nothing
418 ))
419 (modInfoInstances modInfo)
420
421 + --------------------------------------------------------------------------------
422 -- Values and + types
423 + --------------------------------------------------------------------------------
424 mainDeclNamesWithDocumentation =
425 concatMap
426 (\\(L spanA + decl, docs) -> map + (, docs, locA spanA) $ getMainDeclBinder decl)
427 valueAndTypeDeclsWithDocs
428
429 dataFamTyConsWithoutDocs =
430 map (\\name -> (name, [], nameSrcSpan name)) dataFamTyCons
431
432 allDeclsSrc :: [GenLocated SrcSpan (HsDecl GhcRn)]
433 allDeclsSrc = map (\\(L la d) -> L (locA la) + d) allDecls
434
435 allNamesWithDocumentation =
436 mainDeclNamesWithDocumentation
437 ++ subordinateNamesWithDocs allDeclsSrc
438 ++ dataFamTyConsWithoutDocs
439
440 + (valuesWithDocumentation, typesWithDocumentation) =
441 L.partition
442 (\\(name, _, _) + ->
443 case + occNameNameSpace . nameOccName $ + name of
444 HCE.VarName + -> True
445 HCE.DataName + -> True
446 _ -> + False)
447 allNamesWithDocumentation
448
449 toHashMap ::
450 [(Name, [LHsDoc GhcRn], SrcSpan)]
451 -> + HM.HashMap HCE.OccName HCE.DefinitionSite
452 toHashMap =
453 HM.fromListWith
454 + (\\(HCE.DefinitionSite loc newDoc) (HCE.DefinitionSite _ oldDoc) ->
455 HCE.DefinitionSite loc (mappend newDoc oldDoc)) . +
456 map
457 (\\(name, docs, + srcSpan) ->
458 let location = nameLocation (Just srcSpan) name +
459 htmlDoc =
460 if not (null docs)
461 then let + hsDocStrings = [ s | L _ (WithHsDocIdentifiers s _) <- + docs ]
462 doc = hsDocsToDocH unitState flags globalRdrEnv hsDocStrings
463 in Just (docHToHtml doc)
464 else + Nothing
465 in (HCE.OccName $ toText name, + HCE.DefinitionSite + location htmlDoc))
466
467
468 in ( HCE.DefinitionSiteMap
469 { HCE.values = toHashMap valuesWithDocumentation
470 , HCE.types = toHashMap (typesWithDocumentation ++ dataFamTyConsWithoutDocs)
471 , HCE.instances = instancesWithDocumentation
472 }
473 , map (\\(n, _, _) -> n) allNamesWithDocumentation
474 )
475
476
477occNameToHtml ::
478 DynFlags
479 -> + HCE.PackageId
480 -> + HCE.ComponentId
481 -> + (ModuleName, OccName)
482 -> + H.Html
483occNameToHtml flags packageId compId (modName, + occName) =
484 let location =
485 H.textValue . toStrict . + encodeToLazyText . Aeson.toJSON $ +
486 occNameLocationInfo flags packageId compId (modName, occName)
487 in (H.span H.! H.dataAttribute "location" + location) H.! A.class_ "link" $
488 H.toHtml (toText occName)
489
490nameToHtml ::
491 UnitState
492 -> + DynFlags
493 -> + HCE.PackageId
494 -> + HCE.ComponentId
495 -> + HCE.SourceCodeTransformation
496 -> + HM.HashMap HCE.HaskellFilePath HCE.HaskellModulePath
497 -> + HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap
498 -> + Name
499 -> + H.Html
500nameToHtml unitState flags packageId compId transformation files defSiteMap name + =
501 let location =
502 H.textValue . toStrict . + encodeToLazyText . Aeson.toJSON $ +
503 nameLocationInfo
504 unitState
505 flags
506 packageId
507 compId
508 transformation
509 files
510 defSiteMap
511 Nothing
512 Nothing
513 name
514 in H.span H.! H.dataAttribute "location" + location H.! A.class_ "link" $
515 H.toHtml (nameToText name)
516
517docWithNamesToHtml ::
518 UnitState
519 -> + DynFlags
520 -> + HCE.PackageId
521 -> + HCE.ComponentId
522 -> + HCE.SourceCodeTransformation
523 -> + HM.HashMap HCE.HaskellFilePath HCE.HaskellModulePath
524 -> + HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap
525 -> + DocH (ModuleName, OccName) Name +
526 -> + HCE.HTML
527docWithNamesToHtml unitState flags packageId + compId transformation fileMap defSiteMap =
528 HCE.docToHtml
529 (occNameToHtml flags packageId compId)
530 (nameToHtml unitState flags packageId compId transformation fileMap defSiteMap)
531
532createDeclarations ::
533 DynFlags
534 -> + HsGroup GhcRn +
535 -> + TypeEnv
536 -> + S.Set Name
537 -> + HCE.SourceCodeTransformation
538 -> + [HCE.Declaration]
539createDeclarations flags hsGroup typeEnv + exportedSet transformation =
540 let lineNumber :: SrcSpan -> Int +
541 lineNumber srcSpan =
542 case + srcSpanToLineAndColNumbers + transformation srcSpan of
543 Just + (_file,(lineNum, _), (_, _)) -> lineNum
544 Nothing -> + 1
545 nameType :: Name -> Maybe HCE.Type
546 nameType n =
547 case + lookupIdInTypeEnv + typeEnv n of
548 Just i -> + Just . mkType . + varType $ i
549 Nothing -> + Nothing
550 valToDeclarations :: LHsBindLR GhcRn GhcRn -> [HCE.Declaration]
551 valToDeclarations (L locAnn bind) =
552 let
553 names :: [Name]
554 names = collectHsBindBinders CollNoDictBinders bind
555 loc :: SrcSpan
556 loc = locA locAnn
557 in
558 map
559 (\\name + ->
560 HCE.Declaration
561 HCE.ValD
562 (toText name)
563 (nameType name)
564 (S.member name exportedSet)
565 (lineNumber loc))
566 names
567 vals = concatMap valToDeclarations $ hsGroupVals hsGroup
568 -- | Data, + newtype, type, type family, data family or class declaration
569 + --------------------------------------------------------------------------------
570 tyClToDeclaration :: LTyClDecl GhcRn -> HCE.Declaration
571 tyClToDeclaration (L locA' tyClDecl) + =
572 HCE.Declaration
573 HCE.TyClD
574 (T.append (tyClDeclPrefix tyClDecl) (toText $ tcdName tyClDecl))
575 (nameType $ tcdName tyClDecl)
576 (S.member (unLoc $ tyClDeclLName tyClDecl) exportedSet)
577 (lineNumber (locA locA'))
578 tyclds =
579 map tyClToDeclaration
580 . filter (isGoodSrcSpan . + locA . getLocA)
581 . concatMap group_tyclds . hs_tyclds
582 $ hsGroup
583 -- | + Instances
584 + --------------------------------------------------------------------------------
585 instToDeclaration :: LInstDecl GhcRn -> HCE.Declaration
586 instToDeclaration (L locA' inst) = +
587 HCE.Declaration
588 HCE.InstD
589 (instanceDeclToText flags inst)
590 Nothing
591 True
592 (lineNumber (locA locA'))
593 insts =
594 map instToDeclaration
595 . filter (isGoodSrcSpan . + locA . getLoc)
596 . hsGroupInstDecls +
597 $ hsGroup
598 -- | Foreign + functions
599 + --------------------------------------------------------------------------------
600 foreignFunToDeclaration ::
601 LForeignDecl GhcRn -> HCE.Declaration
602 foreignFunToDeclaration (L locA' fd) + =
603 let name = unLoc $ fd_name fd +
604 in HCE.Declaration
605 HCE.ForD
606 (toText name)
607 (nameType name)
608 True
609 (lineNumber (locA locA'))
610 fords = map foreignFunToDeclaration $ hs_fords hsGroup
611 + --------------------------------------------------------------------------------
612 in L.sortOn HCE.lineNumber $ vals ++ + tyclds ++ insts ++ + fords
613
614foldAST :: UnitState -> Environment -> TypecheckedModule -> SourceInfo
615foldAST unitState environment typecheckedModule =
616 let (Just + renamed@(_hsGroupRn, + importDecls, mbExported, _mbTopDoc, _mbModuleName)) =
617 renamedSource typecheckedModule
618 emptyASTState =
619 ASTState IVM.empty IM.empty M.empty emptyTidyEnv Nothing environment [] +
620 ASTState + {..} =
621 execState
622 (foldTypecheckedSource $ tm_typechecked_source typecheckedModule)
623 emptyASTState
624 (idInfoMap, + idOccMap) =
625 L.foldl'
626 (addIdentifierToMaps environment astStateIdSrcSpanMap)
627 (HM.empty, astStateIdOccMap)
628 (namesFromRenamedSource renamed)
629 flags = envDynFlags environment
630 packageId = envPackageId environment
631 compId = envComponentId environment
632 importedModules =
633 map
634 ((\\(L ann + modName) ->
635 ( modName
636 , locA ann +
637 , moduleLocationInfo
638 unitState
639 flags
640 + (envModuleNameMap environment)
641 packageId
642 compId
643 modName)) . +
644 ideclName + . unLoc) . +
645 filter (not . (ideclImplicit . ideclExt . unLoc)) $
646 importDecls
647 exportedModules =
648 case + mbExported of
649 Just lieNames + ->
650 mapMaybe
651 (\\(L ann ie, _) + ->
652 case + ie of
653 IEModuleContents + _ (L _ modName) ->
654 Just
655 ( modName
656 , locA ann +
657 , moduleLocationInfo
658 unitState
659 flags
660 + (envModuleNameMap environment)
661 packageId
662 compId
663 modName)
664 _ -> + Nothing)
665 lieNames
666 Nothing -> + []
667 addImportedAndExportedModulesToIdOccMap + ::
668 HCE.IdentifierOccurrenceMap -> HCE.IdentifierOccurrenceMap
669 addImportedAndExportedModulesToIdOccMap + =
670 IM.map (L.sortOn fst) . +
671 addModules
672 + (envTransformation environment)
673 (importedModules ++ exportedModules)
674 in SourceInfo
675 { sourceInfoExprMap = astStateExprInfoMap
676 , sourceInfoIdMap = idInfoMap
677 , sourceInfoIdOccMap = addImportedAndExportedModulesToIdOccMap + idOccMap
678 , sourceInfoTypeErrors = astStateTypeErrors
679 }
680
681-- | Updates + 'IdentifierOccurrenceMap' and 'IdentifierInfoMap' using information
682-- from + typechecked source and renamed source
683addIdentifierToMaps ::
684 Environment
685 -> + M.Map RealSrcSpan (Id, Maybe (Type, [Type]))
686 -> + (HCE.IdentifierInfoMap, + HCE.IdentifierOccurrenceMap)
687 -> + NameOccurrence
688 -> + (HCE.IdentifierInfoMap, + HCE.IdentifierOccurrenceMap)
689addIdentifierToMaps environment idSrcSpanMap + idMaps@(idInfoMap, idOccMap) + nameOcc
690 | isGoodSrcSpan (getLoc $ locatedName nameOcc) &&
691 isOneLineSpan (getLoc $ locatedName nameOcc)
692 , Just (_, + (lineNumber, startCol), (_, endCol)) <-
693 srcSpanToLineAndColNumbers (envTransformation + environment) .
694 getLoc . locatedName $ +
695 nameOcc =
696 case + nameOcc of
697 TyLitOccurrence + {kind = kind} -> +
698 addNameToMaps
699 environment
700 idMaps
701 (Just kind)
702 Nothing
703 (description + nameOcc)
704 lineNumber
705 startCol
706 endCol
707 NameOccurrence + {isBinder = isBinder} + ->
708 case + lookupIdByNameOccurrence + environment idSrcSpanMap nameOcc of
709 Just + (identifier, mbTypes) ->
710 let name =
711 fromMaybe
712 (varName + identifier)
713 (unLoc $ locatedName nameOcc)
714 identifierType = varType identifier
715 identifierTypeExpanded = expandTypeSynonyms identifierType
716 tyConsAndTyVars =
717 map
718 (, Nothing)
719 (tyConsOfType identifierType ++
720 tyVarsOfType identifierType ++
721 tyConsOfType identifierTypeExpanded ++
722 tyVarsOfType identifierTypeExpanded ++
723 maybe [] (tyConsOfType . fst) mbTypes ++
724 maybe [] (tyVarsOfType . fst) mbTypes)
725 idInfoMap' =
726 updateIdMap
727 environment
728 ((identifier, unLoc $ locatedName nameOcc) : tyConsAndTyVars)
729 idInfoMap
730 idOcc =
731 mkIdentifierOccurrence
732 environment
733 identifier
734 name
735 mbTypes
736 isBinder
737 (description + nameOcc)
738 idOccMap' =
739 IM.insertWith
740 removeOverlappingInterval
741 lineNumber
742 [((startCol, endCol), idOcc)]
743 idOccMap
744 in (idInfoMap', idOccMap')
745 Nothing -- type + variable or an internal identifier in a pattern synonym
746 -> +
747 case + unLoc $ locatedName nameOcc of
748 Just name + ->
749 addNameToMaps
750 environment
751 idMaps
752 Nothing
753 (Just name)
754 (description + nameOcc)
755 lineNumber
756 startCol
757 endCol
758 Nothing -> + idMaps
759addIdentifierToMaps _ _ idMaps _ = idMaps
760
761addNameToMaps ::
762 Environment
763 -> + (HCE.IdentifierInfoMap, + HCE.IdentifierOccurrenceMap)
764 -> + Maybe Type
765 -> + Maybe Name
766 -> + T.Text
767 -> + Int
768 -> + Int
769 -> + Int
770 -> + (HCE.IdentifierInfoMap, + HCE.IdentifierOccurrenceMap)
771addNameToMaps environment (idInfoMap, idOccMap) + mbKind mbName descr lineNumber colStart colEnd =
772 let flags = envDynFlags environment
773 idInfoMap' =
774 maybe
775 idInfoMap
776 (\\kind + ->
777 updateIdMap
778 environment
779 (map (, Nothing) $ tyConsOfType kind ++ tyVarsOfType kind)
780 idInfoMap)
781 mbKind
782 idOcc =
783 HCE.IdentifierOccurrence
784 { internalId = fmap (HCE.InternalId . nameKey) mbName
785 , internalIdFromRenamedSource =
786 HCE.InternalId . T.pack . + show . getKey . + nameUnique <$> mbName
787 , isBinder = False
788 , instanceResolution = Nothing
789 , idOccType = mkType <$> mbKind
790 , typeArguments = Nothing
791 , description = descr
792 , sort =
793 maybe
794 HCE.TypeId
795 (\\name + ->
796 case + occNameNameSpace . nameOccName $ + name of
797 HCE.VarName + -> HCE.ValueId
798 HCE.DataName + -> HCE.ValueId
799 _ -> + HCE.TypeId)
800 mbName
801 }
802 idOccMap' =
803 IM.insertWith
804 removeOverlappingInterval
805 lineNumber
806 [((colStart, colEnd), idOcc)]
807 idOccMap
808 in (idInfoMap', idOccMap')
809
810lookupIdByNameOccurrence ::
811 Environment
812 -> + M.Map RealSrcSpan (Id, Maybe (Type, [Type]))
813 -> + NameOccurrence
814 -> + Maybe (Id, Maybe (Type, [Type]))
815lookupIdByNameOccurrence environment + idSrcSpanMap (NameOccurrence (L span mbName) _ _) =
816 case lookupBySrcSpan span of
817 Just hit -> + Just hit
818 Nothing + ->
819 case + mbName of
820 Just name + ->
821 case + lookupBySrcSpan (nameSrcSpan name) of
822 Just hit -> + Just hit -- LHS of a Match 等
823 Nothing + ->
824 -- 不在 + typechecked 源里的名字,退回 TypeEnv
825 case + lookupIdInTypeEnv (envTypeEnv + environment) name of
826 Just t -> + Just (t, Nothing)
827 Nothing -> + Nothing
828 Nothing -> + Nothing
829 where
830 lookupBySrcSpan :: SrcSpan -> Maybe (Id, Maybe (Type, [Type]))
831 lookupBySrcSpan s =
832 case + s of
833 RealSrcSpan real + _ -> M.lookup real idSrcSpanMap
834 _ -> + Nothing
835lookupIdByNameOccurrence _ _ TyLitOccurrence{} + = Nothing
836
837updateIdMap ::
838 Environment
839 -> + [(Id, Maybe Name)]
840 -> + HCE.IdentifierInfoMap
841 -> + HCE.IdentifierInfoMap
842updateIdMap environment ids identifiersMap =
843 let flags = envDynFlags environment
844 update ::
845 HCE.IdentifierInfoMap -> (Id, Maybe Name) -> HCE.IdentifierInfoMap
846 update idMap (identifier, mbName) =
847 let info = mkIdentifierInfo environment identifier mbName
848 in HM.insertWith
849 (flip const)
850 (HCE.InternalId $ identifierKey flags identifier)
851 info
852 idMap
853 in L.foldl' update identifiersMap ids
854
855addModules ::
856 HCE.SourceCodeTransformation
857 -> + [(ModuleName, SrcSpan, HCE.LocationInfo)]
858 -> + HCE.IdentifierOccurrenceMap
859 -> + HCE.IdentifierOccurrenceMap
860addModules transformation modules idMap =
861 let update ::
862 IM.IntMap [((Int, Int), HCE.IdentifierOccurrence)]
863 -> + (a, SrcSpan, HCE.LocationInfo)
864 -> + IM.IntMap [((Int, Int), HCE.IdentifierOccurrence)]
865 update idOccMap (_modInfo, span, + locInfo)
866 | Just + (_file,(lineNumber, colStart), (_, colEnd)) <-
867 srcSpanToLineAndColNumbers transformation span =
868 let idOcc =
869 HCE.IdentifierOccurrence
870 { internalId = Nothing
871 , internalIdFromRenamedSource = Nothing
872 , isBinder = False
873 , instanceResolution = Nothing
874 , idOccType = Nothing
875 , typeArguments = Nothing
876 , description = "ImportDecl" +
877 , sort = HCE.ModuleId locInfo
878 }
879 in IM.insertWith
880 removeOverlappingInterval
881 lineNumber
882 [((colStart, colEnd), idOcc)]
883 idOccMap
884 update idOccMap _ = idOccMap
885 in L.foldl' update idMap modules
886
\ No newline at end of file diff --git a/example/src%2FHaskellCodeExplorer%2FModuleInfo.hs.json b/example/src%2FHaskellCodeExplorer%2FModuleInfo.hs.json new file mode 100644 index 0000000..3ad861f --- /dev/null +++ b/example/src%2FHaskellCodeExplorer%2FModuleInfo.hs.json @@ -0,0 +1,59025 @@ +{ + "declarations": [ + { + "declType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "isExported": true, + "lineNumber": 132, + "name": "type ModuleDependencies", + "sort": "TyClD" + }, + { + "declType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 137, + "name": "type ModuleGhcData", + "sort": "TyClD" + }, + { + "declType": { + "components": [ + { + "internalId": "1", + "name": "ModuleDependencies", + "tag": "TyCon" + }, + { + "contents": "_rgMw\n-> ", + "tag": "Text" + }, + { + "internalId": "112", + "name": "ModuleGhcData", + "tag": "TyCon" + }, + { + "contents": "_rgNt\n-> ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> (", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g, ", + "tag": "Text" + }, + { + "internalId": "115", + "name": "SourceCodePreprocessing", + "tag": "TyCon" + }, + { + "contents": "_r3y)\n-> ", + "tag": "Text" + }, + { + "internalId": "22", + "name": "HscEnv", + "tag": "TyCon" + }, + { + "contents": "_r64I\n-> (", + "tag": "Text" + }, + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z, ", + "tag": "Text" + }, + { + "internalId": "1", + "name": "ModuleDependencies", + "tag": "TyCon" + }, + { + "contents": "_rgMw, [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT])", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "(", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v,\n ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW,\n ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v))\n-> (", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0, ", + "tag": "Text" + }, + { + "internalId": "39", + "name": "TypecheckedModule", + "tag": "TyCon" + }, + { + "contents": "_r61n,\n ", + "tag": "Text" + }, + { + "internalId": "752", + "name": "UniqDFM", + "tag": "TyCon" + }, + { + "contents": "_rdC4 ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3 ", + "tag": "Text" + }, + { + "internalId": "721", + "name": "HomeModInfo", + "tag": "TyCon" + }, + { + "contents": "_r6Hv,\n ", + "tag": "Text" + }, + { + "internalId": "75", + "name": "ExternalPackageState", + "tag": "TyCon" + }, + { + "contents": "_rdR5, ", + "tag": "Text" + }, + { + "internalId": "32", + "name": "ModSummary", + "tag": "TyCon" + }, + { + "contents": "_r6k0)\n-> ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> (", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g, ", + "tag": "Text" + }, + { + "internalId": "115", + "name": "SourceCodePreprocessing", + "tag": "TyCon" + }, + { + "contents": "_r3y)\n-> ", + "tag": "Text" + }, + { + "internalId": "22", + "name": "HscEnv", + "tag": "TyCon" + }, + { + "contents": "_r64I\n-> (", + "tag": "Text" + }, + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z,\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v,\n ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW,\n ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v)),\n [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT])", + "tag": "Text" + } + ] + }, + "isExported": true, + "lineNumber": 153, + "name": "createModuleInfo", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 275, + "name": "data SourceInfo", + "sort": "TyClD" + }, + { + "declType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 283, + "name": "tidyInternalIds", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "115", + "name": "SourceCodePreprocessing", + "tag": "TyCon" + }, + { + "contents": "_r3y\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n-> ", + "tag": "Text" + }, + { + "internalId": "32", + "name": "ModSummary", + "tag": "TyCon" + }, + { + "contents": "_r6k0\n-> ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> (", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B, ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g)", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 302, + "name": "prepareSourceCode", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "95", + "name": "GlobalRdrEnv", + "tag": "TyCon" + }, + { + "contents": "_r5x1\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "35", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r619\n-> [", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5]\n-> ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa\n-> (", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW, [", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5])", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "864", + "name": "OccEnv", + "tag": "TyCon" + }, + { + "contents": "_rcRM [", + "tag": "Text" + }, + { + "internalId": "746", + "name": "GlobalRdrEltX", + "tag": "TyCon" + }, + { + "contents": "_r6HG ", + "tag": "Text" + }, + { + "internalId": "698", + "name": "GREInfo", + "tag": "TyCon" + }, + { + "contents": "_rd3K]\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "35", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r619\n-> [", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5]\n-> ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n-> (", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW, [", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5])", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 341, + "name": "createDefinitionSiteMap", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4)\n-> ", + "tag": "Text" + }, + { + "internalId": "385", + "name": "Html", + "tag": "TyCon" + }, + { + "contents": "_rVn", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4)\n-> ", + "tag": "Text" + }, + { + "internalId": "663", + "name": "MarkupM", + "tag": "TyCon" + }, + { + "contents": "_r1Xi ()", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 483, + "name": "occNameToHtml", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "385", + "name": "Html", + "tag": "TyCon" + }, + { + "contents": "_rVn", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "663", + "name": "MarkupM", + "tag": "TyCon" + }, + { + "contents": "_r1Xi ()", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 500, + "name": "nameToHtml", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "26", + "name": "DocH", + "tag": "TyCon" + }, + { + "contents": "_rVo (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4) ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "319", + "name": "HTML", + "tag": "TyCon" + }, + { + "contents": "_r1o", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "26", + "name": "DocH", + "tag": "TyCon" + }, + { + "contents": "_rVo (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4) ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 527, + "name": "docWithNamesToHtml", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa\n-> ", + "tag": "Text" + }, + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae\n-> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> [", + "tag": "Text" + }, + { + "internalId": "421", + "name": "Declaration", + "tag": "TyCon" + }, + { + "contents": "_rG]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n-> ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag\n-> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> [", + "tag": "Text" + }, + { + "internalId": "421", + "name": "Declaration", + "tag": "TyCon" + }, + { + "contents": "_rG]", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 539, + "name": "createDeclarations", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "39", + "name": "TypecheckedModule", + "tag": "TyCon" + }, + { + "contents": "_r61n -> ", + "tag": "Text" + }, + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 615, + "name": "foldAST", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n-> (", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20, ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b)\n-> ", + "tag": "Text" + }, + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz\n-> (", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20, ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b)", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n-> (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "764", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N,\n ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)])\n-> ", + "tag": "Text" + }, + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz\n-> (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "764", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N,\n ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)])", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 689, + "name": "addIdentifierToMaps", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> (", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20, ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b)\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> (", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20, ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b)", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "764", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N,\n ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)])\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "764", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N,\n ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)])", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 771, + "name": "addNameToMaps", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n-> ", + "tag": "Text" + }, + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n-> ", + "tag": "Text" + }, + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 815, + "name": "lookupIdByNameOccurrence", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> [(", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5)]\n-> ", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20\n-> ", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> [(", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5)]\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "764", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "764", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 842, + "name": "updateIdMap", + "sort": "ValD" + }, + { + "declType": { + "components": [ + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ, ", + "tag": "Text" + }, + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H)]\n-> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b\n-> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ, ", + "tag": "Text" + }, + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H)]\n-> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]\n-> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]", + "tag": "Text" + } + ] + }, + "isExported": false, + "lineNumber": 860, + "name": "addModules", + "sort": "ValD" + } + ], + "id": "src/HaskellCodeExplorer/ModuleInfo.hs", + "identifiers": { + "0": { + "demangledOccName": "createModuleInfo", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|createModuleInfo", + "idType": { + "components": [ + { + "internalId": "1", + "name": "ModuleDependencies", + "tag": "TyCon" + }, + { + "contents": "_rgMw\n-> ", + "tag": "Text" + }, + { + "internalId": "112", + "name": "ModuleGhcData", + "tag": "TyCon" + }, + { + "contents": "_rgNt\n-> ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> (", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g, ", + "tag": "Text" + }, + { + "internalId": "115", + "name": "SourceCodePreprocessing", + "tag": "TyCon" + }, + { + "contents": "_r3y)\n-> ", + "tag": "Text" + }, + { + "internalId": "22", + "name": "HscEnv", + "tag": "TyCon" + }, + { + "contents": "_r64I\n-> (", + "tag": "Text" + }, + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z, ", + "tag": "Text" + }, + { + "internalId": "1", + "name": "ModuleDependencies", + "tag": "TyCon" + }, + { + "contents": "_rgMw, [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT])", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "(", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v,\n ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW,\n ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v))\n-> (", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0, ", + "tag": "Text" + }, + { + "internalId": "39", + "name": "TypecheckedModule", + "tag": "TyCon" + }, + { + "contents": "_r61n,\n ", + "tag": "Text" + }, + { + "internalId": "752", + "name": "UniqDFM", + "tag": "TyCon" + }, + { + "contents": "_rdC4 ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3 ", + "tag": "Text" + }, + { + "internalId": "721", + "name": "HomeModInfo", + "tag": "TyCon" + }, + { + "contents": "_r6Hv,\n ", + "tag": "Text" + }, + { + "internalId": "75", + "name": "ExternalPackageState", + "tag": "TyCon" + }, + { + "contents": "_rdR5, ", + "tag": "Text" + }, + { + "internalId": "32", + "name": "ModSummary", + "tag": "TyCon" + }, + { + "contents": "_r6k0)\n-> ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> (", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g, ", + "tag": "Text" + }, + { + "internalId": "115", + "name": "SourceCodePreprocessing", + "tag": "TyCon" + }, + { + "contents": "_r3y)\n-> ", + "tag": "Text" + }, + { + "internalId": "22", + "name": "HscEnv", + "tag": "TyCon" + }, + { + "contents": "_r64I\n-> (", + "tag": "Text" + }, + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z,\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v,\n ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW,\n ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v)),\n [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT])", + "tag": "Text" + } + ] + }, + "internalId": "0", + "isExported": true, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "createModuleInfo", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "createModuleInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "createModuleInfo", + "sort": "External" + }, + "1": { + "demangledOccName": "ModuleDependencies", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Typ|ModuleDependencies", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "1", + "isExported": true, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModuleDependencies", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "ModuleDependencies", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModuleDependencies", + "sort": "External" + }, + "10": { + "demangledOccName": "LHsBindLR", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Binds|Typ|LHsBindLR", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "10", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LHsBindLR", + "moduleName": "Language.Haskell.Syntax.Binds", + "name": "LHsBindLR", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LHsBindLR", + "sort": "External" + }, + "100": { + "demangledOccName": "tcg_type_env", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Tc.Types|Val|tcg_type_env", + "idType": { + "components": [ + { + "internalId": "680", + "name": "TcGblEnv", + "tag": "TyCon" + }, + { + "contents": "_r6DZ -> ", + "tag": "Text" + }, + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "680", + "name": "TcGblEnv", + "tag": "TyCon" + }, + { + "contents": "_r6DZ -> ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag", + "tag": "Text" + } + ] + }, + "internalId": "100", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tcg_type_env", + "moduleName": "GHC.Tc.Types", + "name": "tcg_type_env", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tcg_type_env", + "sort": "External" + }, + "101": { + "demangledOccName": "getKey", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.Unique|Val|getKey", + "idType": { + "components": [ + { + "internalId": "915", + "name": "Unique", + "tag": "TyCon" + }, + { + "contents": "_r6P0 -> ", + "tag": "Text" + }, + { + "internalId": "827", + "name": "Word64", + "tag": "TyCon" + }, + { + "contents": "_32c", + "tag": "Text" + } + ] + }, + "internalId": "101", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "getKey", + "moduleName": "GHC.Types.Unique", + "name": "getKey", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "getKey", + "sort": "External" + }, + "102": { + "demangledOccName": "varName", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Types.Var|Val|varName", + "idType": { + "components": [ + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX -> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5", + "tag": "Text" + } + ] + }, + "internalId": "102", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "varName", + "moduleName": "GHC.Types.Var", + "name": "varName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "varName", + "sort": "External" + }, + "103": { + "demangledOccName": "varType", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Types.Var|Val|varType", + "idType": { + "components": [ + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX -> ", + "tag": "Text" + }, + { + "internalId": "742", + "name": "Kind", + "tag": "TyCon" + }, + { + "contents": "_r61R", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX -> ", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD", + "tag": "Text" + } + ] + }, + "internalId": "103", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "varType", + "moduleName": "GHC.Types.Var", + "name": "varType", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "varType", + "sort": "External" + }, + "104": { + "demangledOccName": "Id", + "externalId": "ghc-9.10.2|GHC.Types.Var|Typ|Id", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "104", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Id", + "moduleName": "GHC.Types.Var", + "name": "Id", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Id", + "sort": "External" + }, + "105": { + "demangledOccName": "emptyTidyEnv", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.Var.Env|Val|emptyTidyEnv", + "idType": { + "components": [ + { + "internalId": "927", + "name": "TidyEnv", + "tag": "TyCon" + }, + { + "contents": "_r5xW", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "(", + "tag": "Text" + }, + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "667", + "name": "FastString", + "tag": "TyCon" + }, + { + "contents": "_r5yT ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX ", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX)", + "tag": "Text" + } + ] + }, + "internalId": "105", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "emptyTidyEnv", + "moduleName": "GHC.Types.Var.Env", + "name": "emptyTidyEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "emptyTidyEnv", + "sort": "External" + }, + "106": { + "demangledOccName": "HashMap", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal|Typ|HashMap", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "106", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HashMap", + "moduleName": "Data.HashMap.Internal", + "name": "HashMap", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HashMap", + "sort": "External" + }, + "107": { + "demangledOccName": "HaskellFilePath", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|HaskellFilePath", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "107", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HaskellFilePath", + "moduleName": "HaskellCodeExplorer.Types", + "name": "HaskellFilePath", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HaskellFilePath", + "sort": "External" + }, + "108": { + "demangledOccName": "HaskellModulePath", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|HaskellModulePath", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "108", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HaskellModulePath", + "moduleName": "HaskellCodeExplorer.Types", + "name": "HaskellModulePath", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HaskellModulePath", + "sort": "External" + }, + "109": { + "demangledOccName": "DefinitionSiteMap", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|DefinitionSiteMap", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "109", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "DefinitionSiteMap", + "moduleName": "HaskellCodeExplorer.Types", + "name": "DefinitionSiteMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "DefinitionSiteMap", + "sort": "External" + }, + "11": { + "demangledOccName": "span", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.List|Val|span", + "idType": { + "components": [ + { + "contents": "forall a. (", + "tag": "Text" + }, + { + "internalId": "715", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38) -> [", + "tag": "Text" + }, + { + "internalId": "715", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> ([", + "tag": "Text" + }, + { + "internalId": "715", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "], [", + "tag": "Text" + }, + { + "internalId": "715", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "])", + "tag": "Text" + } + ] + }, + "internalId": "11", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "span", + "moduleName": "GHC.Internal.List", + "name": "span", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "span", + "sort": "External" + }, + "110": { + "demangledOccName": "HaskellModuleName", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|HaskellModuleName", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "110", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HaskellModuleName", + "moduleName": "HaskellCodeExplorer.Types", + "name": "HaskellModuleName", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HaskellModuleName", + "sort": "External" + }, + "111": { + "demangledOccName": "ComponentId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|ComponentId", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "111", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ComponentId", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ComponentId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ComponentId", + "sort": "External" + }, + "112": { + "demangledOccName": "ModuleGhcData", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Typ|ModuleGhcData", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "112", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModuleGhcData", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "ModuleGhcData", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModuleGhcData", + "sort": "External" + }, + "113": { + "demangledOccName": "PackageId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|PackageId", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "113", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "PackageId", + "moduleName": "HaskellCodeExplorer.Types", + "name": "PackageId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "PackageId", + "sort": "External" + }, + "114": { + "demangledOccName": "Text", + "externalId": "text-2.1.2|Data.Text.Internal|Typ|Text", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "114", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Text", + "moduleName": "Data.Text.Internal", + "name": "Text", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Text", + "sort": "External" + }, + "115": { + "demangledOccName": "SourceCodePreprocessing", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|SourceCodePreprocessing", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "115", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "SourceCodePreprocessing", + "moduleName": "HaskellCodeExplorer.Types", + "name": "SourceCodePreprocessing", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "SourceCodePreprocessing", + "sort": "External" + }, + "116": { + "demangledOccName": "ModuleInfo", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|ModuleInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "116", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModuleInfo", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ModuleInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModuleInfo", + "sort": "External" + }, + "117": { + "demangledOccName": "TypeError", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Typ|TypeError", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "117", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TypeError", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "TypeError", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TypeError", + "sort": "External" + }, + "119": { + "demangledOccName": ".", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|.", + "idType": { + "components": [ + { + "contents": "forall b c a. (", + "tag": "Text" + }, + { + "internalId": "866", + "name": "b", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "859", + "name": "c", + "tag": "TyCon" + }, + { + "contents": ") -> (", + "tag": "Text" + }, + { + "internalId": "867", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "866", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "867", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "859", + "name": "c", + "tag": "TyCon" + } + ] + }, + "internalId": "119", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "-46-", + "moduleName": "GHC.Internal.Base", + "name": ".", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": ".", + "sort": "External" + }, + "12": { + "demangledOccName": "fromMaybe", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Maybe|Val|fromMaybe", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "682", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "682", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "682", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "12", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "fromMaybe", + "moduleName": "GHC.Internal.Data.Maybe", + "name": "fromMaybe", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "fromMaybe", + "sort": "External" + }, + "120": { + "demangledOccName": "fst", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Tuple|Val|fst", + "idType": { + "components": [ + { + "contents": "forall a b. (", + "tag": "Text" + }, + { + "internalId": "636", + "name": "a", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "881", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "636", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "120", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "fst", + "moduleName": "GHC.Internal.Data.Tuple", + "name": "fst", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "fst", + "sort": "External" + }, + "121": { + "demangledOccName": "$", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|$", + "idType": { + "components": [ + { + "contents": "forall (repa :: RuntimeRep) (repb :: RuntimeRep) (a :: TYPE repa)\n (b :: TYPE repb).\n(", + "tag": "Text" + }, + { + "internalId": "875", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "875", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "690", + "name": "b", + "tag": "TyCon" + } + ] + }, + "internalId": "121", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "-36-", + "moduleName": "GHC.Internal.Base", + "name": "$", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "$", + "sort": "External" + }, + "125": { + "demangledOccName": "fromList", + "details": "VanillaId", + "externalId": "containers-0.7|Data.Set.Internal|Val|fromList", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "643", + "name": "Ord", + "tag": "TyCon" + }, + { + "contents": "_2c ", + "tag": "Text" + }, + { + "internalId": "877", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => [", + "tag": "Text" + }, + { + "internalId": "877", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "877", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "125", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "fromList", + "moduleName": "Data.Set.Internal", + "name": "fromList", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "fromList", + "sort": "External" + }, + "126": { + "demangledOccName": "prepareSourceCode", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|prepareSourceCode", + "idType": { + "components": [ + { + "internalId": "115", + "name": "SourceCodePreprocessing", + "tag": "TyCon" + }, + { + "contents": "_r3y\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n-> ", + "tag": "Text" + }, + { + "internalId": "32", + "name": "ModSummary", + "tag": "TyCon" + }, + { + "contents": "_r6k0\n-> ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> (", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B, ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g)", + "tag": "Text" + } + ] + }, + "internalId": "126", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "prepareSourceCode", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "prepareSourceCode", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "prepareSourceCode", + "sort": "External" + }, + "13": { + "demangledOccName": "mapMaybe", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Maybe|Val|mapMaybe", + "idType": { + "components": [ + { + "contents": "forall a b. (", + "tag": "Text" + }, + { + "internalId": "737", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "738", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> [", + "tag": "Text" + }, + { + "internalId": "737", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> [", + "tag": "Text" + }, + { + "internalId": "738", + "name": "b", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "13", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "mapMaybe", + "moduleName": "GHC.Internal.Data.Maybe", + "name": "mapMaybe", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "mapMaybe", + "sort": "External" + }, + "133": { + "demangledOccName": "keys", + "details": "VanillaId", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal|Val|keys", + "idType": { + "components": [ + { + "contents": "forall k v. ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "869", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "856", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "869", + "name": "k", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "133", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "keys", + "moduleName": "Data.HashMap.Internal", + "name": "keys", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "keys", + "sort": "External" + }, + "138": { + "demangledOccName": "concatMap", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Foldable|Val|concatMap", + "idType": { + "components": [ + { + "contents": "forall (t :: Type -> Type) a b.\n", + "tag": "Text" + }, + { + "internalId": "665", + "name": "Foldable", + "tag": "TyCon" + }, + { + "contents": "_2z ", + "tag": "Text" + }, + { + "internalId": "911", + "name": "t", + "tag": "TyCon" + }, + { + "contents": " =>\n(", + "tag": "Text" + }, + { + "internalId": "903", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "863", + "name": "b", + "tag": "TyCon" + }, + { + "contents": "]) -> ", + "tag": "Text" + }, + { + "internalId": "911", + "name": "t", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "903", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "863", + "name": "b", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "138", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "concatMap", + "moduleName": "GHC.Internal.Data.Foldable", + "name": "concatMap", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "concatMap", + "sort": "External" + }, + "14": { + "demangledOccName": "GhcRn", + "externalId": "ghc-9.10.2|GHC.Hs.Extension|Typ|GhcRn", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "14", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GhcRn", + "moduleName": "GHC.Hs.Extension", + "name": "GhcRn", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GhcRn", + "sort": "External" + }, + "143": { + "demangledOccName": "++", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|++", + "idType": { + "components": [ + { + "contents": "forall a. [", + "tag": "Text" + }, + { + "internalId": "916", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> [", + "tag": "Text" + }, + { + "internalId": "916", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> [", + "tag": "Text" + }, + { + "internalId": "916", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "143", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "-43--43-", + "moduleName": "GHC.Internal.Base", + "name": "++", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "++", + "sort": "External" + }, + "146": { + "demangledOccName": "Just", + "details": "DataConWorkId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Maybe|Val|Just", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "696", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " %1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "696", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "146", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "Just", + "moduleName": "GHC.Internal.Maybe", + "name": "Just", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "Just", + "sort": "External" + }, + "148": { + "demangledOccName": "Nothing", + "details": "DataConWorkId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Maybe|Val|Nothing", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "696", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "148", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "Nothing", + "moduleName": "GHC.Internal.Maybe", + "name": "Nothing", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "Nothing", + "sort": "External" + }, + "15": { + "demangledOccName": "SrcSpan", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Typ|SrcSpan", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "15", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "SrcSpan", + "moduleName": "GHC.Types.SrcLoc", + "name": "SrcSpan", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "SrcSpan", + "sort": "External" + }, + "150": { + "demangledOccName": "createDefinitionSiteMap", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|createDefinitionSiteMap", + "idType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "95", + "name": "GlobalRdrEnv", + "tag": "TyCon" + }, + { + "contents": "_r5x1\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "35", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r619\n-> [", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5]\n-> ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa\n-> (", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW, [", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5])", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "864", + "name": "OccEnv", + "tag": "TyCon" + }, + { + "contents": "_rcRM [", + "tag": "Text" + }, + { + "internalId": "746", + "name": "GlobalRdrEltX", + "tag": "TyCon" + }, + { + "contents": "_r6HG ", + "tag": "Text" + }, + { + "internalId": "698", + "name": "GREInfo", + "tag": "TyCon" + }, + { + "contents": "_rd3K]\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "35", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r619\n-> [", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5]\n-> ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n-> (", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW, [", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5])", + "tag": "Text" + } + ] + }, + "internalId": "150", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "createDefinitionSiteMap", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "createDefinitionSiteMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "createDefinitionSiteMap", + "sort": "External" + }, + "16": { + "demangledOccName": "RealSrcSpan", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Typ|RealSrcSpan", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "16", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "RealSrcSpan", + "moduleName": "GHC.Types.SrcLoc", + "name": "RealSrcSpan", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "RealSrcSpan", + "sort": "External" + }, + "163": { + "demangledOccName": "InstEnvs", + "details": "DataConWorkId", + "externalId": "ghc-9.10.2|GHC.Core.InstEnv|Val|InstEnvs", + "idType": { + "components": [ + { + "internalId": "681", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "681", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "834", + "name": "VisibleOrphanModules", + "tag": "TyCon" + }, + { + "contents": "_r7fb\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "84", + "name": "InstEnvs", + "tag": "TyCon" + }, + { + "contents": "_r7eY", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "681", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "681", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX %1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "841", + "name": "NDModule", + "tag": "TyCon" + }, + { + "contents": "_rgOV %1 -> ", + "tag": "Text" + }, + { + "internalId": "84", + "name": "InstEnvs", + "tag": "TyCon" + }, + { + "contents": "_r7eY", + "tag": "Text" + } + ] + }, + "internalId": "163", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "InstEnvs", + "moduleName": "GHC.Core.InstEnv", + "name": "InstEnvs", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "InstEnvs", + "sort": "External" + }, + "166": { + "demangledOccName": "createDeclarations", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|createDeclarations", + "idType": { + "components": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa\n-> ", + "tag": "Text" + }, + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae\n-> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> [", + "tag": "Text" + }, + { + "internalId": "421", + "name": "Declaration", + "tag": "TyCon" + }, + { + "contents": "_rG]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n-> ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag\n-> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> [", + "tag": "Text" + }, + { + "internalId": "421", + "name": "Declaration", + "tag": "TyCon" + }, + { + "contents": "_rG]", + "tag": "Text" + } + ] + }, + "internalId": "166", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "createDeclarations", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "createDeclarations", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "createDeclarations", + "sort": "External" + }, + "17": { + "demangledOccName": "srcSpanStartLine", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Val|srcSpanStartLine", + "idType": { + "components": [ + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u", + "tag": "Text" + } + ] + }, + "internalId": "17", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "srcSpanStartLine", + "moduleName": "GHC.Types.SrcLoc", + "name": "srcSpanStartLine", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "srcSpanStartLine", + "sort": "External" + }, + "170": { + "demangledOccName": "Environment", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|Environment", + "idType": { + "components": [ + { + "internalId": "731", + "name": "GhcMode", + "tag": "TyCon" + }, + { + "contents": "_r64E\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "799", + "name": "GhcLink", + "tag": "TyCon" + }, + { + "contents": "_r64x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "800", + "name": "Backend", + "tag": "TyCon" + }, + { + "contents": "_r61Z\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "802", + "name": "Platform", + "tag": "TyCon" + }, + { + "contents": "_r7Mq\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c)]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "804", + "name": "TempDir", + "tag": "TyCon" + }, + { + "contents": "_r8mP\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "805", + "name": "ParMakeCount", + "tag": "TyCon" + }, + { + "contents": "_r8b6\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "806", + "name": "Word", + "tag": "TyCon" + }, + { + "contents": "_31W\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "807", + "name": "IntWithInf", + "tag": "TyCon" + }, + { + "contents": "_r8mQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "807", + "name": "IntWithInf", + "tag": "TyCon" + }, + { + "contents": "_r8mQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "86", + "name": "Module", + "tag": "TyCon" + }, + { + "contents": "_r5As)]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "808", + "name": "Ways", + "tag": "TyCon" + }, + { + "contents": "_r8mR\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "809", + "name": "DynLibLoader", + "tag": "TyCon" + }, + { + "contents": "_r8ao\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "810", + "name": "IncludeSpecs", + "tag": "TyCon" + }, + { + "contents": "_r8aA\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "669", + "name": "RtsOptsEnabled", + "tag": "TyCon" + }, + { + "contents": "_r8be\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3]\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c)]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "811", + "name": "ExternalPluginSpec", + "tag": "TyCon" + }, + { + "contents": "_r8mS]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "796", + "name": "PackageDBFlag", + "tag": "TyCon" + }, + { + "contents": "_r8aY]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "812", + "name": "IgnorePackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8ay]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "813", + "name": "PackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8b3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "813", + "name": "PackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8b3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "712", + "name": "TrustFlag", + "tag": "TyCon" + }, + { + "contents": "_r8bk]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "758", + "name": "DumpFlag", + "tag": "TyCon" + }, + { + "contents": "_r8bo\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "815", + "name": "GeneralFlag", + "tag": "TyCon" + }, + { + "contents": "_r64J\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "816", + "name": "WarningFlag", + "tag": "TyCon" + }, + { + "contents": "_r88u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "816", + "name": "WarningFlag", + "tag": "TyCon" + }, + { + "contents": "_r88u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "817", + "name": "WarningCategorySet", + "tag": "TyCon" + }, + { + "contents": "_r88v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "817", + "name": "WarningCategorySet", + "tag": "TyCon" + }, + { + "contents": "_r88v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "818", + "name": "Language", + "tag": "TyCon" + }, + { + "contents": "_r8d1\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "766", + "name": "SafeHaskellMode", + "tag": "TyCon" + }, + { + "contents": "_r6iV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "702", + "name": "OnOff", + "tag": "TyCon" + }, + { + "contents": "_r8aS ", + "tag": "Text" + }, + { + "internalId": "819", + "name": "Extension", + "tag": "TyCon" + }, + { + "contents": "_r6HC]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "819", + "name": "Extension", + "tag": "TyCon" + }, + { + "contents": "_r6HC\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "820", + "name": "UnfoldingOpts", + "tag": "TyCon" + }, + { + "contents": "_r8mT\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "748", + "name": "FlushOut", + "tag": "TyCon" + }, + { + "contents": "_r6Fa\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "821", + "name": "OverridingBool", + "tag": "TyCon" + }, + { + "contents": "_r8mU\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "821", + "name": "OverridingBool", + "tag": "TyCon" + }, + { + "contents": "_r8mU\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "822", + "name": "Scheme", + "tag": "TyCon" + }, + { + "contents": "_r8mV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "823", + "name": "ProfAuto", + "tag": "TyCon" + }, + { + "contents": "_r8eW\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "824", + "name": "CallerCcFilter", + "tag": "TyCon" + }, + { + "contents": "_r8mW]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "825", + "name": "SseVersion", + "tag": "TyCon" + }, + { + "contents": "_r8mX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "826", + "name": "BmiVersion", + "tag": "TyCon" + }, + { + "contents": "_r8mE\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "827", + "name": "Word64", + "tag": "TyCon" + }, + { + "contents": "_32c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "734", + "name": "Weights", + "tag": "TyCon" + }, + { + "contents": "_r8mY\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "828", + "name": "UnitInfoMap", + "tag": "TyCon" + }, + { + "contents": "_rdXj\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "829", + "name": "PreloadUnitClosure", + "tag": "TyCon" + }, + { + "contents": "_rdXb\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "830", + "name": "PackageName", + "tag": "TyCon" + }, + { + "contents": "_rb5Z ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn]\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "831", + "name": "Unit", + "tag": "TyCon" + }, + { + "contents": "_r5An, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "832", + "name": "PackageArg", + "tag": "TyCon" + }, + { + "contents": "_r8aV)]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "833", + "name": "ModuleNameProvidersMap", + "tag": "TyCon" + }, + { + "contents": "_re1I\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "833", + "name": "ModuleNameProvidersMap", + "tag": "TyCon" + }, + { + "contents": "_re1I\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3 [", + "tag": "Text" + }, + { + "internalId": "757", + "name": "InstantiatedModule", + "tag": "TyCon" + }, + { + "contents": "_rdVD]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "681", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "681", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "834", + "name": "VisibleOrphanModules", + "tag": "TyCon" + }, + { + "contents": "_r7fb\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "710", + "name": "LinePragma", + "tag": "TyCon" + }, + { + "contents": "_r2x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p (", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "695", + "name": "FileLocation", + "tag": "TyCon" + }, + { + "contents": "_r1j)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "731", + "name": "GhcMode", + "tag": "TyCon" + }, + { + "contents": "_r64E\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "799", + "name": "GhcLink", + "tag": "TyCon" + }, + { + "contents": "_r64x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "800", + "name": "Backend", + "tag": "TyCon" + }, + { + "contents": "_r61Z\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "802", + "name": "Platform", + "tag": "TyCon" + }, + { + "contents": "_r7Mq\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g])]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "804", + "name": "TempDir", + "tag": "TyCon" + }, + { + "contents": "_r8mP\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "805", + "name": "ParMakeCount", + "tag": "TyCon" + }, + { + "contents": "_r8b6\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "806", + "name": "Word", + "tag": "TyCon" + }, + { + "contents": "_31W\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "807", + "name": "IntWithInf", + "tag": "TyCon" + }, + { + "contents": "_r8mQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "807", + "name": "IntWithInf", + "tag": "TyCon" + }, + { + "contents": "_r8mQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3,\n ", + "tag": "Text" + }, + { + "internalId": "739", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn))]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "837", + "name": "Way", + "tag": "TyCon" + }, + { + "contents": "_r8uQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "809", + "name": "DynLibLoader", + "tag": "TyCon" + }, + { + "contents": "_r8ao\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "810", + "name": "IncludeSpecs", + "tag": "TyCon" + }, + { + "contents": "_r8aA\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "669", + "name": "RtsOptsEnabled", + "tag": "TyCon" + }, + { + "contents": "_r8be\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3]\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g])]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "811", + "name": "ExternalPluginSpec", + "tag": "TyCon" + }, + { + "contents": "_r8mS]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "796", + "name": "PackageDBFlag", + "tag": "TyCon" + }, + { + "contents": "_r8aY]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "812", + "name": "IgnorePackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8ay]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "813", + "name": "PackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8b3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "813", + "name": "PackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8b3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "712", + "name": "TrustFlag", + "tag": "TyCon" + }, + { + "contents": "_r8bk]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "758", + "name": "DumpFlag", + "tag": "TyCon" + }, + { + "contents": "_r8bo\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "815", + "name": "GeneralFlag", + "tag": "TyCon" + }, + { + "contents": "_r64J\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "816", + "name": "WarningFlag", + "tag": "TyCon" + }, + { + "contents": "_r88u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "816", + "name": "WarningFlag", + "tag": "TyCon" + }, + { + "contents": "_r88u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "817", + "name": "WarningCategorySet", + "tag": "TyCon" + }, + { + "contents": "_r88v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "817", + "name": "WarningCategorySet", + "tag": "TyCon" + }, + { + "contents": "_r88v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "818", + "name": "Language", + "tag": "TyCon" + }, + { + "contents": "_r8d1\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "766", + "name": "SafeHaskellMode", + "tag": "TyCon" + }, + { + "contents": "_r6iV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "702", + "name": "OnOff", + "tag": "TyCon" + }, + { + "contents": "_r8aS ", + "tag": "Text" + }, + { + "internalId": "819", + "name": "Extension", + "tag": "TyCon" + }, + { + "contents": "_r6HC]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "819", + "name": "Extension", + "tag": "TyCon" + }, + { + "contents": "_r6HC\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "820", + "name": "UnfoldingOpts", + "tag": "TyCon" + }, + { + "contents": "_r8mT\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "748", + "name": "FlushOut", + "tag": "TyCon" + }, + { + "contents": "_r6Fa\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "821", + "name": "OverridingBool", + "tag": "TyCon" + }, + { + "contents": "_r8mU\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "821", + "name": "OverridingBool", + "tag": "TyCon" + }, + { + "contents": "_r8mU\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "822", + "name": "Scheme", + "tag": "TyCon" + }, + { + "contents": "_r8mV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "823", + "name": "ProfAuto", + "tag": "TyCon" + }, + { + "contents": "_r8eW\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "824", + "name": "CallerCcFilter", + "tag": "TyCon" + }, + { + "contents": "_r8mW]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "825", + "name": "SseVersion", + "tag": "TyCon" + }, + { + "contents": "_r8mX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "826", + "name": "BmiVersion", + "tag": "TyCon" + }, + { + "contents": "_r8mE\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "827", + "name": "Word64", + "tag": "TyCon" + }, + { + "contents": "_32c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "734", + "name": "Weights", + "tag": "TyCon" + }, + { + "contents": "_r8mY\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n (", + "tag": "Text" + }, + { + "internalId": "793", + "name": "GenericUnitInfo", + "tag": "TyCon" + }, + { + "contents": "_rdS9\n ", + "tag": "Text" + }, + { + "internalId": "741", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_rdS2\n ", + "tag": "Text" + }, + { + "internalId": "830", + "name": "PackageName", + "tag": "TyCon" + }, + { + "contents": "_rb5Z\n ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n (", + "tag": "Text" + }, + { + "internalId": "739", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn)))\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "838", + "name": "UniqSet", + "tag": "TyCon" + }, + { + "contents": "_r5Cc ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "830", + "name": "PackageName", + "tag": "TyCon" + }, + { + "contents": "_rb5Z ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn]\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "832", + "name": "PackageArg", + "tag": "TyCon" + }, + { + "contents": "_r8aV)]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n (", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n (", + "tag": "Text" + }, + { + "internalId": "739", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn)) ", + "tag": "Text" + }, + { + "internalId": "839", + "name": "ModuleOrigin", + "tag": "TyCon" + }, + { + "contents": "_rdX0)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n (", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n (", + "tag": "Text" + }, + { + "internalId": "739", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn)) ", + "tag": "Text" + }, + { + "internalId": "839", + "name": "ModuleOrigin", + "tag": "TyCon" + }, + { + "contents": "_rdX0)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n [", + "tag": "Text" + }, + { + "internalId": "739", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "840", + "name": "GenInstantiatedUnit", + "tag": "TyCon" + }, + { + "contents": "_rdVq ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn)]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "681", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "681", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "841", + "name": "NDModule", + "tag": "TyCon" + }, + { + "contents": "_rgOV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "710", + "name": "LinePragma", + "tag": "TyCon" + }, + { + "contents": "_r2x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p (", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "695", + "name": "FileLocation", + "tag": "TyCon" + }, + { + "contents": "_r1j)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF", + "tag": "Text" + } + ] + }, + "internalId": "170", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "Environment", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "Environment", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "Environment", + "sort": "External" + }, + "172": { + "demangledOccName": "envDynFlags", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envDynFlags", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0", + "tag": "Text" + } + ] + }, + "internalId": "172", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envDynFlags", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envDynFlags", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envDynFlags", + "sort": "External" + }, + "173": { + "demangledOccName": "envInstEnv", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envInstEnv", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "84", + "name": "InstEnvs", + "tag": "TyCon" + }, + { + "contents": "_r7eY", + "tag": "Text" + } + ] + }, + "internalId": "173", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envInstEnv", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envInstEnv", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envInstEnv", + "sort": "External" + }, + "174": { + "demangledOccName": "envTypeEnv", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envTypeEnv", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag", + "tag": "Text" + } + ] + }, + "internalId": "174", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envTypeEnv", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envTypeEnv", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envTypeEnv", + "sort": "External" + }, + "175": { + "demangledOccName": "envTransformation", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envTransformation", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B", + "tag": "Text" + } + ] + }, + "internalId": "175", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envTransformation", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envTransformation", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envTransformation", + "sort": "External" + }, + "176": { + "demangledOccName": "envCurrentModuleDefSites", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envCurrentModuleDefSites", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW", + "tag": "Text" + } + ] + }, + "internalId": "176", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envCurrentModuleDefSites", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envCurrentModuleDefSites", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envCurrentModuleDefSites", + "sort": "External" + }, + "178": { + "demangledOccName": "envFileMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envFileMap", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v", + "tag": "Text" + } + ] + }, + "internalId": "178", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envFileMap", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envFileMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envFileMap", + "sort": "External" + }, + "179": { + "demangledOccName": "envDefSiteMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envDefSiteMap", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW", + "tag": "Text" + } + ] + }, + "internalId": "179", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envDefSiteMap", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envDefSiteMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envDefSiteMap", + "sort": "External" + }, + "18": { + "demangledOccName": "srcSpanStartCol", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Val|srcSpanStartCol", + "idType": { + "components": [ + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u", + "tag": "Text" + } + ] + }, + "internalId": "18", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "srcSpanStartCol", + "moduleName": "GHC.Types.SrcLoc", + "name": "srcSpanStartCol", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "srcSpanStartCol", + "sort": "External" + }, + "180": { + "demangledOccName": "envModuleNameMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envModuleNameMap", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v)", + "tag": "Text" + } + ] + }, + "internalId": "180", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envModuleNameMap", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envModuleNameMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envModuleNameMap", + "sort": "External" + }, + "182": { + "demangledOccName": "envPackageId", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envPackageId", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m", + "tag": "Text" + } + ] + }, + "internalId": "182", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envPackageId", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envPackageId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envPackageId", + "sort": "External" + }, + "183": { + "demangledOccName": "envComponentId", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envComponentId", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv", + "tag": "Text" + } + ] + }, + "internalId": "183", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envComponentId", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envComponentId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envComponentId", + "sort": "External" + }, + "184": { + "demangledOccName": "envExportedNames", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envExportedNames", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5", + "tag": "Text" + } + ] + }, + "internalId": "184", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envExportedNames", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envExportedNames", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envExportedNames", + "sort": "External" + }, + "185": { + "demangledOccName": "envUnitState", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|envUnitState", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH", + "tag": "Text" + } + ] + }, + "internalId": "185", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "envUnitState", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "envUnitState", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "envUnitState", + "sort": "External" + }, + "187": { + "demangledOccName": "foldl'", + "details": "ClassOpId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Foldable|Val|foldl'", + "idType": { + "components": [ + { + "contents": "forall (t :: Type -> Type) b a.\n", + "tag": "Text" + }, + { + "internalId": "665", + "name": "Foldable", + "tag": "TyCon" + }, + { + "contents": "_2z ", + "tag": "Text" + }, + { + "internalId": "668", + "name": "t", + "tag": "TyCon" + }, + { + "contents": " =>\n(", + "tag": "Text" + }, + { + "internalId": "941", + "name": "b", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "921", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "941", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "941", + "name": "b", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "668", + "name": "t", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "921", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "941", + "name": "b", + "tag": "TyCon" + } + ] + }, + "internalId": "187", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "foldl-39-", + "moduleName": "GHC.Internal.Data.Foldable", + "name": "foldl'", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "foldl'", + "sort": "External" + }, + "188": { + "demangledOccName": "maybe", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Maybe|Val|maybe", + "idType": { + "components": [ + { + "contents": "forall b a. ", + "tag": "Text" + }, + { + "internalId": "768", + "name": "b", + "tag": "TyCon" + }, + { + "contents": " -> (", + "tag": "Text" + }, + { + "internalId": "900", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "768", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "900", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "768", + "name": "b", + "tag": "TyCon" + } + ] + }, + "internalId": "188", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "maybe", + "moduleName": "GHC.Internal.Data.Maybe", + "name": "maybe", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "maybe", + "sort": "External" + }, + "19": { + "demangledOccName": "collectHsBindBinders", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Hs.Utils|Val|collectHsBindBinders", + "idType": { + "components": [ + { + "contents": "forall p idR.\n", + "tag": "Text" + }, + { + "internalId": "873", + "name": "CollectPass", + "tag": "TyCon" + }, + { + "contents": "_r6dy ", + "tag": "Text" + }, + { + "internalId": "749", + "name": "p", + "tag": "TyCon" + }, + { + "contents": " =>\n", + "tag": "Text" + }, + { + "internalId": "20", + "name": "CollectFlag", + "tag": "TyCon" + }, + { + "contents": "_r6du ", + "tag": "Text" + }, + { + "internalId": "749", + "name": "p", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "9", + "name": "HsBindLR", + "tag": "TyCon" + }, + { + "contents": "_r5yz ", + "tag": "Text" + }, + { + "internalId": "749", + "name": "p", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "874", + "name": "idR", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "787", + "name": "IdP", + "tag": "TyCon" + }, + { + "contents": "_r5zj ", + "tag": "Text" + }, + { + "internalId": "749", + "name": "p", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "19", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "collectHsBindBinders", + "moduleName": "GHC.Hs.Utils", + "name": "collectHsBindBinders", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "collectHsBindBinders", + "sort": "External" + }, + "190": { + "demangledOccName": "ExternalIdentifierInfo", + "details": "DataConWrapId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|ExternalIdentifierInfo", + "idType": { + "components": [ + { + "internalId": "764", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N %1 -> ", + "tag": "Text" + }, + { + "internalId": "765", + "name": "ExternalIdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1g", + "tag": "Text" + } + ] + }, + "internalId": "190", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ExternalIdentifierInfo", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ExternalIdentifierInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "ExternalIdentifierInfo", + "sort": "External" + }, + "192": { + "demangledOccName": "mkIdentifierInfo", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|mkIdentifierInfo", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 -> ", + "tag": "Text" + }, + { + "internalId": "764", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 -> ", + "tag": "Text" + }, + { + "internalId": "764", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N", + "tag": "Text" + } + ] + }, + "internalId": "192", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "mkIdentifierInfo", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "mkIdentifierInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "mkIdentifierInfo", + "sort": "External" + }, + "195": { + "demangledOccName": ":", + "details": "DataConWorkId", + "externalId": "ghc-prim-0.12.0|GHC.Types|Val|:", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "696", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " %1 -> [", + "tag": "Text" + }, + { + "internalId": "696", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] %1 -> [", + "tag": "Text" + }, + { + "internalId": "696", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "195", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "-58-", + "moduleName": "GHC.Types", + "name": ":", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": ":", + "sort": "External" + }, + "197": { + "demangledOccName": "lookupIdInTypeEnv", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|lookupIdInTypeEnv", + "idType": { + "components": [ + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae -> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag\n-> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX", + "tag": "Text" + } + ] + }, + "internalId": "197", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "lookupIdInTypeEnv", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "lookupIdInTypeEnv", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "lookupIdInTypeEnv", + "sort": "External" + }, + "198": { + "demangledOccName": "[]", + "details": "DataConWorkId", + "externalId": "ghc-prim-0.12.0|GHC.Types|Val|[]", + "idType": { + "components": [ + { + "contents": "forall a. [", + "tag": "Text" + }, + { + "internalId": "696", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "198", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "-91--93-", + "moduleName": "GHC.Types", + "name": "[]", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "[]", + "sort": "External" + }, + "2": { + "demangledOccName": "UnitState", + "externalId": "ghc-9.10.2|GHC.Unit.State|Typ|UnitState", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "2", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UnitState", + "moduleName": "GHC.Unit.State", + "name": "UnitState", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UnitState", + "sort": "External" + }, + "20": { + "demangledOccName": "CollectFlag", + "externalId": "ghc-9.10.2|GHC.Hs.Utils|Typ|CollectFlag", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "20", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "CollectFlag", + "moduleName": "GHC.Hs.Utils", + "name": "CollectFlag", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "CollectFlag", + "sort": "External" + }, + "202": { + "demangledOccName": "HaskellModuleName", + "details": "DataConWrapId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|HaskellModuleName", + "idType": { + "components": [ + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g %1 -> ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s", + "tag": "Text" + } + ] + }, + "internalId": "202", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "HaskellModuleName", + "moduleName": "HaskellCodeExplorer.Types", + "name": "HaskellModuleName", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "HaskellModuleName", + "sort": "External" + }, + "204": { + "demangledOccName": "pack", + "details": "VanillaId", + "externalId": "text-2.1.2|Data.Text.Internal|Val|pack", + "idType": { + "components": [ + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g] -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "204", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "pack", + "moduleName": "Data.Text.Internal", + "name": "pack", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "pack", + "sort": "External" + }, + "205": { + "demangledOccName": "sourceInfoExprMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|sourceInfoExprMap", + "idType": { + "components": [ + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy -> ", + "tag": "Text" + }, + { + "internalId": "241", + "name": "ExpressionInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r1c", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy\n-> ", + "tag": "Text" + }, + { + "internalId": "638", + "name": "IntervalMap", + "tag": "TyCon" + }, + { + "contents": "_r4P\n (", + "tag": "Text" + }, + { + "internalId": "756", + "name": "Interval", + "tag": "TyCon" + }, + { + "contents": "_r4k (", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)) ", + "tag": "Text" + }, + { + "internalId": "675", + "name": "ExpressionInfo", + "tag": "TyCon" + }, + { + "contents": "_r18", + "tag": "Text" + } + ] + }, + "internalId": "205", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "sourceInfoExprMap", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "sourceInfoExprMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "sourceInfoExprMap", + "sort": "External" + }, + "206": { + "demangledOccName": "foldAST", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|foldAST", + "idType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF -> ", + "tag": "Text" + }, + { + "internalId": "39", + "name": "TypecheckedModule", + "tag": "TyCon" + }, + { + "contents": "_r61n -> ", + "tag": "Text" + }, + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy", + "tag": "Text" + } + ] + }, + "internalId": "206", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "foldAST", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "foldAST", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "foldAST", + "sort": "External" + }, + "208": { + "demangledOccName": "tidyInternalIds", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|tidyInternalIds", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z", + "tag": "Text" + } + ] + }, + "internalId": "208", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tidyInternalIds", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "tidyInternalIds", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tidyInternalIds", + "sort": "External" + }, + "21": { + "demangledOccName": "hsc_unit_env", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Driver.Env.Types|Val|hsc_unit_env", + "idType": { + "components": [ + { + "internalId": "22", + "name": "HscEnv", + "tag": "TyCon" + }, + { + "contents": "_r64I -> ", + "tag": "Text" + }, + { + "internalId": "842", + "name": "UnitEnv", + "tag": "TyCon" + }, + { + "contents": "_rdPJ", + "tag": "Text" + } + ] + }, + "internalId": "21", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "hsc_unit_env", + "moduleName": "GHC.Driver.Env.Types", + "name": "hsc_unit_env", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "hsc_unit_env", + "sort": "External" + }, + "210": { + "demangledOccName": "ModuleInfo", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|ModuleInfo", + "idType": { + "components": [ + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "759", + "name": "Array#", + "tag": "TyCon" + }, + { + "contents": "_36 ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "710", + "name": "LinePragma", + "tag": "TyCon" + }, + { + "contents": "_r2x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p (", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "695", + "name": "FileLocation", + "tag": "TyCon" + }, + { + "contents": "_r1j)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "241", + "name": "ExpressionInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r1c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "421", + "name": "Declaration", + "tag": "TyCon" + }, + { + "contents": "_rG]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "765", + "name": "ExternalIdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "759", + "name": "Array#", + "tag": "TyCon" + }, + { + "contents": "_36 ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "710", + "name": "LinePragma", + "tag": "TyCon" + }, + { + "contents": "_r2x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p (", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "695", + "name": "FileLocation", + "tag": "TyCon" + }, + { + "contents": "_r1j)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "638", + "name": "IntervalMap", + "tag": "TyCon" + }, + { + "contents": "_r4P\n (", + "tag": "Text" + }, + { + "internalId": "756", + "name": "Interval", + "tag": "TyCon" + }, + { + "contents": "_r4k (", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)) ", + "tag": "Text" + }, + { + "internalId": "675", + "name": "ExpressionInfo", + "tag": "TyCon" + }, + { + "contents": "_r18\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "764", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "421", + "name": "Declaration", + "tag": "TyCon" + }, + { + "contents": "_rG]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "765", + "name": "ExternalIdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z", + "tag": "Text" + } + ] + }, + "internalId": "210", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ModuleInfo", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ModuleInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "ModuleInfo", + "sort": "External" + }, + "212": { + "demangledOccName": "id", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|id", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v", + "tag": "Text" + } + ] + }, + "internalId": "212", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "id", + "moduleName": "HaskellCodeExplorer.Types", + "name": "id", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "id", + "sort": "External" + }, + "213": { + "demangledOccName": "transformation", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|transformation", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B", + "tag": "Text" + } + ] + }, + "internalId": "213", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "transformation", + "moduleName": "HaskellCodeExplorer.Types", + "name": "transformation", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "transformation", + "sort": "External" + }, + "214": { + "demangledOccName": "name", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|name", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s", + "tag": "Text" + } + ] + }, + "internalId": "214", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "name", + "moduleName": "HaskellCodeExplorer.Types", + "name": "name", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "name", + "sort": "External" + }, + "215": { + "demangledOccName": "declarations", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|declarations", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> [", + "tag": "Text" + }, + { + "internalId": "421", + "name": "Declaration", + "tag": "TyCon" + }, + { + "contents": "_rG]", + "tag": "Text" + } + ] + }, + "internalId": "215", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "declarations", + "moduleName": "HaskellCodeExplorer.Types", + "name": "declarations", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "declarations", + "sort": "External" + }, + "216": { + "demangledOccName": "exprInfoMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|exprInfoMap", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "241", + "name": "ExpressionInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r1c", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z\n-> ", + "tag": "Text" + }, + { + "internalId": "638", + "name": "IntervalMap", + "tag": "TyCon" + }, + { + "contents": "_r4P\n (", + "tag": "Text" + }, + { + "internalId": "756", + "name": "Interval", + "tag": "TyCon" + }, + { + "contents": "_r4k (", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)) ", + "tag": "Text" + }, + { + "internalId": "675", + "name": "ExpressionInfo", + "tag": "TyCon" + }, + { + "contents": "_r18", + "tag": "Text" + } + ] + }, + "internalId": "216", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "exprInfoMap", + "moduleName": "HaskellCodeExplorer.Types", + "name": "exprInfoMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "exprInfoMap", + "sort": "External" + }, + "218": { + "demangledOccName": "idInfoMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|idInfoMap", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "764", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N", + "tag": "Text" + } + ] + }, + "internalId": "218", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "idInfoMap", + "moduleName": "HaskellCodeExplorer.Types", + "name": "idInfoMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "idInfoMap", + "sort": "External" + }, + "22": { + "demangledOccName": "HscEnv", + "externalId": "ghc-9.10.2|GHC.Driver.Env.Types|Typ|HscEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "22", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HscEnv", + "moduleName": "GHC.Driver.Env.Types", + "name": "HscEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HscEnv", + "sort": "External" + }, + "220": { + "demangledOccName": "idOccMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|idOccMap", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z\n-> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]", + "tag": "Text" + } + ] + }, + "internalId": "220", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "idOccMap", + "moduleName": "HaskellCodeExplorer.Types", + "name": "idOccMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "idOccMap", + "sort": "External" + }, + "222": { + "demangledOccName": "definitionSiteMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|definitionSiteMap", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW", + "tag": "Text" + } + ] + }, + "internalId": "222", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "definitionSiteMap", + "moduleName": "HaskellCodeExplorer.Types", + "name": "definitionSiteMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "definitionSiteMap", + "sort": "External" + }, + "223": { + "demangledOccName": "source", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|source", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> ", + "tag": "Text" + }, + { + "internalId": "701", + "name": "Vector", + "tag": "TyCon" + }, + { + "contents": "_r4f ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "223", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "source", + "moduleName": "HaskellCodeExplorer.Types", + "name": "source", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "source", + "sort": "External" + }, + "224": { + "demangledOccName": "fromList", + "details": "VanillaId", + "externalId": "vector-0.13.2.0|Data.Vector|Val|fromList", + "idType": { + "components": [ + { + "contents": "forall a. [", + "tag": "Text" + }, + { + "internalId": "700", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> ", + "tag": "Text" + }, + { + "internalId": "701", + "name": "Vector", + "tag": "TyCon" + }, + { + "contents": "_r4f ", + "tag": "Text" + }, + { + "internalId": "700", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "224", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "fromList", + "moduleName": "Data.Vector", + "name": "fromList", + "packageId": { + "name": "vector", + "version": "0.13.2.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "fromList", + "sort": "External" + }, + "225": { + "demangledOccName": "splitOn", + "details": "VanillaId", + "externalId": "text-2.1.2|Data.Text|Val|splitOn", + "idType": { + "components": [ + { + "internalId": "747", + "name": "HasCallStack", + "tag": "TyCon" + }, + { + "contents": "_r3os => ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> [", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "(?callStack::", + "tag": "Text" + }, + { + "internalId": "794", + "name": "CallStack", + "tag": "TyCon" + }, + { + "contents": "_36a) => ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> [", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g]", + "tag": "Text" + } + ] + }, + "internalId": "225", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "splitOn", + "moduleName": "Data.Text", + "name": "splitOn", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "splitOn", + "sort": "External" + }, + "227": { + "demangledOccName": "externalIds", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|externalIds", + "idType": { + "components": [ + { + "internalId": "116", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r2Z -> [", + "tag": "Text" + }, + { + "internalId": "765", + "name": "ExternalIdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1g]", + "tag": "Text" + } + ] + }, + "internalId": "227", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "externalIds", + "moduleName": "HaskellCodeExplorer.Types", + "name": "externalIds", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "externalIds", + "sort": "External" + }, + "228": { + "demangledOccName": "not", + "details": "VanillaId", + "externalId": "ghc-prim-0.12.0|GHC.Classes|Val|not", + "idType": { + "components": [ + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "228", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "not", + "moduleName": "GHC.Classes", + "name": "not", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "not", + "sort": "External" + }, + "229": { + "demangledOccName": "isHsBoot", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|isHsBoot", + "idType": { + "components": [ + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "229", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "isHsBoot", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "isHsBoot", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "isHsBoot", + "sort": "External" + }, + "23": { + "demangledOccName": "ue_units", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Unit.Env|Val|ue_units", + "idType": { + "components": [ + { + "internalId": "870", + "name": "HasDebugCallStack", + "tag": "TyCon" + }, + { + "contents": "_r737 => ", + "tag": "Text" + }, + { + "internalId": "842", + "name": "UnitEnv", + "tag": "TyCon" + }, + { + "contents": "_rdPJ -> ", + "tag": "Text" + }, + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "(() :: Constraint) => ", + "tag": "Text" + }, + { + "internalId": "842", + "name": "UnitEnv", + "tag": "TyCon" + }, + { + "contents": "_rdPJ -> ", + "tag": "Text" + }, + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH", + "tag": "Text" + } + ] + }, + "internalId": "23", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ue_units", + "moduleName": "GHC.Unit.Env", + "name": "ue_units", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "ue_units", + "sort": "External" + }, + "230": { + "demangledOccName": "union", + "details": "VanillaId", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal|Val|union", + "idType": { + "components": [ + { + "contents": "forall k v.\n", + "tag": "Text" + }, + { + "internalId": "248", + "name": "Eq", + "tag": "TyCon" + }, + { + "contents": "_23 ", + "tag": "Text" + }, + { + "internalId": "664", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " =>\n", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "664", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "895", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "664", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "895", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "664", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "895", + "name": "v", + "tag": "TyCon" + } + ] + }, + "internalId": "230", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "union", + "moduleName": "Data.HashMap.Internal", + "name": "union", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "union", + "sort": "External" + }, + "231": { + "demangledOccName": "fromList", + "details": "VanillaId", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal.Strict|Val|fromList", + "idType": { + "components": [ + { + "contents": "forall k v.\n(", + "tag": "Text" + }, + { + "internalId": "248", + "name": "Eq", + "tag": "TyCon" + }, + { + "contents": "_23 ", + "tag": "Text" + }, + { + "internalId": "930", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "640", + "name": "Hashable", + "tag": "TyCon" + }, + { + "contents": "_rnh ", + "tag": "Text" + }, + { + "internalId": "930", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ") =>\n[(", + "tag": "Text" + }, + { + "internalId": "930", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "791", + "name": "v", + "tag": "TyCon" + }, + { + "contents": ")] -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "930", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "791", + "name": "v", + "tag": "TyCon" + } + ] + }, + "internalId": "231", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "fromList", + "moduleName": "Data.HashMap.Internal.Strict", + "name": "fromList", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "fromList", + "sort": "External" + }, + "232": { + "demangledOccName": "HaskellFilePath", + "details": "DataConWrapId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|HaskellFilePath", + "idType": { + "components": [ + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g %1 -> ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p", + "tag": "Text" + } + ] + }, + "internalId": "232", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "HaskellFilePath", + "moduleName": "HaskellCodeExplorer.Types", + "name": "HaskellFilePath", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "HaskellFilePath", + "sort": "External" + }, + "234": { + "demangledOccName": "map", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|map", + "idType": { + "components": [ + { + "contents": "forall a b. (", + "tag": "Text" + }, + { + "internalId": "938", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "884", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> [", + "tag": "Text" + }, + { + "internalId": "938", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> [", + "tag": "Text" + }, + { + "internalId": "884", + "name": "b", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "234", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "map", + "moduleName": "GHC.Internal.Base", + "name": "map", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "map", + "sort": "External" + }, + "235": { + "demangledOccName": "singleton", + "details": "VanillaId", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal.Strict|Val|singleton", + "idType": { + "components": [ + { + "contents": "forall k v. ", + "tag": "Text" + }, + { + "internalId": "640", + "name": "Hashable", + "tag": "TyCon" + }, + { + "contents": "_rnh ", + "tag": "Text" + }, + { + "internalId": "678", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "678", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "679", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "678", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "679", + "name": "v", + "tag": "TyCon" + } + ] + }, + "internalId": "235", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "singleton", + "moduleName": "Data.HashMap.Internal.Strict", + "name": "singleton", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "singleton", + "sort": "External" + }, + "236": { + "demangledOccName": "insertWith", + "details": "VanillaId", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal.Strict|Val|insertWith", + "idType": { + "components": [ + { + "contents": "forall k v.\n(", + "tag": "Text" + }, + { + "internalId": "248", + "name": "Eq", + "tag": "TyCon" + }, + { + "contents": "_23 ", + "tag": "Text" + }, + { + "internalId": "671", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "640", + "name": "Hashable", + "tag": "TyCon" + }, + { + "contents": "_rnh ", + "tag": "Text" + }, + { + "internalId": "671", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ") =>\n(", + "tag": "Text" + }, + { + "internalId": "672", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "672", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "672", + "name": "v", + "tag": "TyCon" + }, + { + "contents": ")\n-> ", + "tag": "Text" + }, + { + "internalId": "671", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "672", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "671", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "672", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "671", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "672", + "name": "v", + "tag": "TyCon" + } + ] + }, + "internalId": "236", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "insertWith", + "moduleName": "Data.HashMap.Internal.Strict", + "name": "insertWith", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "insertWith", + "sort": "External" + }, + "238": { + "demangledOccName": "SourceInfo", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Typ|SourceInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "238", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "SourceInfo", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "SourceInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "SourceInfo", + "sort": "External" + }, + "239": { + "demangledOccName": "SourceInfo", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|SourceInfo", + "idType": { + "components": [ + { + "internalId": "241", + "name": "ExpressionInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r1c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "638", + "name": "IntervalMap", + "tag": "TyCon" + }, + { + "contents": "_r4P (", + "tag": "Text" + }, + { + "internalId": "756", + "name": "Interval", + "tag": "TyCon" + }, + { + "contents": "_r4k (", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)) ", + "tag": "Text" + }, + { + "internalId": "675", + "name": "ExpressionInfo", + "tag": "TyCon" + }, + { + "contents": "_r18\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "764", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy", + "tag": "Text" + } + ] + }, + "internalId": "239", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "SourceInfo", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "SourceInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "SourceInfo", + "sort": "External" + }, + "24": { + "demangledOccName": "eltsUDFM", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.Unique.DFM|Val|eltsUDFM", + "idType": { + "components": [ + { + "contents": "forall {k} (key :: k) elt. ", + "tag": "Text" + }, + { + "internalId": "752", + "name": "UniqDFM", + "tag": "TyCon" + }, + { + "contents": "_rdC4 ", + "tag": "Text" + }, + { + "internalId": "931", + "name": "key", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "932", + "name": "elt", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "932", + "name": "elt", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "24", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "eltsUDFM", + "moduleName": "GHC.Types.Unique.DFM", + "name": "eltsUDFM", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "eltsUDFM", + "sort": "External" + }, + "241": { + "demangledOccName": "ExpressionInfoMap", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|ExpressionInfoMap", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "241", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ExpressionInfoMap", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ExpressionInfoMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ExpressionInfoMap", + "sort": "External" + }, + "242": { + "demangledOccName": "sourceInfoIdMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|sourceInfoIdMap", + "idType": { + "components": [ + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy -> ", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "764", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N", + "tag": "Text" + } + ] + }, + "internalId": "242", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "sourceInfoIdMap", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "sourceInfoIdMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "sourceInfoIdMap", + "sort": "External" + }, + "243": { + "demangledOccName": "IdentifierInfoMap", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|IdentifierInfoMap", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "243", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IdentifierInfoMap", + "moduleName": "HaskellCodeExplorer.Types", + "name": "IdentifierInfoMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IdentifierInfoMap", + "sort": "External" + }, + "244": { + "demangledOccName": "sourceInfoIdOccMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|sourceInfoIdOccMap", + "idType": { + "components": [ + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy -> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy\n-> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]", + "tag": "Text" + } + ] + }, + "internalId": "244", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "sourceInfoIdOccMap", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "sourceInfoIdOccMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "sourceInfoIdOccMap", + "sort": "External" + }, + "245": { + "demangledOccName": "IdentifierOccurrenceMap", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|IdentifierOccurrenceMap", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "245", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IdentifierOccurrenceMap", + "moduleName": "HaskellCodeExplorer.Types", + "name": "IdentifierOccurrenceMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IdentifierOccurrenceMap", + "sort": "External" + }, + "246": { + "demangledOccName": "sourceInfoTypeErrors", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|sourceInfoTypeErrors", + "idType": { + "components": [ + { + "internalId": "238", + "name": "SourceInfo", + "tag": "TyCon" + }, + { + "contents": "_rgMy -> [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT]", + "tag": "Text" + } + ] + }, + "internalId": "246", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "sourceInfoTypeErrors", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "sourceInfoTypeErrors", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "sourceInfoTypeErrors", + "sort": "External" + }, + "247": { + "demangledOccName": "Show", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Show|Typ|Show", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "247", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Show", + "moduleName": "GHC.Internal.Show", + "name": "Show", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Show", + "sort": "External" + }, + "248": { + "demangledOccName": "Eq", + "externalId": "ghc-prim-0.12.0|GHC.Classes|Typ|Eq", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "248", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Eq", + "moduleName": "GHC.Classes", + "name": "Eq", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Eq", + "sort": "External" + }, + "249": { + "demangledOccName": "transformBiM", + "details": "VanillaId", + "externalId": "uniplate-1.6.13|Data.Generics.Uniplate.Operations|Val|transformBiM", + "idType": { + "components": [ + { + "contents": "forall (m :: Type -> Type) from to.\n(", + "tag": "Text" + }, + { + "internalId": "851", + "name": "Monad", + "tag": "TyCon" + }, + { + "contents": "_28 ", + "tag": "Text" + }, + { + "internalId": "852", + "name": "m", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "778", + "name": "Applicative", + "tag": "TyCon" + }, + { + "contents": "_2y ", + "tag": "Text" + }, + { + "internalId": "852", + "name": "m", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "853", + "name": "Biplate", + "tag": "TyCon" + }, + { + "contents": "_r5Cj ", + "tag": "Text" + }, + { + "internalId": "854", + "name": "from", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "855", + "name": "to", + "tag": "TyCon" + }, + { + "contents": ") =>\n(", + "tag": "Text" + }, + { + "internalId": "855", + "name": "to", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "852", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "855", + "name": "to", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "854", + "name": "from", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "852", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "854", + "name": "from", + "tag": "TyCon" + } + ] + }, + "internalId": "249", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "transformBiM", + "moduleName": "Data.Generics.Uniplate.Operations", + "name": "transformBiM", + "packageId": { + "name": "uniplate", + "version": "1.6.13" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "transformBiM", + "sort": "External" + }, + "25": { + "demangledOccName": "toStrict", + "details": "VanillaId", + "externalId": "text-2.1.2|Data.Text.Lazy|Val|toStrict", + "idType": { + "components": [ + { + "internalId": "649", + "name": "LazyText", + "tag": "TyCon" + }, + { + "contents": "_r55v -> ", + "tag": "Text" + }, + { + "internalId": "753", + "name": "StrictText", + "tag": "TyCon" + }, + { + "contents": "_r4Xg", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "754", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r1FH -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "25", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "toStrict", + "moduleName": "Data.Text.Lazy", + "name": "toStrict", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "toStrict", + "sort": "External" + }, + "252": { + "demangledOccName": "empty", + "details": "VanillaId", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal|Val|empty", + "idType": { + "components": [ + { + "contents": "forall k v. ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "795", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "711", + "name": "v", + "tag": "TyCon" + } + ] + }, + "internalId": "252", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "empty", + "moduleName": "Data.HashMap.Internal", + "name": "empty", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "empty", + "sort": "External" + }, + "253": { + "demangledOccName": "InternalId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|InternalId", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "253", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "InternalId", + "moduleName": "HaskellCodeExplorer.Types", + "name": "InternalId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "InternalId", + "sort": "External" + }, + "254": { + "demangledOccName": "Int", + "externalId": "ghc-prim-0.12.0|GHC.Types|Typ|Int", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "254", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Int", + "moduleName": "GHC.Types", + "name": "Int", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Int", + "sort": "External" + }, + "255": { + "demangledOccName": "lookup", + "details": "VanillaId", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal|Val|lookup", + "idType": { + "components": [ + { + "contents": "forall k v.\n(", + "tag": "Text" + }, + { + "internalId": "248", + "name": "Eq", + "tag": "TyCon" + }, + { + "contents": "_23 ", + "tag": "Text" + }, + { + "internalId": "918", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "640", + "name": "Hashable", + "tag": "TyCon" + }, + { + "contents": "_rnh ", + "tag": "Text" + }, + { + "internalId": "918", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ") =>\n", + "tag": "Text" + }, + { + "internalId": "918", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "918", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "699", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "699", + "name": "v", + "tag": "TyCon" + } + ] + }, + "internalId": "255", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "lookup", + "moduleName": "Data.HashMap.Internal", + "name": "lookup", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "lookup", + "sort": "External" + }, + "258": { + "demangledOccName": "return", + "details": "ClassOpId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|return", + "idType": { + "components": [ + { + "contents": "forall (m :: Type -> Type) a. ", + "tag": "Text" + }, + { + "internalId": "851", + "name": "Monad", + "tag": "TyCon" + }, + { + "contents": "_28 ", + "tag": "Text" + }, + { + "internalId": "909", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "860", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "909", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "860", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "258", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "return", + "moduleName": "GHC.Internal.Base", + "name": "return", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "return", + "sort": "External" + }, + "259": { + "demangledOccName": "InternalId", + "details": "DataConWrapId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|InternalId", + "idType": { + "components": [ + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g %1 -> ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u", + "tag": "Text" + } + ] + }, + "internalId": "259", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "InternalId", + "moduleName": "HaskellCodeExplorer.Types", + "name": "InternalId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "InternalId", + "sort": "External" + }, + "26": { + "demangledOccName": "DocH", + "externalId": "haddock-library-1.11.0|Documentation.Haddock.Types|Typ|DocH", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "26", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "DocH", + "moduleName": "Documentation.Haddock.Types", + "name": "DocH", + "packageId": { + "name": "haddock-library", + "version": "1.11.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "DocH", + "sort": "External" + }, + "263": { + "demangledOccName": "show", + "details": "ClassOpId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Show|Val|show", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "247", + "name": "Show", + "tag": "TyCon" + }, + { + "contents": "_2h ", + "tag": "Text" + }, + { + "internalId": "630", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "630", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "247", + "name": "Show", + "tag": "TyCon" + }, + { + "contents": "_2h ", + "tag": "Text" + }, + { + "internalId": "630", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "630", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]", + "tag": "Text" + } + ] + }, + "internalId": "263", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "show", + "moduleName": "GHC.Internal.Show", + "name": "show", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "show", + "sort": "External" + }, + "265": { + "demangledOccName": "insert", + "details": "VanillaId", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal.Strict|Val|insert", + "idType": { + "components": [ + { + "contents": "forall k v.\n(", + "tag": "Text" + }, + { + "internalId": "248", + "name": "Eq", + "tag": "TyCon" + }, + { + "contents": "_23 ", + "tag": "Text" + }, + { + "internalId": "639", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "640", + "name": "Hashable", + "tag": "TyCon" + }, + { + "contents": "_rnh ", + "tag": "Text" + }, + { + "internalId": "639", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ") =>\n", + "tag": "Text" + }, + { + "internalId": "639", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "641", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "639", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "641", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "639", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "641", + "name": "v", + "tag": "TyCon" + } + ] + }, + "internalId": "265", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "insert", + "moduleName": "Data.HashMap.Internal.Strict", + "name": "insert", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "insert", + "sort": "External" + }, + "266": { + "demangledOccName": "+", + "details": "ClassOpId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Num|Val|+", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "894", + "name": "Num", + "tag": "TyCon" + }, + { + "contents": "_2b ", + "tag": "Text" + }, + { + "internalId": "849", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "849", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "849", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "849", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "266", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "-43-", + "moduleName": "GHC.Internal.Num", + "name": "+", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "+", + "sort": "External" + }, + "267": { + "demangledOccName": "SourceCodeTransformation", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|SourceCodeTransformation", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "267", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "SourceCodeTransformation", + "moduleName": "HaskellCodeExplorer.Types", + "name": "SourceCodeTransformation", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "SourceCodeTransformation", + "sort": "External" + }, + "269": { + "demangledOccName": "decodeUtf8'", + "details": "VanillaId", + "externalId": "text-2.1.2|Data.Text.Encoding|Val|decodeUtf8'", + "idType": { + "components": [ + { + "internalId": "713", + "name": "ByteString", + "tag": "TyCon" + }, + { + "contents": "_rxT -> ", + "tag": "Text" + }, + { + "internalId": "646", + "name": "Either", + "tag": "TyCon" + }, + { + "contents": "_32I ", + "tag": "Text" + }, + { + "internalId": "714", + "name": "UnicodeException", + "tag": "TyCon" + }, + { + "contents": "_r4Xy ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "269", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "decodeUtf8-39-", + "moduleName": "Data.Text.Encoding", + "name": "decodeUtf8'", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "decodeUtf8'", + "sort": "External" + }, + "27": { + "demangledOccName": "showSDocUnsafe", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Utils.Outputable|Val|showSDocUnsafe", + "idType": { + "components": [ + { + "internalId": "862", + "name": "SDoc", + "tag": "TyCon" + }, + { + "contents": "_r6I5 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "862", + "name": "SDoc", + "tag": "TyCon" + }, + { + "contents": "_r6I5 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]", + "tag": "Text" + } + ] + }, + "internalId": "27", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "showSDocUnsafe", + "moduleName": "GHC.Utils.Outputable", + "name": "showSDocUnsafe", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "showSDocUnsafe", + "sort": "External" + }, + "270": { + "demangledOccName": "error", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Err|Val|error", + "idType": { + "components": [ + { + "contents": "forall (r :: RuntimeRep) (a :: TYPE r).\n", + "tag": "Text" + }, + { + "internalId": "747", + "name": "HasCallStack", + "tag": "TyCon" + }, + { + "contents": "_r3os =>\n[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g] -> ", + "tag": "Text" + }, + { + "internalId": "789", + "name": "a", + "tag": "TyCon" + } + ], + "componentsExpanded": [ + { + "contents": "forall (r :: RuntimeRep) (a :: TYPE r).\n(?callStack::", + "tag": "Text" + }, + { + "internalId": "794", + "name": "CallStack", + "tag": "TyCon" + }, + { + "contents": "_36a) =>\n[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g] -> ", + "tag": "Text" + }, + { + "internalId": "789", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "270", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "error", + "moduleName": "GHC.Internal.Err", + "name": "error", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "error", + "sort": "External" + }, + "271": { + "demangledOccName": "stringBufferToByteString", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|stringBufferToByteString", + "idType": { + "components": [ + { + "internalId": "652", + "name": "StringBuffer", + "tag": "TyCon" + }, + { + "contents": "_r5BG -> ", + "tag": "Text" + }, + { + "internalId": "713", + "name": "ByteString", + "tag": "TyCon" + }, + { + "contents": "_rxT", + "tag": "Text" + } + ] + }, + "internalId": "271", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "stringBufferToByteString", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "stringBufferToByteString", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "stringBufferToByteString", + "sort": "External" + }, + "273": { + "demangledOccName": "replace", + "details": "VanillaId", + "externalId": "text-2.1.2|Data.Text|Val|replace", + "idType": { + "components": [ + { + "internalId": "747", + "name": "HasCallStack", + "tag": "TyCon" + }, + { + "contents": "_r3os => ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "(?callStack::", + "tag": "Text" + }, + { + "internalId": "794", + "name": "CallStack", + "tag": "TyCon" + }, + { + "contents": "_36a) =>\n", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "273", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "replace", + "moduleName": "Data.Text", + "name": "replace", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "replace", + "sort": "External" + }, + "28": { + "demangledOccName": "DynFlags", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|DynFlags", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "28", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "DynFlags", + "moduleName": "GHC.Driver.DynFlags", + "name": "DynFlags", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "DynFlags", + "sort": "External" + }, + "280": { + "demangledOccName": "SourceCodeTransformation", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|SourceCodeTransformation", + "idType": { + "components": [ + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "710", + "name": "LinePragma", + "tag": "TyCon" + }, + { + "contents": "_r2x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p (", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "695", + "name": "FileLocation", + "tag": "TyCon" + }, + { + "contents": "_r1j)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B", + "tag": "Text" + } + ] + }, + "internalId": "280", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "SourceCodeTransformation", + "moduleName": "HaskellCodeExplorer.Types", + "name": "SourceCodeTransformation", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "SourceCodeTransformation", + "sort": "External" + }, + "282": { + "demangledOccName": "length", + "details": "ClassOpId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Foldable|Val|length", + "idType": { + "components": [ + { + "contents": "forall (t :: Type -> Type) a. ", + "tag": "Text" + }, + { + "internalId": "665", + "name": "Foldable", + "tag": "TyCon" + }, + { + "contents": "_2z ", + "tag": "Text" + }, + { + "internalId": "668", + "name": "t", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "668", + "name": "t", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "923", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u", + "tag": "Text" + } + ] + }, + "internalId": "282", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "length", + "moduleName": "GHC.Internal.Data.Foldable", + "name": "length", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "length", + "sort": "External" + }, + "283": { + "demangledOccName": "empty", + "details": "VanillaId", + "externalId": "containers-0.7|Data.Set.Internal|Val|empty", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "730", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "283", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "empty", + "moduleName": "Data.Set.Internal", + "name": "empty", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "empty", + "sort": "External" + }, + "285": { + "demangledOccName": "sortOn", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.OldList|Val|sortOn", + "idType": { + "components": [ + { + "contents": "forall b a. ", + "tag": "Text" + }, + { + "internalId": "643", + "name": "Ord", + "tag": "TyCon" + }, + { + "contents": "_2c ", + "tag": "Text" + }, + { + "internalId": "750", + "name": "b", + "tag": "TyCon" + }, + { + "contents": " => (", + "tag": "Text" + }, + { + "internalId": "751", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "750", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> [", + "tag": "Text" + }, + { + "internalId": "751", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> [", + "tag": "Text" + }, + { + "internalId": "751", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "285", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "sortOn", + "moduleName": "GHC.Internal.Data.OldList", + "name": "sortOn", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "sortOn", + "sort": "External" + }, + "288": { + "demangledOccName": "maxBound", + "details": "ClassOpId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Enum|Val|maxBound", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "744", + "name": "Bounded", + "tag": "TyCon" + }, + { + "contents": "_21 ", + "tag": "Text" + }, + { + "internalId": "745", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "745", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "288", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "maxBound", + "moduleName": "GHC.Internal.Enum", + "name": "maxBound", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "maxBound", + "sort": "External" + }, + "289": { + "demangledOccName": "ungroup", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|ungroup", + "idType": { + "components": [ + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa -> [", + "tag": "Text" + }, + { + "internalId": "61", + "name": "LHsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5y7 ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n-> [", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n (", + "tag": "Text" + }, + { + "internalId": "57", + "name": "HsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5yd (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc))]", + "tag": "Text" + } + ] + }, + "internalId": "289", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ungroup", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "ungroup", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "ungroup", + "sort": "External" + }, + "29": { + "demangledOccName": "targetPlatform", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Val|targetPlatform", + "idType": { + "components": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0 -> ", + "tag": "Text" + }, + { + "internalId": "802", + "name": "Platform", + "tag": "TyCon" + }, + { + "contents": "_r7Mq", + "tag": "Text" + } + ] + }, + "internalId": "29", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "targetPlatform", + "moduleName": "GHC.Driver.DynFlags", + "name": "targetPlatform", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "targetPlatform", + "sort": "External" + }, + "291": { + "demangledOccName": "partition", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.OldList|Val|partition", + "idType": { + "components": [ + { + "contents": "forall a. (", + "tag": "Text" + }, + { + "internalId": "647", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38) -> [", + "tag": "Text" + }, + { + "internalId": "647", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> ([", + "tag": "Text" + }, + { + "internalId": "647", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "], [", + "tag": "Text" + }, + { + "internalId": "647", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "])", + "tag": "Text" + } + ] + }, + "internalId": "291", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "partition", + "moduleName": "GHC.Internal.Data.OldList", + "name": "partition", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "partition", + "sort": "External" + }, + "293": { + "demangledOccName": "True", + "details": "DataConWorkId", + "externalId": "ghc-prim-0.12.0|GHC.Types|Val|True", + "idType": { + "components": [ + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "293", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "True", + "moduleName": "GHC.Types", + "name": "True", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "True", + "sort": "External" + }, + "295": { + "demangledOccName": "False", + "details": "DataConWorkId", + "externalId": "ghc-prim-0.12.0|GHC.Types|Val|False", + "idType": { + "components": [ + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "295", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "False", + "moduleName": "GHC.Types", + "name": "False", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "False", + "sort": "External" + }, + "297": { + "demangledOccName": "collectDocs", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|collectDocs", + "idType": { + "components": [ + { + "contents": "[", + "tag": "Text" + }, + { + "internalId": "61", + "name": "LHsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5y7 ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa]\n-> [(", + "tag": "Text" + }, + { + "internalId": "61", + "name": "LHsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5y7 ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa, [", + "tag": "Text" + }, + { + "internalId": "70", + "name": "LHsDoc", + "tag": "TyCon" + }, + { + "contents": "_r5y8 ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa])]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "[", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n (", + "tag": "Text" + }, + { + "internalId": "57", + "name": "HsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5yd (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc))]\n-> [(", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n (", + "tag": "Text" + }, + { + "internalId": "57", + "name": "HsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5yd (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)),\n [", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya\n ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n (", + "tag": "Text" + }, + { + "internalId": "71", + "name": "WithHsDocIdentifiers", + "tag": "TyCon" + }, + { + "contents": "_r5yg\n ", + "tag": "Text" + }, + { + "internalId": "69", + "name": "HsDocString", + "tag": "TyCon" + }, + { + "contents": "_r5x2 (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc))])]", + "tag": "Text" + } + ] + }, + "internalId": "297", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "collectDocs", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "collectDocs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "collectDocs", + "sort": "External" + }, + "299": { + "demangledOccName": "Map", + "externalId": "containers-0.7|Data.Map.Internal|Typ|Map", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "299", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Map", + "moduleName": "Data.Map.Internal", + "name": "Map", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Map", + "sort": "External" + }, + "3": { + "demangledOccName": "execState", + "details": "VanillaId", + "externalId": "transformers-0.6.1.1|Control.Monad.Trans.State.Strict|Val|execState", + "idType": { + "components": [ + { + "contents": "forall s a. ", + "tag": "Text" + }, + { + "internalId": "7", + "name": "State", + "tag": "TyCon" + }, + { + "contents": "_rgmR ", + "tag": "Text" + }, + { + "internalId": "727", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "728", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "727", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "727", + "name": "s", + "tag": "TyCon" + } + ], + "componentsExpanded": [ + { + "contents": "forall s a. ", + "tag": "Text" + }, + { + "internalId": "670", + "name": "StateT", + "tag": "TyCon" + }, + { + "contents": "_rgmU ", + "tag": "Text" + }, + { + "internalId": "727", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "729", + "name": "Identity", + "tag": "TyCon" + }, + { + "contents": "_r54 ", + "tag": "Text" + }, + { + "internalId": "728", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "727", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "727", + "name": "s", + "tag": "TyCon" + } + ] + }, + "internalId": "3", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "execState", + "moduleName": "Control.Monad.Trans.State.Strict", + "name": "execState", + "packageId": { + "name": "transformers", + "version": "0.6.1.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "execState", + "sort": "External" + }, + "30": { + "demangledOccName": "GenLocated", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Typ|GenLocated", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "30", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GenLocated", + "moduleName": "GHC.Types.SrcLoc", + "name": "GenLocated", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GenLocated", + "sort": "External" + }, + "300": { + "demangledOccName": "fromList", + "details": "VanillaId", + "externalId": "containers-0.7|Data.Map.Strict.Internal|Val|fromList", + "idType": { + "components": [ + { + "contents": "forall k a. ", + "tag": "Text" + }, + { + "internalId": "643", + "name": "Ord", + "tag": "TyCon" + }, + { + "contents": "_2c ", + "tag": "Text" + }, + { + "internalId": "865", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " => [(", + "tag": "Text" + }, + { + "internalId": "865", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "929", + "name": "a", + "tag": "TyCon" + }, + { + "contents": ")] -> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId ", + "tag": "Text" + }, + { + "internalId": "865", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "929", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "300", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "fromList", + "moduleName": "Data.Map.Strict.Internal", + "name": "fromList", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "fromList", + "sort": "External" + }, + "307": { + "demangledOccName": "Maybe", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Maybe|Typ|Maybe", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "307", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Maybe", + "moduleName": "GHC.Internal.Maybe", + "name": "Maybe", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Maybe", + "sort": "External" + }, + "308": { + "demangledOccName": "LocationInfo", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|LocationInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "308", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LocationInfo", + "moduleName": "HaskellCodeExplorer.Types", + "name": "LocationInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LocationInfo", + "sort": "External" + }, + "309": { + "demangledOccName": "nameLocationInfo", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|nameLocationInfo", + "idType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n-> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H", + "tag": "Text" + } + ] + }, + "internalId": "309", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "nameLocationInfo", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "nameLocationInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "nameLocationInfo", + "sort": "External" + }, + "31": { + "demangledOccName": "pprParenSymName", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC|Val|pprParenSymName", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "771", + "name": "NamedThing", + "tag": "TyCon" + }, + { + "contents": "_r6iL ", + "tag": "Text" + }, + { + "internalId": "861", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "861", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "862", + "name": "SDoc", + "tag": "TyCon" + }, + { + "contents": "_r6I5", + "tag": "Text" + } + ] + }, + "internalId": "31", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "pprParenSymName", + "moduleName": "GHC", + "name": "pprParenSymName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "pprParenSymName", + "sort": "External" + }, + "319": { + "demangledOccName": "HTML", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|HTML", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "319", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HTML", + "moduleName": "HaskellCodeExplorer.Types", + "name": "HTML", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HTML", + "sort": "External" + }, + "32": { + "demangledOccName": "ModSummary", + "externalId": "ghc-9.10.2|GHC.Unit.Module.ModSummary|Typ|ModSummary", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "32", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModSummary", + "moduleName": "GHC.Unit.Module.ModSummary", + "name": "ModSummary", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModSummary", + "sort": "External" + }, + "320": { + "demangledOccName": "docWithNamesToHtml", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|docWithNamesToHtml", + "idType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "26", + "name": "DocH", + "tag": "TyCon" + }, + { + "contents": "_rVo (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4) ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "319", + "name": "HTML", + "tag": "TyCon" + }, + { + "contents": "_r1o", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "26", + "name": "DocH", + "tag": "TyCon" + }, + { + "contents": "_rVo (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4) ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "320", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "docWithNamesToHtml", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "docWithNamesToHtml", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "docWithNamesToHtml", + "sort": "External" + }, + "323": { + "demangledOccName": "instanceToText", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|instanceToText", + "idType": { + "components": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0 -> ", + "tag": "Text" + }, + { + "internalId": "858", + "name": "ClsInst", + "tag": "TyCon" + }, + { + "contents": "_r5Aa -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "323", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "instanceToText", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "instanceToText", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "instanceToText", + "sort": "External" + }, + "326": { + "demangledOccName": "lookup", + "details": "VanillaId", + "externalId": "containers-0.7|Data.Map.Internal|Val|lookup", + "idType": { + "components": [ + { + "contents": "forall k a. ", + "tag": "Text" + }, + { + "internalId": "643", + "name": "Ord", + "tag": "TyCon" + }, + { + "contents": "_2c ", + "tag": "Text" + }, + { + "internalId": "644", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "644", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId ", + "tag": "Text" + }, + { + "internalId": "644", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "645", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "645", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "326", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "lookup", + "moduleName": "Data.Map.Internal", + "name": "lookup", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "lookup", + "sort": "External" + }, + "33": { + "demangledOccName": "locA", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Parser.Annotation|Val|locA", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "658", + "name": "HasLoc", + "tag": "TyCon" + }, + { + "contents": "_r6gH ", + "tag": "Text" + }, + { + "internalId": "733", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "733", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ", + "tag": "Text" + } + ] + }, + "internalId": "33", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "locA", + "moduleName": "GHC.Parser.Annotation", + "name": "locA", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "locA", + "sort": "External" + }, + "332": { + "demangledOccName": "hsDocsToDocH", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|hsDocsToDocH", + "idType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "95", + "name": "GlobalRdrEnv", + "tag": "TyCon" + }, + { + "contents": "_r5x1\n-> [", + "tag": "Text" + }, + { + "internalId": "69", + "name": "HsDocString", + "tag": "TyCon" + }, + { + "contents": "_r5x2]\n-> ", + "tag": "Text" + }, + { + "internalId": "687", + "name": "Doc", + "tag": "TyCon" + }, + { + "contents": "_r5y4 ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "864", + "name": "OccEnv", + "tag": "TyCon" + }, + { + "contents": "_rcRM [", + "tag": "Text" + }, + { + "internalId": "746", + "name": "GlobalRdrEltX", + "tag": "TyCon" + }, + { + "contents": "_r6HG ", + "tag": "Text" + }, + { + "internalId": "698", + "name": "GREInfo", + "tag": "TyCon" + }, + { + "contents": "_rd3K]\n-> [", + "tag": "Text" + }, + { + "internalId": "69", + "name": "HsDocString", + "tag": "TyCon" + }, + { + "contents": "_r5x2]\n-> ", + "tag": "Text" + }, + { + "internalId": "26", + "name": "DocH", + "tag": "TyCon" + }, + { + "contents": "_rVo (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4) ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5", + "tag": "Text" + } + ] + }, + "internalId": "332", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "hsDocsToDocH", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "hsDocsToDocH", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "hsDocsToDocH", + "sort": "External" + }, + "334": { + "demangledOccName": "DefinitionSite", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|DefinitionSite", + "idType": { + "components": [ + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H %1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "319", + "name": "HTML", + "tag": "TyCon" + }, + { + "contents": "_r1o %1 -> ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H %1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g %1 -> ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS", + "tag": "Text" + } + ] + }, + "internalId": "334", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "DefinitionSite", + "moduleName": "HaskellCodeExplorer.Types", + "name": "DefinitionSite", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "DefinitionSite", + "sort": "External" + }, + "34": { + "demangledOccName": "getLocA", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Parser.Annotation|Val|getLocA", + "idType": { + "components": [ + { + "contents": "forall a e. ", + "tag": "Text" + }, + { + "internalId": "658", + "name": "HasLoc", + "tag": "TyCon" + }, + { + "contents": "_r6gH ", + "tag": "Text" + }, + { + "internalId": "659", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya ", + "tag": "Text" + }, + { + "internalId": "659", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "660", + "name": "e", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ", + "tag": "Text" + } + ] + }, + "internalId": "34", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "getLocA", + "moduleName": "GHC.Parser.Annotation", + "name": "getLocA", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "getLocA", + "sort": "External" + }, + "340": { + "demangledOccName": "getMainDeclBinder", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|getMainDeclBinder", + "idType": { + "components": [ + { + "internalId": "57", + "name": "HsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5yd ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa -> [", + "tag": "Text" + }, + { + "internalId": "787", + "name": "IdP", + "tag": "TyCon" + }, + { + "contents": "_r5zj ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "57", + "name": "HsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5yd (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n-> [", + "tag": "Text" + }, + { + "internalId": "787", + "name": "IdP", + "tag": "TyCon" + }, + { + "contents": "_r5zj (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)]", + "tag": "Text" + } + ] + }, + "internalId": "340", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "getMainDeclBinder", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "getMainDeclBinder", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "getMainDeclBinder", + "sort": "External" + }, + "347": { + "demangledOccName": "L", + "details": "DataConWorkId", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Val|L", + "idType": { + "components": [ + { + "contents": "forall l e. ", + "tag": "Text" + }, + { + "internalId": "673", + "name": "l", + "tag": "TyCon" + }, + { + "contents": " %1 -> ", + "tag": "Text" + }, + { + "internalId": "697", + "name": "e", + "tag": "TyCon" + }, + { + "contents": " %1 -> ", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya ", + "tag": "Text" + }, + { + "internalId": "673", + "name": "l", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "697", + "name": "e", + "tag": "TyCon" + } + ] + }, + "internalId": "347", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "L", + "moduleName": "GHC.Types.SrcLoc", + "name": "L", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "L", + "sort": "External" + }, + "35": { + "demangledOccName": "ModuleInfo", + "externalId": "ghc-9.10.2|GHC|Typ|ModuleInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "35", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModuleInfo", + "moduleName": "GHC", + "name": "ModuleInfo", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModuleInfo", + "sort": "External" + }, + "352": { + "demangledOccName": "subordinateNamesWithDocs", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|subordinateNamesWithDocs", + "idType": { + "components": [ + { + "contents": "[", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ (", + "tag": "Text" + }, + { + "internalId": "57", + "name": "HsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5yd ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa)]\n-> [(", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5, [", + "tag": "Text" + }, + { + "internalId": "70", + "name": "LHsDoc", + "tag": "TyCon" + }, + { + "contents": "_r5y8 ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa], ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ)]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "[", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya\n ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ (", + "tag": "Text" + }, + { + "internalId": "57", + "name": "HsDecl", + "tag": "TyCon" + }, + { + "contents": "_r5yd (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc))]\n-> [(", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5,\n [", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya\n ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n (", + "tag": "Text" + }, + { + "internalId": "71", + "name": "WithHsDocIdentifiers", + "tag": "TyCon" + }, + { + "contents": "_r5yg\n ", + "tag": "Text" + }, + { + "internalId": "69", + "name": "HsDocString", + "tag": "TyCon" + }, + { + "contents": "_r5x2 (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc))],\n ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ)]", + "tag": "Text" + } + ] + }, + "internalId": "352", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "subordinateNamesWithDocs", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "subordinateNamesWithDocs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "subordinateNamesWithDocs", + "sort": "External" + }, + "353": { + "demangledOccName": "occNameNameSpace", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|occNameNameSpace", + "idType": { + "components": [ + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4 -> ", + "tag": "Text" + }, + { + "internalId": "847", + "name": "NameSpace", + "tag": "TyCon" + }, + { + "contents": "_r3e", + "tag": "Text" + } + ] + }, + "internalId": "353", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "occNameNameSpace", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "occNameNameSpace", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "occNameNameSpace", + "sort": "External" + }, + "356": { + "demangledOccName": "OccName", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|OccName", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "356", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "OccName", + "moduleName": "HaskellCodeExplorer.Types", + "name": "OccName", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "OccName", + "sort": "External" + }, + "357": { + "demangledOccName": "DefinitionSite", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|DefinitionSite", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "357", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "DefinitionSite", + "moduleName": "HaskellCodeExplorer.Types", + "name": "DefinitionSite", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "DefinitionSite", + "sort": "External" + }, + "358": { + "demangledOccName": "fromListWith", + "details": "VanillaId", + "externalId": "unordered-containers-0.2.20|Data.HashMap.Internal.Strict|Val|fromListWith", + "idType": { + "components": [ + { + "contents": "forall k v.\n(", + "tag": "Text" + }, + { + "internalId": "248", + "name": "Eq", + "tag": "TyCon" + }, + { + "contents": "_23 ", + "tag": "Text" + }, + { + "internalId": "925", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "640", + "name": "Hashable", + "tag": "TyCon" + }, + { + "contents": "_rnh ", + "tag": "Text" + }, + { + "internalId": "925", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ") =>\n(", + "tag": "Text" + }, + { + "internalId": "846", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "846", + "name": "v", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "846", + "name": "v", + "tag": "TyCon" + }, + { + "contents": ") -> [(", + "tag": "Text" + }, + { + "internalId": "925", + "name": "k", + "tag": "TyCon" + }, + { + "contents": ", ", + "tag": "Text" + }, + { + "internalId": "846", + "name": "v", + "tag": "TyCon" + }, + { + "contents": ")] -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "925", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "846", + "name": "v", + "tag": "TyCon" + } + ] + }, + "internalId": "358", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "fromListWith", + "moduleName": "Data.HashMap.Internal.Strict", + "name": "fromListWith", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "fromListWith", + "sort": "External" + }, + "36": { + "demangledOccName": "ModuleName", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Module.Name|Typ|ModuleName", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "36", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModuleName", + "moduleName": "Language.Haskell.Syntax.Module.Name", + "name": "ModuleName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModuleName", + "sort": "External" + }, + "360": { + "demangledOccName": "mappend", + "details": "ClassOpId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|mappend", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "769", + "name": "Monoid", + "tag": "TyCon" + }, + { + "contents": "_2M ", + "tag": "Text" + }, + { + "internalId": "878", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "878", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "878", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "878", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "360", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "mappend", + "moduleName": "GHC.Internal.Base", + "name": "mappend", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "mappend", + "sort": "External" + }, + "367": { + "demangledOccName": "null", + "details": "ClassOpId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Foldable|Val|null", + "idType": { + "components": [ + { + "contents": "forall (t :: Type -> Type) a. ", + "tag": "Text" + }, + { + "internalId": "665", + "name": "Foldable", + "tag": "TyCon" + }, + { + "contents": "_2z ", + "tag": "Text" + }, + { + "internalId": "668", + "name": "t", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "668", + "name": "t", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "922", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "367", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "null", + "moduleName": "GHC.Internal.Data.Foldable", + "name": "null", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "null", + "sort": "External" + }, + "37": { + "demangledOccName": "TyThing", + "externalId": "ghc-9.10.2|GHC.Types.TyThing|Typ|TyThing", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "37", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TyThing", + "moduleName": "GHC.Types.TyThing", + "name": "TyThing", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TyThing", + "sort": "External" + }, + "372": { + "demangledOccName": "OccName", + "details": "DataConWrapId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|OccName", + "idType": { + "components": [ + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g %1 -> ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j", + "tag": "Text" + } + ] + }, + "internalId": "372", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "OccName", + "moduleName": "HaskellCodeExplorer.Types", + "name": "OccName", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "OccName", + "sort": "External" + }, + "374": { + "demangledOccName": "toText", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|toText", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "686", + "name": "Outputable", + "tag": "TyCon" + }, + { + "contents": "_r5BL ", + "tag": "Text" + }, + { + "internalId": "912", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "912", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "374", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "toText", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "toText", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "toText", + "sort": "External" + }, + "375": { + "demangledOccName": "DefinitionSiteMap", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|DefinitionSiteMap", + "idType": { + "components": [ + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW", + "tag": "Text" + } + ] + }, + "internalId": "375", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "DefinitionSiteMap", + "moduleName": "HaskellCodeExplorer.Types", + "name": "DefinitionSiteMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "DefinitionSiteMap", + "sort": "External" + }, + "377": { + "demangledOccName": "values", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|values", + "idType": { + "components": [ + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS", + "tag": "Text" + } + ] + }, + "internalId": "377", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "values", + "moduleName": "HaskellCodeExplorer.Types", + "name": "values", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "values", + "sort": "External" + }, + "379": { + "demangledOccName": "types", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|types", + "idType": { + "components": [ + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS", + "tag": "Text" + } + ] + }, + "internalId": "379", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "types", + "moduleName": "HaskellCodeExplorer.Types", + "name": "types", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "types", + "sort": "External" + }, + "38": { + "demangledOccName": "Type", + "externalId": "ghc-9.10.2|GHC.Core.TyCo.Rep|Typ|Type", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "38", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Type", + "moduleName": "GHC.Core.TyCo.Rep", + "name": "Type", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Type", + "sort": "External" + }, + "381": { + "demangledOccName": "instances", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|instances", + "idType": { + "components": [ + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS", + "tag": "Text" + } + ] + }, + "internalId": "381", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "instances", + "moduleName": "HaskellCodeExplorer.Types", + "name": "instances", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "instances", + "sort": "External" + }, + "383": { + "demangledOccName": "occNameToHtml", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|occNameToHtml", + "idType": { + "components": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4)\n-> ", + "tag": "Text" + }, + { + "internalId": "385", + "name": "Html", + "tag": "TyCon" + }, + { + "contents": "_rVn", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4)\n-> ", + "tag": "Text" + }, + { + "internalId": "663", + "name": "MarkupM", + "tag": "TyCon" + }, + { + "contents": "_r1Xi ()", + "tag": "Text" + } + ] + }, + "internalId": "383", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "occNameToHtml", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "occNameToHtml", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "occNameToHtml", + "sort": "External" + }, + "385": { + "demangledOccName": "Html", + "externalId": "blaze-html-0.9.2.0|Text.Blaze.Html|Typ|Html", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "385", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Html", + "moduleName": "Text.Blaze.Html", + "name": "Html", + "packageId": { + "name": "blaze-html", + "version": "0.9.2.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Html", + "sort": "External" + }, + "387": { + "demangledOccName": "textValue", + "details": "VanillaId", + "externalId": "blaze-markup-0.8.3.0|Text.Blaze.Internal|Val|textValue", + "idType": { + "components": [ + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "674", + "name": "AttributeValue", + "tag": "TyCon" + }, + { + "contents": "_r1WX", + "tag": "Text" + } + ] + }, + "internalId": "387", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "textValue", + "moduleName": "Text.Blaze.Internal", + "name": "textValue", + "packageId": { + "name": "blaze-markup", + "version": "0.8.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "textValue", + "sort": "External" + }, + "388": { + "demangledOccName": "toJSON", + "details": "ClassOpId", + "externalId": "aeson-2.2.3.0|Data.Aeson.Types.ToJSON|Val|toJSON", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "892", + "name": "ToJSON", + "tag": "TyCon" + }, + { + "contents": "_rHe ", + "tag": "Text" + }, + { + "internalId": "654", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "654", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "899", + "name": "Value", + "tag": "TyCon" + }, + { + "contents": "_rHj", + "tag": "Text" + } + ] + }, + "internalId": "388", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "toJSON", + "moduleName": "Data.Aeson.Types.ToJSON", + "name": "toJSON", + "packageId": { + "name": "aeson", + "version": "2.2.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "toJSON", + "sort": "External" + }, + "389": { + "demangledOccName": "occNameLocationInfo", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|occNameLocationInfo", + "idType": { + "components": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> (", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4)\n-> ", + "tag": "Text" + }, + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H", + "tag": "Text" + } + ] + }, + "internalId": "389", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "occNameLocationInfo", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "occNameLocationInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "occNameLocationInfo", + "sort": "External" + }, + "39": { + "demangledOccName": "TypecheckedModule", + "externalId": "ghc-9.10.2|GHC|Typ|TypecheckedModule", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "39", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TypecheckedModule", + "moduleName": "GHC", + "name": "TypecheckedModule", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TypecheckedModule", + "sort": "External" + }, + "395": { + "demangledOccName": "span", + "details": "VanillaId", + "externalId": "blaze-html-0.9.2.0|Text.Blaze.Html5|Val|span", + "idType": { + "components": [ + { + "internalId": "385", + "name": "Html", + "tag": "TyCon" + }, + { + "contents": "_rVn -> ", + "tag": "Text" + }, + { + "internalId": "385", + "name": "Html", + "tag": "TyCon" + }, + { + "contents": "_rVn", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "663", + "name": "MarkupM", + "tag": "TyCon" + }, + { + "contents": "_r1Xi () -> ", + "tag": "Text" + }, + { + "internalId": "663", + "name": "MarkupM", + "tag": "TyCon" + }, + { + "contents": "_r1Xi ()", + "tag": "Text" + } + ] + }, + "internalId": "395", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "span", + "moduleName": "Text.Blaze.Html5", + "name": "span", + "packageId": { + "name": "blaze-html", + "version": "0.9.2.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "span", + "sort": "External" + }, + "396": { + "demangledOccName": "!", + "details": "ClassOpId", + "externalId": "blaze-markup-0.8.3.0|Text.Blaze.Internal|Val|!", + "idType": { + "components": [ + { + "contents": "forall h. ", + "tag": "Text" + }, + { + "internalId": "716", + "name": "Attributable", + "tag": "TyCon" + }, + { + "contents": "_r1WU ", + "tag": "Text" + }, + { + "internalId": "655", + "name": "h", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "655", + "name": "h", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "717", + "name": "Attribute", + "tag": "TyCon" + }, + { + "contents": "_r1WW -> ", + "tag": "Text" + }, + { + "internalId": "655", + "name": "h", + "tag": "TyCon" + } + ] + }, + "internalId": "396", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "-33-", + "moduleName": "Text.Blaze.Internal", + "name": "!", + "packageId": { + "name": "blaze-markup", + "version": "0.8.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "!", + "sort": "External" + }, + "397": { + "demangledOccName": "dataAttribute", + "details": "VanillaId", + "externalId": "blaze-markup-0.8.3.0|Text.Blaze.Internal|Val|dataAttribute", + "idType": { + "components": [ + { + "internalId": "735", + "name": "Tag", + "tag": "TyCon" + }, + { + "contents": "_r1WZ -> ", + "tag": "Text" + }, + { + "internalId": "674", + "name": "AttributeValue", + "tag": "TyCon" + }, + { + "contents": "_r1WX -> ", + "tag": "Text" + }, + { + "internalId": "717", + "name": "Attribute", + "tag": "TyCon" + }, + { + "contents": "_r1WW", + "tag": "Text" + } + ] + }, + "internalId": "397", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "dataAttribute", + "moduleName": "Text.Blaze.Internal", + "name": "dataAttribute", + "packageId": { + "name": "blaze-markup", + "version": "0.8.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "dataAttribute", + "sort": "External" + }, + "398": { + "demangledOccName": "class_", + "details": "VanillaId", + "externalId": "blaze-html-0.9.2.0|Text.Blaze.Html5.Attributes|Val|class_", + "idType": { + "components": [ + { + "internalId": "674", + "name": "AttributeValue", + "tag": "TyCon" + }, + { + "contents": "_r1WX -> ", + "tag": "Text" + }, + { + "internalId": "717", + "name": "Attribute", + "tag": "TyCon" + }, + { + "contents": "_r1WW", + "tag": "Text" + } + ] + }, + "internalId": "398", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "class_", + "moduleName": "Text.Blaze.Html5.Attributes", + "name": "class_", + "packageId": { + "name": "blaze-html", + "version": "0.9.2.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "class_", + "sort": "External" + }, + "399": { + "demangledOccName": "toHtml", + "details": "VanillaId", + "externalId": "blaze-html-0.9.2.0|Text.Blaze.Html|Val|toHtml", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "661", + "name": "ToMarkup", + "tag": "TyCon" + }, + { + "contents": "_r1WO ", + "tag": "Text" + }, + { + "internalId": "662", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "662", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "385", + "name": "Html", + "tag": "TyCon" + }, + { + "contents": "_rVn", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "661", + "name": "ToMarkup", + "tag": "TyCon" + }, + { + "contents": "_r1WO ", + "tag": "Text" + }, + { + "internalId": "662", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "662", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "663", + "name": "MarkupM", + "tag": "TyCon" + }, + { + "contents": "_r1Xi ()", + "tag": "Text" + } + ] + }, + "internalId": "399", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "toHtml", + "moduleName": "Text.Blaze.Html", + "name": "toHtml", + "packageId": { + "name": "blaze-html", + "version": "0.9.2.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "toHtml", + "sort": "External" + }, + "4": { + "demangledOccName": "evalState", + "details": "VanillaId", + "externalId": "transformers-0.6.1.1|Control.Monad.Trans.State.Strict|Val|evalState", + "idType": { + "components": [ + { + "contents": "forall s a. ", + "tag": "Text" + }, + { + "internalId": "7", + "name": "State", + "tag": "TyCon" + }, + { + "contents": "_rgmR ", + "tag": "Text" + }, + { + "internalId": "781", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "890", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "781", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "890", + "name": "a", + "tag": "TyCon" + } + ], + "componentsExpanded": [ + { + "contents": "forall s a. ", + "tag": "Text" + }, + { + "internalId": "670", + "name": "StateT", + "tag": "TyCon" + }, + { + "contents": "_rgmU ", + "tag": "Text" + }, + { + "internalId": "781", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "729", + "name": "Identity", + "tag": "TyCon" + }, + { + "contents": "_r54 ", + "tag": "Text" + }, + { + "internalId": "890", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "781", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "890", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "4", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "evalState", + "moduleName": "Control.Monad.Trans.State.Strict", + "name": "evalState", + "packageId": { + "name": "transformers", + "version": "0.6.1.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "evalState", + "sort": "External" + }, + "40": { + "demangledOccName": "getLoc", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Val|getLoc", + "idType": { + "components": [ + { + "contents": "forall l e. ", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya ", + "tag": "Text" + }, + { + "internalId": "934", + "name": "l", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "709", + "name": "e", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "934", + "name": "l", + "tag": "TyCon" + } + ] + }, + "internalId": "40", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "getLoc", + "moduleName": "GHC.Types.SrcLoc", + "name": "getLoc", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "getLoc", + "sort": "External" + }, + "400": { + "demangledOccName": "nameToHtml", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|nameToHtml", + "idType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "385", + "name": "Html", + "tag": "TyCon" + }, + { + "contents": "_rVn", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n-> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "663", + "name": "MarkupM", + "tag": "TyCon" + }, + { + "contents": "_r1Xi ()", + "tag": "Text" + } + ] + }, + "internalId": "400", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "nameToHtml", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "nameToHtml", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "nameToHtml", + "sort": "External" + }, + "41": { + "demangledOccName": "isGoodSrcSpan", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Val|isGoodSrcSpan", + "idType": { + "components": [ + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "41", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "isGoodSrcSpan", + "moduleName": "GHC.Types.SrcLoc", + "name": "isGoodSrcSpan", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "isGoodSrcSpan", + "sort": "External" + }, + "411": { + "demangledOccName": "nameToText", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|nameToText", + "idType": { + "components": [ + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "411", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "nameToText", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "nameToText", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "nameToText", + "sort": "External" + }, + "412": { + "demangledOccName": "docToHtml", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|docToHtml", + "idType": { + "components": [ + { + "contents": "forall mod id.\n(", + "tag": "Text" + }, + { + "internalId": "723", + "name": "mod", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "385", + "name": "Html", + "tag": "TyCon" + }, + { + "contents": "_rVn)\n-> (", + "tag": "Text" + }, + { + "internalId": "724", + "name": "id", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "385", + "name": "Html", + "tag": "TyCon" + }, + { + "contents": "_rVn) -> ", + "tag": "Text" + }, + { + "internalId": "26", + "name": "DocH", + "tag": "TyCon" + }, + { + "contents": "_rVo ", + "tag": "Text" + }, + { + "internalId": "723", + "name": "mod", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "724", + "name": "id", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "319", + "name": "HTML", + "tag": "TyCon" + }, + { + "contents": "_r1o", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall mod id.\n(", + "tag": "Text" + }, + { + "internalId": "723", + "name": "mod", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "663", + "name": "MarkupM", + "tag": "TyCon" + }, + { + "contents": "_r1Xi ())\n-> (", + "tag": "Text" + }, + { + "internalId": "724", + "name": "id", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "663", + "name": "MarkupM", + "tag": "TyCon" + }, + { + "contents": "_r1Xi ()) -> ", + "tag": "Text" + }, + { + "internalId": "26", + "name": "DocH", + "tag": "TyCon" + }, + { + "contents": "_rVo ", + "tag": "Text" + }, + { + "internalId": "723", + "name": "mod", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "724", + "name": "id", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "412", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "docToHtml", + "moduleName": "HaskellCodeExplorer.Types", + "name": "docToHtml", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "docToHtml", + "sort": "External" + }, + "42": { + "demangledOccName": "modInfoExportsWithSelectors", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC|Val|modInfoExportsWithSelectors", + "idType": { + "components": [ + { + "internalId": "35", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r619 -> [", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5]", + "tag": "Text" + } + ] + }, + "internalId": "42", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "modInfoExportsWithSelectors", + "moduleName": "GHC", + "name": "modInfoExportsWithSelectors", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "modInfoExportsWithSelectors", + "sort": "External" + }, + "420": { + "demangledOccName": "Set", + "externalId": "containers-0.7|Data.Set.Internal|Typ|Set", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "420", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Set", + "moduleName": "Data.Set.Internal", + "name": "Set", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Set", + "sort": "External" + }, + "421": { + "demangledOccName": "Declaration", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|Declaration", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "421", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Declaration", + "moduleName": "HaskellCodeExplorer.Types", + "name": "Declaration", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Declaration", + "sort": "External" + }, + "423": { + "demangledOccName": "srcSpanToLineAndColNumbers", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|srcSpanToLineAndColNumbers", + "idType": { + "components": [ + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U\n (", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p, (", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), (", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u))", + "tag": "Text" + } + ] + }, + "internalId": "423", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "srcSpanToLineAndColNumbers", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "srcSpanToLineAndColNumbers", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "srcSpanToLineAndColNumbers", + "sort": "External" + }, + "428": { + "demangledOccName": "Type", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|Type", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "428", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Type", + "moduleName": "HaskellCodeExplorer.Types", + "name": "Type", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Type", + "sort": "External" + }, + "43": { + "demangledOccName": "modInfoInstances", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC|Val|modInfoInstances", + "idType": { + "components": [ + { + "internalId": "35", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r619 -> [", + "tag": "Text" + }, + { + "internalId": "858", + "name": "ClsInst", + "tag": "TyCon" + }, + { + "contents": "_r5Aa]", + "tag": "Text" + } + ] + }, + "internalId": "43", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "modInfoInstances", + "moduleName": "GHC", + "name": "modInfoInstances", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "modInfoInstances", + "sort": "External" + }, + "431": { + "demangledOccName": "mkType", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|mkType", + "idType": { + "components": [ + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD -> ", + "tag": "Text" + }, + { + "internalId": "428", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r3L", + "tag": "Text" + } + ] + }, + "internalId": "431", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "mkType", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "mkType", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "mkType", + "sort": "External" + }, + "435": { + "demangledOccName": "CollNoDictBinders", + "details": "DataConWorkId", + "externalId": "ghc-9.10.2|GHC.Hs.Utils|Val|CollNoDictBinders", + "idType": { + "components": [ + { + "contents": "forall p. ", + "tag": "Text" + }, + { + "internalId": "20", + "name": "CollectFlag", + "tag": "TyCon" + }, + { + "contents": "_r6du ", + "tag": "Text" + }, + { + "internalId": "708", + "name": "p", + "tag": "TyCon" + } + ] + }, + "internalId": "435", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "CollNoDictBinders", + "moduleName": "GHC.Hs.Utils", + "name": "CollNoDictBinders", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "CollNoDictBinders", + "sort": "External" + }, + "44": { + "demangledOccName": "moduleInfo", + "details": "ClassOpId", + "externalId": "ghc-9.10.2|GHC|Val|moduleInfo", + "idType": { + "components": [ + { + "contents": "forall m. ", + "tag": "Text" + }, + { + "internalId": "623", + "name": "TypecheckedMod", + "tag": "TyCon" + }, + { + "contents": "_r61j ", + "tag": "Text" + }, + { + "internalId": "624", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "624", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "35", + "name": "ModuleInfo", + "tag": "TyCon" + }, + { + "contents": "_r619", + "tag": "Text" + } + ] + }, + "internalId": "44", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "moduleInfo", + "moduleName": "GHC", + "name": "moduleInfo", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "moduleInfo", + "sort": "External" + }, + "440": { + "demangledOccName": "Declaration", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|Declaration", + "idType": { + "components": [ + { + "internalId": "637", + "name": "DeclarationSort", + "tag": "TyCon" + }, + { + "contents": "_rN\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "428", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r3L\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "421", + "name": "Declaration", + "tag": "TyCon" + }, + { + "contents": "_rG", + "tag": "Text" + } + ] + }, + "internalId": "440", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "Declaration", + "moduleName": "HaskellCodeExplorer.Types", + "name": "Declaration", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "Declaration", + "sort": "External" + }, + "442": { + "demangledOccName": "ValD", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|ValD", + "idType": { + "components": [ + { + "internalId": "637", + "name": "DeclarationSort", + "tag": "TyCon" + }, + { + "contents": "_rN", + "tag": "Text" + } + ] + }, + "internalId": "442", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ValD", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ValD", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "ValD", + "sort": "External" + }, + "445": { + "demangledOccName": "member", + "details": "VanillaId", + "externalId": "containers-0.7|Data.Set.Internal|Val|member", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "643", + "name": "Ord", + "tag": "TyCon" + }, + { + "contents": "_2c ", + "tag": "Text" + }, + { + "internalId": "688", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "688", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "688", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "445", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "member", + "moduleName": "Data.Set.Internal", + "name": "member", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "member", + "sort": "External" + }, + "448": { + "demangledOccName": "hsGroupVals", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|hsGroupVals", + "idType": { + "components": [ + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa\n-> [", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya\n (", + "tag": "Text" + }, + { + "internalId": "788", + "name": "EpAnn", + "tag": "TyCon" + }, + { + "contents": "_r5yu ", + "tag": "Text" + }, + { + "internalId": "755", + "name": "AnnListItem", + "tag": "TyCon" + }, + { + "contents": "_r5yv)\n (", + "tag": "Text" + }, + { + "internalId": "9", + "name": "HsBindLR", + "tag": "TyCon" + }, + { + "contents": "_r5yz ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa)]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n-> [", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya\n (", + "tag": "Text" + }, + { + "internalId": "788", + "name": "EpAnn", + "tag": "TyCon" + }, + { + "contents": "_r5yu ", + "tag": "Text" + }, + { + "internalId": "755", + "name": "AnnListItem", + "tag": "TyCon" + }, + { + "contents": "_r5yv)\n (", + "tag": "Text" + }, + { + "internalId": "9", + "name": "HsBindLR", + "tag": "TyCon" + }, + { + "contents": "_r5yz\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc) (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc))]", + "tag": "Text" + } + ] + }, + "internalId": "448", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "hsGroupVals", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "hsGroupVals", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "hsGroupVals", + "sort": "External" + }, + "45": { + "demangledOccName": "moduleNameString", + "details": "VanillaId", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Module.Name|Val|moduleNameString", + "idType": { + "components": [ + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]", + "tag": "Text" + } + ] + }, + "internalId": "45", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "moduleNameString", + "moduleName": "Language.Haskell.Syntax.Module.Name", + "name": "moduleNameString", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "moduleNameString", + "sort": "External" + }, + "451": { + "demangledOccName": "TyClD", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|TyClD", + "idType": { + "components": [ + { + "internalId": "637", + "name": "DeclarationSort", + "tag": "TyCon" + }, + { + "contents": "_rN", + "tag": "Text" + } + ] + }, + "internalId": "451", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "TyClD", + "moduleName": "HaskellCodeExplorer.Types", + "name": "TyClD", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "TyClD", + "sort": "External" + }, + "453": { + "demangledOccName": "append", + "details": "VanillaId", + "externalId": "text-2.1.2|Data.Text.Internal|Val|append", + "idType": { + "components": [ + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "453", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "append", + "moduleName": "Data.Text.Internal", + "name": "append", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "append", + "sort": "External" + }, + "454": { + "demangledOccName": "tyClDeclPrefix", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|tyClDeclPrefix", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "64", + "name": "TyClDecl", + "tag": "TyCon" + }, + { + "contents": "_r5y6 ", + "tag": "Text" + }, + { + "internalId": "914", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "454", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tyClDeclPrefix", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "tyClDeclPrefix", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tyClDeclPrefix", + "sort": "External" + }, + "458": { + "demangledOccName": "filter", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.List|Val|filter", + "idType": { + "components": [ + { + "contents": "forall a. (", + "tag": "Text" + }, + { + "internalId": "683", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38) -> [", + "tag": "Text" + }, + { + "internalId": "683", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "] -> [", + "tag": "Text" + }, + { + "internalId": "683", + "name": "a", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ] + }, + "internalId": "458", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "filter", + "moduleName": "GHC.Internal.List", + "name": "filter", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "filter", + "sort": "External" + }, + "46": { + "demangledOccName": "ms_hspp_buf", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Unit.Module.ModSummary|Val|ms_hspp_buf", + "idType": { + "components": [ + { + "internalId": "32", + "name": "ModSummary", + "tag": "TyCon" + }, + { + "contents": "_r6k0 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "652", + "name": "StringBuffer", + "tag": "TyCon" + }, + { + "contents": "_r5BG", + "tag": "Text" + } + ] + }, + "internalId": "46", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ms_hspp_buf", + "moduleName": "GHC.Unit.Module.ModSummary", + "name": "ms_hspp_buf", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "ms_hspp_buf", + "sort": "External" + }, + "460": { + "demangledOccName": "InstD", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|InstD", + "idType": { + "components": [ + { + "internalId": "637", + "name": "DeclarationSort", + "tag": "TyCon" + }, + { + "contents": "_rN", + "tag": "Text" + } + ] + }, + "internalId": "460", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "InstD", + "moduleName": "HaskellCodeExplorer.Types", + "name": "InstD", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "InstD", + "sort": "External" + }, + "462": { + "demangledOccName": "instanceDeclToText", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|instanceDeclToText", + "idType": { + "components": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0 -> ", + "tag": "Text" + }, + { + "internalId": "63", + "name": "InstDecl", + "tag": "TyCon" + }, + { + "contents": "_r5x9 ", + "tag": "Text" + }, + { + "internalId": "14", + "name": "GhcRn", + "tag": "TyCon" + }, + { + "contents": "_r5xa -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "63", + "name": "InstDecl", + "tag": "TyCon" + }, + { + "contents": "_r5x9 (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc) -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "462", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "instanceDeclToText", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "instanceDeclToText", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "instanceDeclToText", + "sort": "External" + }, + "47": { + "demangledOccName": "ms_mod", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Unit.Module.ModSummary|Val|ms_mod", + "idType": { + "components": [ + { + "internalId": "32", + "name": "ModSummary", + "tag": "TyCon" + }, + { + "contents": "_r6k0 -> ", + "tag": "Text" + }, + { + "internalId": "86", + "name": "Module", + "tag": "TyCon" + }, + { + "contents": "_r5As", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "32", + "name": "ModSummary", + "tag": "TyCon" + }, + { + "contents": "_r6k0 -> ", + "tag": "Text" + }, + { + "internalId": "739", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn)", + "tag": "Text" + } + ] + }, + "internalId": "47", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ms_mod", + "moduleName": "GHC.Unit.Module.ModSummary", + "name": "ms_mod", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "ms_mod", + "sort": "External" + }, + "470": { + "demangledOccName": "ForD", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|ForD", + "idType": { + "components": [ + { + "internalId": "637", + "name": "DeclarationSort", + "tag": "TyCon" + }, + { + "contents": "_rN", + "tag": "Text" + } + ] + }, + "internalId": "470", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ForD", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ForD", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "ForD", + "sort": "External" + }, + "474": { + "demangledOccName": "Environment", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Typ|Environment", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "474", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Environment", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "Environment", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Environment", + "sort": "External" + }, + "478": { + "demangledOccName": "ASTState", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|ASTState", + "idType": { + "components": [ + { + "internalId": "241", + "name": "ExpressionInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r1c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "653", + "name": "TidyOccEnv", + "tag": "TyCon" + }, + { + "contents": "_r74G\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "797", + "name": "VarEnv", + "tag": "TyCon" + }, + { + "contents": "_r732 ", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "798", + "name": "HsWrapper", + "tag": "TyCon" + }, + { + "contents": "_r5y5\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "731", + "name": "GhcMode", + "tag": "TyCon" + }, + { + "contents": "_r64E\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "799", + "name": "GhcLink", + "tag": "TyCon" + }, + { + "contents": "_r64x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "800", + "name": "Backend", + "tag": "TyCon" + }, + { + "contents": "_r61Z\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "802", + "name": "Platform", + "tag": "TyCon" + }, + { + "contents": "_r7Mq\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c)]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "804", + "name": "TempDir", + "tag": "TyCon" + }, + { + "contents": "_r8mP\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "805", + "name": "ParMakeCount", + "tag": "TyCon" + }, + { + "contents": "_r8b6\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "806", + "name": "Word", + "tag": "TyCon" + }, + { + "contents": "_31W\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "807", + "name": "IntWithInf", + "tag": "TyCon" + }, + { + "contents": "_r8mQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "807", + "name": "IntWithInf", + "tag": "TyCon" + }, + { + "contents": "_r8mQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "86", + "name": "Module", + "tag": "TyCon" + }, + { + "contents": "_r5As)]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "808", + "name": "Ways", + "tag": "TyCon" + }, + { + "contents": "_r8mR\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "809", + "name": "DynLibLoader", + "tag": "TyCon" + }, + { + "contents": "_r8ao\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "810", + "name": "IncludeSpecs", + "tag": "TyCon" + }, + { + "contents": "_r8aA\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "669", + "name": "RtsOptsEnabled", + "tag": "TyCon" + }, + { + "contents": "_r8be\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3]\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c)]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "811", + "name": "ExternalPluginSpec", + "tag": "TyCon" + }, + { + "contents": "_r8mS]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "796", + "name": "PackageDBFlag", + "tag": "TyCon" + }, + { + "contents": "_r8aY]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "812", + "name": "IgnorePackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8ay]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "813", + "name": "PackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8b3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "813", + "name": "PackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8b3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "712", + "name": "TrustFlag", + "tag": "TyCon" + }, + { + "contents": "_r8bk]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "758", + "name": "DumpFlag", + "tag": "TyCon" + }, + { + "contents": "_r8bo\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "815", + "name": "GeneralFlag", + "tag": "TyCon" + }, + { + "contents": "_r64J\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "816", + "name": "WarningFlag", + "tag": "TyCon" + }, + { + "contents": "_r88u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "816", + "name": "WarningFlag", + "tag": "TyCon" + }, + { + "contents": "_r88u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "817", + "name": "WarningCategorySet", + "tag": "TyCon" + }, + { + "contents": "_r88v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "817", + "name": "WarningCategorySet", + "tag": "TyCon" + }, + { + "contents": "_r88v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "818", + "name": "Language", + "tag": "TyCon" + }, + { + "contents": "_r8d1\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "766", + "name": "SafeHaskellMode", + "tag": "TyCon" + }, + { + "contents": "_r6iV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "702", + "name": "OnOff", + "tag": "TyCon" + }, + { + "contents": "_r8aS ", + "tag": "Text" + }, + { + "internalId": "819", + "name": "Extension", + "tag": "TyCon" + }, + { + "contents": "_r6HC]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "819", + "name": "Extension", + "tag": "TyCon" + }, + { + "contents": "_r6HC\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "820", + "name": "UnfoldingOpts", + "tag": "TyCon" + }, + { + "contents": "_r8mT\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "748", + "name": "FlushOut", + "tag": "TyCon" + }, + { + "contents": "_r6Fa\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "801", + "name": "FilePath", + "tag": "TyCon" + }, + { + "contents": "_rr2\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "821", + "name": "OverridingBool", + "tag": "TyCon" + }, + { + "contents": "_r8mU\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "821", + "name": "OverridingBool", + "tag": "TyCon" + }, + { + "contents": "_r8mU\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "822", + "name": "Scheme", + "tag": "TyCon" + }, + { + "contents": "_r8mV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "823", + "name": "ProfAuto", + "tag": "TyCon" + }, + { + "contents": "_r8eW\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "824", + "name": "CallerCcFilter", + "tag": "TyCon" + }, + { + "contents": "_r8mW]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "825", + "name": "SseVersion", + "tag": "TyCon" + }, + { + "contents": "_r8mX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "826", + "name": "BmiVersion", + "tag": "TyCon" + }, + { + "contents": "_r8mE\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "827", + "name": "Word64", + "tag": "TyCon" + }, + { + "contents": "_32c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "734", + "name": "Weights", + "tag": "TyCon" + }, + { + "contents": "_r8mY\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "828", + "name": "UnitInfoMap", + "tag": "TyCon" + }, + { + "contents": "_rdXj\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "829", + "name": "PreloadUnitClosure", + "tag": "TyCon" + }, + { + "contents": "_rdXb\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "830", + "name": "PackageName", + "tag": "TyCon" + }, + { + "contents": "_rb5Z ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn]\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "831", + "name": "Unit", + "tag": "TyCon" + }, + { + "contents": "_r5An, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "832", + "name": "PackageArg", + "tag": "TyCon" + }, + { + "contents": "_r8aV)]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "833", + "name": "ModuleNameProvidersMap", + "tag": "TyCon" + }, + { + "contents": "_re1I\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "833", + "name": "ModuleNameProvidersMap", + "tag": "TyCon" + }, + { + "contents": "_re1I\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3 [", + "tag": "Text" + }, + { + "internalId": "757", + "name": "InstantiatedModule", + "tag": "TyCon" + }, + { + "contents": "_rdVD]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "681", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "681", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "834", + "name": "VisibleOrphanModules", + "tag": "TyCon" + }, + { + "contents": "_r7fb\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "710", + "name": "LinePragma", + "tag": "TyCon" + }, + { + "contents": "_r2x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p (", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "695", + "name": "FileLocation", + "tag": "TyCon" + }, + { + "contents": "_r1j)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "631", + "name": "String", + "tag": "TyCon" + }, + { + "contents": "_3c]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "638", + "name": "IntervalMap", + "tag": "TyCon" + }, + { + "contents": "_r4P (", + "tag": "Text" + }, + { + "internalId": "756", + "name": "Interval", + "tag": "TyCon" + }, + { + "contents": "_r4k (", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)) ", + "tag": "Text" + }, + { + "internalId": "675", + "name": "ExpressionInfo", + "tag": "TyCon" + }, + { + "contents": "_r18\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "667", + "name": "FastString", + "tag": "TyCon" + }, + { + "contents": "_r5yT ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX ", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "798", + "name": "HsWrapper", + "tag": "TyCon" + }, + { + "contents": "_r5y5\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "731", + "name": "GhcMode", + "tag": "TyCon" + }, + { + "contents": "_r64E\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "799", + "name": "GhcLink", + "tag": "TyCon" + }, + { + "contents": "_r64x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "800", + "name": "Backend", + "tag": "TyCon" + }, + { + "contents": "_r61Z\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "802", + "name": "Platform", + "tag": "TyCon" + }, + { + "contents": "_r7Mq\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI])\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "803", + "name": "Fingerprint", + "tag": "TyCon" + }, + { + "contents": "_r2zt\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g])]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "804", + "name": "TempDir", + "tag": "TyCon" + }, + { + "contents": "_r8mP\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "805", + "name": "ParMakeCount", + "tag": "TyCon" + }, + { + "contents": "_r8b6\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "806", + "name": "Word", + "tag": "TyCon" + }, + { + "contents": "_31W\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "807", + "name": "IntWithInf", + "tag": "TyCon" + }, + { + "contents": "_r8mQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "807", + "name": "IntWithInf", + "tag": "TyCon" + }, + { + "contents": "_r8mQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3,\n ", + "tag": "Text" + }, + { + "internalId": "739", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn))]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "837", + "name": "Way", + "tag": "TyCon" + }, + { + "contents": "_r8uQ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ([", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g], ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "809", + "name": "DynLibLoader", + "tag": "TyCon" + }, + { + "contents": "_r8ao\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "740", + "name": "Option", + "tag": "TyCon" + }, + { + "contents": "_r6FI]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "810", + "name": "IncludeSpecs", + "tag": "TyCon" + }, + { + "contents": "_r8aA\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "669", + "name": "RtsOptsEnabled", + "tag": "TyCon" + }, + { + "contents": "_r8be\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3]\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g])]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "811", + "name": "ExternalPluginSpec", + "tag": "TyCon" + }, + { + "contents": "_r8mS]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "796", + "name": "PackageDBFlag", + "tag": "TyCon" + }, + { + "contents": "_r8aY]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "812", + "name": "IgnorePackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8ay]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "813", + "name": "PackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8b3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "813", + "name": "PackageFlag", + "tag": "TyCon" + }, + { + "contents": "_r8b3]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "712", + "name": "TrustFlag", + "tag": "TyCon" + }, + { + "contents": "_r8bk]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "758", + "name": "DumpFlag", + "tag": "TyCon" + }, + { + "contents": "_r8bo\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "815", + "name": "GeneralFlag", + "tag": "TyCon" + }, + { + "contents": "_r64J\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "816", + "name": "WarningFlag", + "tag": "TyCon" + }, + { + "contents": "_r88u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "816", + "name": "WarningFlag", + "tag": "TyCon" + }, + { + "contents": "_r88u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "817", + "name": "WarningCategorySet", + "tag": "TyCon" + }, + { + "contents": "_r88v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "817", + "name": "WarningCategorySet", + "tag": "TyCon" + }, + { + "contents": "_r88v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "818", + "name": "Language", + "tag": "TyCon" + }, + { + "contents": "_r8d1\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "766", + "name": "SafeHaskellMode", + "tag": "TyCon" + }, + { + "contents": "_r6iV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "702", + "name": "OnOff", + "tag": "TyCon" + }, + { + "contents": "_r8aS ", + "tag": "Text" + }, + { + "internalId": "819", + "name": "Extension", + "tag": "TyCon" + }, + { + "contents": "_r6HC]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "814", + "name": "EnumSet", + "tag": "TyCon" + }, + { + "contents": "_r88t ", + "tag": "Text" + }, + { + "internalId": "819", + "name": "Extension", + "tag": "TyCon" + }, + { + "contents": "_r6HC\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "820", + "name": "UnfoldingOpts", + "tag": "TyCon" + }, + { + "contents": "_r8mT\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "748", + "name": "FlushOut", + "tag": "TyCon" + }, + { + "contents": "_r6Fa\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "821", + "name": "OverridingBool", + "tag": "TyCon" + }, + { + "contents": "_r8mU\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "821", + "name": "OverridingBool", + "tag": "TyCon" + }, + { + "contents": "_r8mU\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "822", + "name": "Scheme", + "tag": "TyCon" + }, + { + "contents": "_r8mV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "823", + "name": "ProfAuto", + "tag": "TyCon" + }, + { + "contents": "_r8eW\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "824", + "name": "CallerCcFilter", + "tag": "TyCon" + }, + { + "contents": "_r8mW]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "825", + "name": "SseVersion", + "tag": "TyCon" + }, + { + "contents": "_r8mX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "826", + "name": "BmiVersion", + "tag": "TyCon" + }, + { + "contents": "_r8mE\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "827", + "name": "Word64", + "tag": "TyCon" + }, + { + "contents": "_32c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "734", + "name": "Weights", + "tag": "TyCon" + }, + { + "contents": "_r8mY\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n (", + "tag": "Text" + }, + { + "internalId": "793", + "name": "GenericUnitInfo", + "tag": "TyCon" + }, + { + "contents": "_rdS9\n ", + "tag": "Text" + }, + { + "internalId": "741", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_rdS2\n ", + "tag": "Text" + }, + { + "internalId": "830", + "name": "PackageName", + "tag": "TyCon" + }, + { + "contents": "_rb5Z\n ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n (", + "tag": "Text" + }, + { + "internalId": "739", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn)))\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "838", + "name": "UniqSet", + "tag": "TyCon" + }, + { + "contents": "_r5Cc ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "830", + "name": "PackageName", + "tag": "TyCon" + }, + { + "contents": "_rb5Z ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn]\n%1 -> [(", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "832", + "name": "PackageArg", + "tag": "TyCon" + }, + { + "contents": "_r8aV)]\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n (", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n (", + "tag": "Text" + }, + { + "internalId": "739", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn)) ", + "tag": "Text" + }, + { + "internalId": "839", + "name": "ModuleOrigin", + "tag": "TyCon" + }, + { + "contents": "_rdX0)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n (", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n (", + "tag": "Text" + }, + { + "internalId": "739", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "836", + "name": "GenUnit", + "tag": "TyCon" + }, + { + "contents": "_r8v4 ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn)) ", + "tag": "Text" + }, + { + "internalId": "839", + "name": "ModuleOrigin", + "tag": "TyCon" + }, + { + "contents": "_rdX0)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "776", + "name": "UniqMap", + "tag": "TyCon" + }, + { + "contents": "_rajX\n ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n [", + "tag": "Text" + }, + { + "internalId": "739", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh (", + "tag": "Text" + }, + { + "internalId": "840", + "name": "GenInstantiatedUnit", + "tag": "TyCon" + }, + { + "contents": "_rdVq ", + "tag": "Text" + }, + { + "internalId": "685", + "name": "UnitId", + "tag": "TyCon" + }, + { + "contents": "_r6Hn)]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "681", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "681", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "841", + "name": "NDModule", + "tag": "TyCon" + }, + { + "contents": "_rgOV\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "710", + "name": "LinePragma", + "tag": "TyCon" + }, + { + "contents": "_r2x\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p (", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "695", + "name": "FileLocation", + "tag": "TyCon" + }, + { + "contents": "_r1j)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u]\n%1 -> [[", + "tag": "Text" + }, + { + "internalId": "632", + "name": "Char", + "tag": "TyCon" + }, + { + "contents": "_3g]]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "356", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r3j ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g ", + "tag": "Text" + }, + { + "internalId": "357", + "name": "DefinitionSite", + "tag": "TyCon" + }, + { + "contents": "_rS\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "107", + "name": "HaskellFilePath", + "tag": "TyCon" + }, + { + "contents": "_r1p ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v ", + "tag": "Text" + }, + { + "internalId": "109", + "name": "DefinitionSiteMap", + "tag": "TyCon" + }, + { + "contents": "_rW\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v)\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw", + "tag": "Text" + } + ] + }, + "internalId": "478", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ASTState", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "ASTState", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "ASTState", + "sort": "External" + }, + "48": { + "demangledOccName": "renamedSource", + "details": "ClassOpId", + "externalId": "ghc-9.10.2|GHC|Val|renamedSource", + "idType": { + "components": [ + { + "contents": "forall m.\n", + "tag": "Text" + }, + { + "internalId": "623", + "name": "TypecheckedMod", + "tag": "TyCon" + }, + { + "contents": "_r61j ", + "tag": "Text" + }, + { + "internalId": "624", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " =>\n", + "tag": "Text" + }, + { + "internalId": "624", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "625", + "name": "RenamedSource", + "tag": "TyCon" + }, + { + "contents": "_r61i", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall m.\n", + "tag": "Text" + }, + { + "internalId": "623", + "name": "TypecheckedMod", + "tag": "TyCon" + }, + { + "contents": "_r61j ", + "tag": "Text" + }, + { + "internalId": "624", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " =>\n", + "tag": "Text" + }, + { + "internalId": "624", + "name": "m", + "tag": "TyCon" + }, + { + "contents": "\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U\n (", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc),\n [", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n (", + "tag": "Text" + }, + { + "internalId": "73", + "name": "ImportDecl", + "tag": "TyCon" + }, + { + "contents": "_r6zq (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc))],\n ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U\n [(", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)\n (", + "tag": "Text" + }, + { + "internalId": "72", + "name": "IE", + "tag": "TyCon" + }, + { + "contents": "_r5zW (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc)),\n [", + "tag": "Text" + }, + { + "internalId": "629", + "name": "AvailInfo", + "tag": "TyCon" + }, + { + "contents": "_r6Fq])],\n ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U\n (", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya\n ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ\n (", + "tag": "Text" + }, + { + "internalId": "71", + "name": "WithHsDocIdentifiers", + "tag": "TyCon" + }, + { + "contents": "_r5yg\n ", + "tag": "Text" + }, + { + "internalId": "69", + "name": "HsDocString", + "tag": "TyCon" + }, + { + "contents": "_r5x2 (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc))),\n ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "627", + "name": "Renamed", + "tag": "TyCon" + }, + { + "contents": "_r5yc) ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3))", + "tag": "Text" + } + ] + }, + "internalId": "48", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "renamedSource", + "moduleName": "GHC", + "name": "renamedSource", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "renamedSource", + "sort": "External" + }, + "480": { + "demangledOccName": "empty", + "details": "VanillaId", + "externalId": "IntervalMap-0.6.2.1|Data.IntervalMap.Generic.Base|Val|empty", + "idType": { + "components": [ + { + "contents": "forall k v. ", + "tag": "Text" + }, + { + "internalId": "638", + "name": "IntervalMap", + "tag": "TyCon" + }, + { + "contents": "_r4P ", + "tag": "Text" + }, + { + "internalId": "770", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "893", + "name": "v", + "tag": "TyCon" + } + ] + }, + "internalId": "480", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "empty", + "moduleName": "Data.IntervalMap.Generic.Base", + "name": "empty", + "packageId": { + "name": "IntervalMap", + "version": "0.6.2.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "empty", + "sort": "External" + }, + "481": { + "demangledOccName": "empty", + "details": "VanillaId", + "externalId": "containers-0.7|Data.IntMap.Internal|Val|empty", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj ", + "tag": "Text" + }, + { + "internalId": "719", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "481", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "empty", + "moduleName": "Data.IntMap.Internal", + "name": "empty", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "empty", + "sort": "External" + }, + "482": { + "demangledOccName": "empty", + "details": "VanillaId", + "externalId": "containers-0.7|Data.Map.Internal|Val|empty", + "idType": { + "components": [ + { + "contents": "forall k a. ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId ", + "tag": "Text" + }, + { + "internalId": "885", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "886", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "482", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "empty", + "moduleName": "Data.Map.Internal", + "name": "empty", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "empty", + "sort": "External" + }, + "484": { + "demangledOccName": "astStateExprInfoMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|astStateExprInfoMap", + "idType": { + "components": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw -> ", + "tag": "Text" + }, + { + "internalId": "241", + "name": "ExpressionInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r1c", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw\n-> ", + "tag": "Text" + }, + { + "internalId": "638", + "name": "IntervalMap", + "tag": "TyCon" + }, + { + "contents": "_r4P\n (", + "tag": "Text" + }, + { + "internalId": "756", + "name": "Interval", + "tag": "TyCon" + }, + { + "contents": "_r4k (", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u)) ", + "tag": "Text" + }, + { + "internalId": "675", + "name": "ExpressionInfo", + "tag": "TyCon" + }, + { + "contents": "_r18", + "tag": "Text" + } + ] + }, + "internalId": "484", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "astStateExprInfoMap", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "astStateExprInfoMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "astStateExprInfoMap", + "sort": "External" + }, + "485": { + "demangledOccName": "foldTypecheckedSource", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|foldTypecheckedSource", + "idType": { + "components": [ + { + "internalId": "906", + "name": "LHsBinds", + "tag": "TyCon" + }, + { + "contents": "_r6lt ", + "tag": "Text" + }, + { + "internalId": "935", + "name": "GhcTc", + "tag": "TyCon" + }, + { + "contents": "_r6ci -> ", + "tag": "Text" + }, + { + "internalId": "7", + "name": "State", + "tag": "TyCon" + }, + { + "contents": "_rgmR ", + "tag": "Text" + }, + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw ()", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "732", + "name": "Bag", + "tag": "TyCon" + }, + { + "contents": "_r5yy\n (", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "872", + "name": "Typechecked", + "tag": "TyCon" + }, + { + "contents": "_r6co)\n (", + "tag": "Text" + }, + { + "internalId": "9", + "name": "HsBindLR", + "tag": "TyCon" + }, + { + "contents": "_r5yz\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "872", + "name": "Typechecked", + "tag": "TyCon" + }, + { + "contents": "_r6co) (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "872", + "name": "Typechecked", + "tag": "TyCon" + }, + { + "contents": "_r6co)))\n-> ", + "tag": "Text" + }, + { + "internalId": "670", + "name": "StateT", + "tag": "TyCon" + }, + { + "contents": "_rgmU ", + "tag": "Text" + }, + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw ", + "tag": "Text" + }, + { + "internalId": "729", + "name": "Identity", + "tag": "TyCon" + }, + { + "contents": "_r54 ()", + "tag": "Text" + } + ] + }, + "internalId": "485", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "foldTypecheckedSource", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "foldTypecheckedSource", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "foldTypecheckedSource", + "sort": "External" + }, + "486": { + "demangledOccName": "addIdentifierToMaps", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|addIdentifierToMaps", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n-> (", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20, ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b)\n-> ", + "tag": "Text" + }, + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz\n-> (", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20, ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b)", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n-> (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "764", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N,\n ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)])\n-> ", + "tag": "Text" + }, + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz\n-> (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "764", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N,\n ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)])", + "tag": "Text" + } + ] + }, + "internalId": "486", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "addIdentifierToMaps", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "addIdentifierToMaps", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "addIdentifierToMaps", + "sort": "External" + }, + "49": { + "demangledOccName": "tm_internals_", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC|Val|tm_internals_", + "idType": { + "components": [ + { + "internalId": "39", + "name": "TypecheckedModule", + "tag": "TyCon" + }, + { + "contents": "_r61n -> (", + "tag": "Text" + }, + { + "internalId": "680", + "name": "TcGblEnv", + "tag": "TyCon" + }, + { + "contents": "_r6DZ, ", + "tag": "Text" + }, + { + "internalId": "722", + "name": "ModDetails", + "tag": "TyCon" + }, + { + "contents": "_r6E0)", + "tag": "Text" + } + ] + }, + "internalId": "49", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tm_internals_", + "moduleName": "GHC", + "name": "tm_internals_", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tm_internals_", + "sort": "External" + }, + "490": { + "demangledOccName": "namesFromRenamedSource", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.RenamedSource|Val|namesFromRenamedSource", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "705", + "name": "Data", + "tag": "TyCon" + }, + { + "contents": "_29 ", + "tag": "Text" + }, + { + "internalId": "904", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "904", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz]", + "tag": "Text" + } + ] + }, + "internalId": "490", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "namesFromRenamedSource", + "moduleName": "HaskellCodeExplorer.AST.RenamedSource", + "name": "namesFromRenamedSource", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "namesFromRenamedSource", + "sort": "External" + }, + "497": { + "demangledOccName": "moduleLocationInfo", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|moduleLocationInfo", + "idType": { + "components": [ + { + "internalId": "2", + "name": "UnitState", + "tag": "TyCon" + }, + { + "contents": "_r5xH\n-> ", + "tag": "Text" + }, + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h\n ", + "tag": "Text" + }, + { + "internalId": "110", + "name": "HaskellModuleName", + "tag": "TyCon" + }, + { + "contents": "_r1s\n (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv ", + "tag": "Text" + }, + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v)\n-> ", + "tag": "Text" + }, + { + "internalId": "113", + "name": "PackageId", + "tag": "TyCon" + }, + { + "contents": "_r3m\n-> ", + "tag": "Text" + }, + { + "internalId": "111", + "name": "ComponentId", + "tag": "TyCon" + }, + { + "contents": "_rv\n-> ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3\n-> ", + "tag": "Text" + }, + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H", + "tag": "Text" + } + ] + }, + "internalId": "497", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "moduleLocationInfo", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "moduleLocationInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "moduleLocationInfo", + "sort": "External" + }, + "5": { + "demangledOccName": "get", + "details": "ClassOpId", + "externalId": "mtl-2.3.1|Control.Monad.State.Class|Val|get", + "idType": { + "components": [ + { + "contents": "forall s (m :: Type -> Type). ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "MonadState", + "tag": "TyCon" + }, + { + "contents": "_rgJ4 ", + "tag": "Text" + }, + { + "internalId": "775", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "666", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "666", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "775", + "name": "s", + "tag": "TyCon" + } + ] + }, + "internalId": "5", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "get", + "moduleName": "Control.Monad.State.Class", + "name": "get", + "packageId": { + "name": "mtl", + "version": "2.3.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "get", + "sort": "External" + }, + "50": { + "demangledOccName": "tm_typechecked_source", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC|Val|tm_typechecked_source", + "idType": { + "components": [ + { + "internalId": "39", + "name": "TypecheckedModule", + "tag": "TyCon" + }, + { + "contents": "_r61n -> ", + "tag": "Text" + }, + { + "internalId": "871", + "name": "TypecheckedSource", + "tag": "TyCon" + }, + { + "contents": "_r61u", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "39", + "name": "TypecheckedModule", + "tag": "TyCon" + }, + { + "contents": "_r61n\n-> ", + "tag": "Text" + }, + { + "internalId": "732", + "name": "Bag", + "tag": "TyCon" + }, + { + "contents": "_r5yy\n (", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "872", + "name": "Typechecked", + "tag": "TyCon" + }, + { + "contents": "_r6co)\n (", + "tag": "Text" + }, + { + "internalId": "9", + "name": "HsBindLR", + "tag": "TyCon" + }, + { + "contents": "_r5yz\n (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "872", + "name": "Typechecked", + "tag": "TyCon" + }, + { + "contents": "_r6co) (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye '", + "tag": "Text" + }, + { + "internalId": "872", + "name": "Typechecked", + "tag": "TyCon" + }, + { + "contents": "_r6co)))", + "tag": "Text" + } + ] + }, + "internalId": "50", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tm_typechecked_source", + "moduleName": "GHC", + "name": "tm_typechecked_source", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tm_typechecked_source", + "sort": "External" + }, + "507": { + "demangledOccName": "map", + "details": "VanillaId", + "externalId": "containers-0.7|Data.IntMap.Strict.Internal|Val|map", + "idType": { + "components": [ + { + "contents": "forall a b. (", + "tag": "Text" + }, + { + "internalId": "857", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "767", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj ", + "tag": "Text" + }, + { + "internalId": "857", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj ", + "tag": "Text" + }, + { + "internalId": "767", + "name": "b", + "tag": "TyCon" + } + ] + }, + "internalId": "507", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "map", + "moduleName": "Data.IntMap.Strict.Internal", + "name": "map", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "map", + "sort": "External" + }, + "508": { + "demangledOccName": "addModules", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|addModules", + "idType": { + "components": [ + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ, ", + "tag": "Text" + }, + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H)]\n-> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b\n-> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B\n-> [(", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3, ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ, ", + "tag": "Text" + }, + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H)]\n-> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]\n-> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]", + "tag": "Text" + } + ] + }, + "internalId": "508", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "addModules", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "addModules", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "addModules", + "sort": "External" + }, + "51": { + "demangledOccName": "unLoc", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Val|unLoc", + "idType": { + "components": [ + { + "contents": "forall l e. ", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya ", + "tag": "Text" + }, + { + "internalId": "933", + "name": "l", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "939", + "name": "e", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "939", + "name": "e", + "tag": "TyCon" + } + ] + }, + "internalId": "51", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "unLoc", + "moduleName": "GHC.Types.SrcLoc", + "name": "unLoc", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "unLoc", + "sort": "External" + }, + "514": { + "demangledOccName": "NameOccurrence", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.RenamedSource|Typ|NameOccurrence", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "514", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "NameOccurrence", + "moduleName": "HaskellCodeExplorer.AST.RenamedSource", + "name": "NameOccurrence", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "NameOccurrence", + "sort": "External" + }, + "517": { + "demangledOccName": "&&", + "details": "VanillaId", + "externalId": "ghc-prim-0.12.0|GHC.Classes|Val|&&", + "idType": { + "components": [ + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "517", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "-38--38-", + "moduleName": "GHC.Classes", + "name": "&&", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "&&", + "sort": "External" + }, + "519": { + "demangledOccName": "kind", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.RenamedSource|Val|kind", + "idType": { + "components": [ + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz -> ", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD", + "tag": "Text" + } + ] + }, + "internalId": "519", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "kind", + "moduleName": "HaskellCodeExplorer.AST.RenamedSource", + "name": "kind", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "kind", + "sort": "External" + }, + "52": { + "demangledOccName": "expandTypeSynonyms", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Core.Type|Val|expandTypeSynonyms", + "idType": { + "components": [ + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD -> ", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD", + "tag": "Text" + } + ] + }, + "internalId": "52", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "expandTypeSynonyms", + "moduleName": "GHC.Core.Type", + "name": "expandTypeSynonyms", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "expandTypeSynonyms", + "sort": "External" + }, + "520": { + "demangledOccName": "addNameToMaps", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|addNameToMaps", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> (", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20, ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b)\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> (", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20, ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b)", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "764", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N,\n ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)])\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u\n-> (", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "764", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N,\n ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)])", + "tag": "Text" + } + ] + }, + "internalId": "520", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "addNameToMaps", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "addNameToMaps", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "addNameToMaps", + "sort": "External" + }, + "526": { + "demangledOccName": "isBinder", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.RenamedSource|Val|isBinder", + "idType": { + "components": [ + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "526", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "isBinder", + "moduleName": "HaskellCodeExplorer.AST.RenamedSource", + "name": "isBinder", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "isBinder", + "sort": "External" + }, + "527": { + "demangledOccName": "lookupIdByNameOccurrence", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|lookupIdByNameOccurrence", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n-> ", + "tag": "Text" + }, + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))\n-> ", + "tag": "Text" + }, + { + "internalId": "514", + "name": "NameOccurrence", + "tag": "TyCon" + }, + { + "contents": "_reZz\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))", + "tag": "Text" + } + ] + }, + "internalId": "527", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "lookupIdByNameOccurrence", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "lookupIdByNameOccurrence", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "lookupIdByNameOccurrence", + "sort": "External" + }, + "53": { + "demangledOccName": "isFamInstTyCon", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Core.TyCon|Val|isFamInstTyCon", + "idType": { + "components": [ + { + "internalId": "889", + "name": "TyCon", + "tag": "TyCon" + }, + { + "contents": "_r61V -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "53", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "isFamInstTyCon", + "moduleName": "GHC.Core.TyCon", + "name": "isFamInstTyCon", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "isFamInstTyCon", + "sort": "External" + }, + "535": { + "demangledOccName": "tyConsOfType", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|tyConsOfType", + "idType": { + "components": [ + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD -> [", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD -> [", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX]", + "tag": "Text" + } + ] + }, + "internalId": "535", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tyConsOfType", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "tyConsOfType", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tyConsOfType", + "sort": "External" + }, + "536": { + "demangledOccName": "tyVarsOfType", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|tyVarsOfType", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "705", + "name": "Data", + "tag": "TyCon" + }, + { + "contents": "_29 ", + "tag": "Text" + }, + { + "internalId": "706", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "706", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "705", + "name": "Data", + "tag": "TyCon" + }, + { + "contents": "_29 ", + "tag": "Text" + }, + { + "internalId": "706", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "706", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX]", + "tag": "Text" + } + ] + }, + "internalId": "536", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tyVarsOfType", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "tyVarsOfType", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tyVarsOfType", + "sort": "External" + }, + "539": { + "demangledOccName": "updateIdMap", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.ModuleInfo|Val|updateIdMap", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> [(", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5)]\n-> ", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20\n-> ", + "tag": "Text" + }, + { + "internalId": "243", + "name": "IdentifierInfoMap", + "tag": "TyCon" + }, + { + "contents": "_r20", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> [(", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5)]\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "764", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N\n-> ", + "tag": "Text" + }, + { + "internalId": "106", + "name": "HashMap", + "tag": "TyCon" + }, + { + "contents": "_r9h ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u ", + "tag": "Text" + }, + { + "internalId": "764", + "name": "IdentifierInfo", + "tag": "TyCon" + }, + { + "contents": "_r1N", + "tag": "Text" + } + ] + }, + "internalId": "539", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "updateIdMap", + "moduleName": "HaskellCodeExplorer.ModuleInfo", + "name": "updateIdMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "updateIdMap", + "sort": "External" + }, + "54": { + "demangledOccName": "tyConName", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Core.TyCon|Val|tyConName", + "idType": { + "components": [ + { + "internalId": "889", + "name": "TyCon", + "tag": "TyCon" + }, + { + "contents": "_r61V -> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5", + "tag": "Text" + } + ] + }, + "internalId": "54", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tyConName", + "moduleName": "GHC.Core.TyCon", + "name": "tyConName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tyConName", + "sort": "External" + }, + "543": { + "demangledOccName": "mkIdentifierOccurrence", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|mkIdentifierOccurrence", + "idType": { + "components": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7\n-> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD])\n-> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n-> ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF\n-> ", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX\n-> ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5\n-> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD])\n-> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g\n-> ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21", + "tag": "Text" + } + ] + }, + "internalId": "543", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "mkIdentifierOccurrence", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "mkIdentifierOccurrence", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "mkIdentifierOccurrence", + "sort": "External" + }, + "546": { + "demangledOccName": "insertWith", + "details": "VanillaId", + "externalId": "containers-0.7|Data.IntMap.Strict.Internal|Val|insertWith", + "idType": { + "components": [ + { + "contents": "forall a.\n(", + "tag": "Text" + }, + { + "internalId": "650", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "650", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "650", + "name": "a", + "tag": "TyCon" + }, + { + "contents": ")\n-> ", + "tag": "Text" + }, + { + "internalId": "651", + "name": "Key", + "tag": "TyCon" + }, + { + "contents": "_r1p8 -> ", + "tag": "Text" + }, + { + "internalId": "650", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj ", + "tag": "Text" + }, + { + "internalId": "650", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj ", + "tag": "Text" + }, + { + "internalId": "650", + "name": "a", + "tag": "TyCon" + } + ], + "componentsExpanded": [ + { + "contents": "forall a.\n(", + "tag": "Text" + }, + { + "internalId": "650", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "650", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "650", + "name": "a", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u -> ", + "tag": "Text" + }, + { + "internalId": "650", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj ", + "tag": "Text" + }, + { + "internalId": "650", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj ", + "tag": "Text" + }, + { + "internalId": "650", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "546", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "insertWith", + "moduleName": "Data.IntMap.Strict.Internal", + "name": "insertWith", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "insertWith", + "sort": "External" + }, + "547": { + "demangledOccName": "removeOverlappingInterval", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|removeOverlappingInterval", + "idType": { + "components": [ + { + "contents": "forall a.\n[((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "898", + "name": "a", + "tag": "TyCon" + }, + { + "contents": ")]\n-> [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "898", + "name": "a", + "tag": "TyCon" + }, + { + "contents": ")] -> [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "898", + "name": "a", + "tag": "TyCon" + }, + { + "contents": ")]", + "tag": "Text" + } + ] + }, + "internalId": "547", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "removeOverlappingInterval", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "removeOverlappingInterval", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "removeOverlappingInterval", + "sort": "External" + }, + "55": { + "demangledOccName": "createSourceCodeTransformation", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Preprocessor|Val|createSourceCodeTransformation", + "idType": { + "components": [ + { + "internalId": "108", + "name": "HaskellModulePath", + "tag": "TyCon" + }, + { + "contents": "_r1v\n-> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g -> (", + "tag": "Text" + }, + { + "internalId": "267", + "name": "SourceCodeTransformation", + "tag": "TyCon" + }, + { + "contents": "_r3B, ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g)", + "tag": "Text" + } + ] + }, + "internalId": "55", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "createSourceCodeTransformation", + "moduleName": "HaskellCodeExplorer.Preprocessor", + "name": "createSourceCodeTransformation", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "createSourceCodeTransformation", + "sort": "External" + }, + "558": { + "demangledOccName": "IdentifierOccurrence", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|IdentifierOccurrence", + "idType": { + "components": [ + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "850", + "name": "InstanceResolution", + "tag": "TyCon" + }, + { + "contents": "_r2m\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "428", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r3L\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "428", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r3L]\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "693", + "name": "ByteArray#", + "tag": "TyCon" + }, + { + "contents": "_3a\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "694", + "name": "Int#", + "tag": "TyCon" + }, + { + "contents": "_3s\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "IdentifierOccurrenceSort", + "tag": "TyCon" + }, + { + "contents": "_r2c\n%1 -> ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21", + "tag": "Text" + } + ] + }, + "internalId": "558", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "IdentifierOccurrence", + "moduleName": "HaskellCodeExplorer.Types", + "name": "IdentifierOccurrence", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "IdentifierOccurrence", + "sort": "External" + }, + "56": { + "demangledOccName": "ForeignDecl", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|ForeignDecl", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "56", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ForeignDecl", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "ForeignDecl", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ForeignDecl", + "sort": "External" + }, + "560": { + "demangledOccName": "internalId", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|internalId", + "idType": { + "components": [ + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u", + "tag": "Text" + } + ] + }, + "internalId": "560", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "internalId", + "moduleName": "HaskellCodeExplorer.Types", + "name": "internalId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "internalId", + "sort": "External" + }, + "561": { + "demangledOccName": "fmap", + "details": "ClassOpId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|fmap", + "idType": { + "components": [ + { + "contents": "forall (f :: Type -> Type) a b.\n", + "tag": "Text" + }, + { + "internalId": "902", + "name": "Functor", + "tag": "TyCon" + }, + { + "contents": "_2a ", + "tag": "Text" + }, + { + "internalId": "883", + "name": "f", + "tag": "TyCon" + }, + { + "contents": " =>\n(", + "tag": "Text" + }, + { + "internalId": "943", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "720", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "883", + "name": "f", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "943", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "883", + "name": "f", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "720", + "name": "b", + "tag": "TyCon" + } + ] + }, + "internalId": "561", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "fmap", + "moduleName": "GHC.Internal.Base", + "name": "fmap", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "fmap", + "sort": "External" + }, + "562": { + "demangledOccName": "nameKey", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|nameKey", + "idType": { + "components": [ + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "562", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "nameKey", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "nameKey", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "nameKey", + "sort": "External" + }, + "564": { + "demangledOccName": "internalIdFromRenamedSource", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|internalIdFromRenamedSource", + "idType": { + "components": [ + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "253", + "name": "InternalId", + "tag": "TyCon" + }, + { + "contents": "_r2u", + "tag": "Text" + } + ] + }, + "internalId": "564", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "internalIdFromRenamedSource", + "moduleName": "HaskellCodeExplorer.Types", + "name": "internalIdFromRenamedSource", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "internalIdFromRenamedSource", + "sort": "External" + }, + "565": { + "demangledOccName": "<$>", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Functor|Val|<$>", + "idType": { + "components": [ + { + "contents": "forall (f :: Type -> Type) a b.\n", + "tag": "Text" + }, + { + "internalId": "902", + "name": "Functor", + "tag": "TyCon" + }, + { + "contents": "_2a ", + "tag": "Text" + }, + { + "internalId": "896", + "name": "f", + "tag": "TyCon" + }, + { + "contents": " =>\n(", + "tag": "Text" + }, + { + "internalId": "888", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "848", + "name": "b", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "896", + "name": "f", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "888", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "896", + "name": "f", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "848", + "name": "b", + "tag": "TyCon" + } + ] + }, + "internalId": "565", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "-60--36--62-", + "moduleName": "GHC.Internal.Data.Functor", + "name": "<$>", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "<$>", + "sort": "External" + }, + "566": { + "demangledOccName": "isBinder", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|isBinder", + "idType": { + "components": [ + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21 -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "566", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "isBinder", + "moduleName": "HaskellCodeExplorer.Types", + "name": "isBinder", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "isBinder", + "sort": "External" + }, + "567": { + "demangledOccName": "instanceResolution", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|instanceResolution", + "idType": { + "components": [ + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "850", + "name": "InstanceResolution", + "tag": "TyCon" + }, + { + "contents": "_r2m", + "tag": "Text" + } + ] + }, + "internalId": "567", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "instanceResolution", + "moduleName": "HaskellCodeExplorer.Types", + "name": "instanceResolution", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "instanceResolution", + "sort": "External" + }, + "568": { + "demangledOccName": "idOccType", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|idOccType", + "idType": { + "components": [ + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "428", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r3L", + "tag": "Text" + } + ] + }, + "internalId": "568", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "idOccType", + "moduleName": "HaskellCodeExplorer.Types", + "name": "idOccType", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "idOccType", + "sort": "External" + }, + "569": { + "demangledOccName": "typeArguments", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|typeArguments", + "idType": { + "components": [ + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21 -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U [", + "tag": "Text" + }, + { + "internalId": "428", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r3L]", + "tag": "Text" + } + ] + }, + "internalId": "569", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "typeArguments", + "moduleName": "HaskellCodeExplorer.Types", + "name": "typeArguments", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "typeArguments", + "sort": "External" + }, + "57": { + "demangledOccName": "HsDecl", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|HsDecl", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "57", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HsDecl", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "HsDecl", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HsDecl", + "sort": "External" + }, + "570": { + "demangledOccName": "description", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|description", + "idType": { + "components": [ + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21 -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "570", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "description", + "moduleName": "HaskellCodeExplorer.Types", + "name": "description", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "description", + "sort": "External" + }, + "572": { + "demangledOccName": "sort", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|sort", + "idType": { + "components": [ + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21 -> ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "IdentifierOccurrenceSort", + "tag": "TyCon" + }, + { + "contents": "_r2c", + "tag": "Text" + } + ] + }, + "internalId": "572", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "sort", + "moduleName": "HaskellCodeExplorer.Types", + "name": "sort", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "sort", + "sort": "External" + }, + "573": { + "demangledOccName": "TypeId", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|TypeId", + "idType": { + "components": [ + { + "internalId": "684", + "name": "IdentifierOccurrenceSort", + "tag": "TyCon" + }, + { + "contents": "_r2c", + "tag": "Text" + } + ] + }, + "internalId": "573", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "TypeId", + "moduleName": "HaskellCodeExplorer.Types", + "name": "TypeId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "TypeId", + "sort": "External" + }, + "576": { + "demangledOccName": "ValueId", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|ValueId", + "idType": { + "components": [ + { + "internalId": "684", + "name": "IdentifierOccurrenceSort", + "tag": "TyCon" + }, + { + "contents": "_r2c", + "tag": "Text" + } + ] + }, + "internalId": "576", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ValueId", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ValueId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "ValueId", + "sort": "External" + }, + "58": { + "demangledOccName": "LForeignDecl", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|LForeignDecl", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "58", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LForeignDecl", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "LForeignDecl", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LForeignDecl", + "sort": "External" + }, + "59": { + "demangledOccName": "LInstDecl", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|LInstDecl", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "59", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LInstDecl", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "LInstDecl", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LInstDecl", + "sort": "External" + }, + "6": { + "demangledOccName": "put", + "details": "ClassOpId", + "externalId": "mtl-2.3.1|Control.Monad.State.Class|Val|put", + "idType": { + "components": [ + { + "contents": "forall s (m :: Type -> Type). ", + "tag": "Text" + }, + { + "internalId": "774", + "name": "MonadState", + "tag": "TyCon" + }, + { + "contents": "_rgJ4 ", + "tag": "Text" + }, + { + "internalId": "775", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " ", + "tag": "Text" + }, + { + "internalId": "666", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "775", + "name": "s", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "666", + "name": "m", + "tag": "TyCon" + }, + { + "contents": " ()", + "tag": "Text" + } + ] + }, + "internalId": "6", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "put", + "moduleName": "Control.Monad.State.Class", + "name": "put", + "packageId": { + "name": "mtl", + "version": "2.3.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "put", + "sort": "External" + }, + "60": { + "demangledOccName": "LTyClDecl", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|LTyClDecl", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "60", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LTyClDecl", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "LTyClDecl", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LTyClDecl", + "sort": "External" + }, + "600": { + "demangledOccName": "flip", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|flip", + "idType": { + "components": [ + { + "contents": "forall a b c. (", + "tag": "Text" + }, + { + "internalId": "920", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "907", + "name": "b", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "891", + "name": "c", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "907", + "name": "b", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "920", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "891", + "name": "c", + "tag": "TyCon" + } + ] + }, + "internalId": "600", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "flip", + "moduleName": "GHC.Internal.Base", + "name": "flip", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "flip", + "sort": "External" + }, + "601": { + "demangledOccName": "const", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|const", + "idType": { + "components": [ + { + "contents": "forall a b. ", + "tag": "Text" + }, + { + "internalId": "743", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "633", + "name": "b", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "743", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "601", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "const", + "moduleName": "GHC.Internal.Base", + "name": "const", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "const", + "sort": "External" + }, + "602": { + "demangledOccName": "identifierKey", + "details": "VanillaId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Val|identifierKey", + "idType": { + "components": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0 -> ", + "tag": "Text" + }, + { + "internalId": "104", + "name": "Id", + "tag": "TyCon" + }, + { + "contents": "_r5x7 -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "28", + "name": "DynFlags", + "tag": "TyCon" + }, + { + "contents": "_r5x0 -> ", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX -> ", + "tag": "Text" + }, + { + "internalId": "114", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r4g", + "tag": "Text" + } + ] + }, + "internalId": "602", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "identifierKey", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "identifierKey", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "identifierKey", + "sort": "External" + }, + "607": { + "demangledOccName": "IntMap", + "externalId": "containers-0.7|Data.IntMap.Internal|Typ|IntMap", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "607", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IntMap", + "moduleName": "Data.IntMap.Internal", + "name": "IntMap", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IntMap", + "sort": "External" + }, + "608": { + "demangledOccName": "IdentifierOccurrence", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|IdentifierOccurrence", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "608", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IdentifierOccurrence", + "moduleName": "HaskellCodeExplorer.Types", + "name": "IdentifierOccurrence", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IdentifierOccurrence", + "sort": "External" + }, + "61": { + "demangledOccName": "LHsDecl", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|LHsDecl", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "61", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LHsDecl", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "LHsDecl", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LHsDecl", + "sort": "External" + }, + "613": { + "demangledOccName": "ModuleId", + "details": "DataConWorkId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Val|ModuleId", + "idType": { + "components": [ + { + "internalId": "308", + "name": "LocationInfo", + "tag": "TyCon" + }, + { + "contents": "_r2H %1 -> ", + "tag": "Text" + }, + { + "internalId": "684", + "name": "IdentifierOccurrenceSort", + "tag": "TyCon" + }, + { + "contents": "_r2c", + "tag": "Text" + } + ] + }, + "internalId": "613", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ModuleId", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ModuleId", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "ModuleId", + "sort": "External" + }, + "62": { + "demangledOccName": "HsGroup", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|HsGroup", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "62", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HsGroup", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "HsGroup", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HsGroup", + "sort": "External" + }, + "623": { + "demangledOccName": "TypecheckedMod", + "externalId": "ghc-9.10.2|GHC|Typ|TypecheckedMod", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "623", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TypecheckedMod", + "moduleName": "GHC", + "name": "TypecheckedMod", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TypecheckedMod", + "sort": "External" + }, + "624": { + "demangledOccName": "m", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "624", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe m is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "m", + "sort": "Internal" + }, + "625": { + "demangledOccName": "RenamedSource", + "externalId": "ghc-9.10.2|GHC|Typ|RenamedSource", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "625", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "RenamedSource", + "moduleName": "GHC", + "name": "RenamedSource", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "RenamedSource", + "sort": "External" + }, + "626": { + "demangledOccName": "GhcPass", + "externalId": "ghc-9.10.2|GHC.Hs.Extension|Typ|GhcPass", + "idType": { + "components": [ + { + "internalId": "635", + "name": "Pass", + "tag": "TyCon" + }, + { + "contents": "_r5zV -> Type", + "tag": "Text" + } + ] + }, + "internalId": "626", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GhcPass", + "moduleName": "GHC.Hs.Extension", + "name": "GhcPass", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GhcPass", + "sort": "External" + }, + "627": { + "demangledOccName": "Renamed", + "externalId": "ghc-9.10.2|GHC.Hs.Extension|Val|Renamed", + "idType": { + "components": [ + { + "internalId": "635", + "name": "Pass", + "tag": "TyCon" + }, + { + "contents": "_r5zV", + "tag": "Text" + } + ] + }, + "internalId": "627", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "Renamed", + "moduleName": "GHC.Hs.Extension", + "name": "Renamed", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "Renamed", + "sort": "External" + }, + "628": { + "demangledOccName": "XRec", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Extension|Typ|XRec", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "628", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "XRec", + "moduleName": "Language.Haskell.Syntax.Extension", + "name": "XRec", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "XRec", + "sort": "External" + }, + "629": { + "demangledOccName": "AvailInfo", + "externalId": "ghc-9.10.2|GHC.Types.Avail|Typ|AvailInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "629", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "AvailInfo", + "moduleName": "GHC.Types.Avail", + "name": "AvailInfo", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "AvailInfo", + "sort": "External" + }, + "63": { + "demangledOccName": "InstDecl", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|InstDecl", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "63", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "InstDecl", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "InstDecl", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "InstDecl", + "sort": "External" + }, + "630": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "630", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "631": { + "demangledOccName": "String", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Typ|String", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "631", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "String", + "moduleName": "GHC.Internal.Base", + "name": "String", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "String", + "sort": "External" + }, + "632": { + "demangledOccName": "Char", + "externalId": "ghc-prim-0.12.0|GHC.Types|Typ|Char", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "632", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Char", + "moduleName": "GHC.Types", + "name": "Char", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Char", + "sort": "External" + }, + "633": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "633", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "634": { + "demangledOccName": "p", + "idType": { + "components": [ + { + "internalId": "635", + "name": "Pass", + "tag": "TyCon" + }, + { + "contents": "_r5zV", + "tag": "Text" + } + ] + }, + "internalId": "634", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe p is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "p", + "sort": "Internal" + }, + "636": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "636", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "637": { + "demangledOccName": "DeclarationSort", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|DeclarationSort", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "637", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "DeclarationSort", + "moduleName": "HaskellCodeExplorer.Types", + "name": "DeclarationSort", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "DeclarationSort", + "sort": "External" + }, + "638": { + "demangledOccName": "IntervalMap", + "externalId": "IntervalMap-0.6.2.1|Data.IntervalMap.Generic.Base|Typ|IntervalMap", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "638", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IntervalMap", + "moduleName": "Data.IntervalMap.Generic.Base", + "name": "IntervalMap", + "packageId": { + "name": "IntervalMap", + "version": "0.6.2.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IntervalMap", + "sort": "External" + }, + "639": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "639", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "64": { + "demangledOccName": "TyClDecl", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|TyClDecl", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "64", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TyClDecl", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "TyClDecl", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TyClDecl", + "sort": "External" + }, + "640": { + "demangledOccName": "Hashable", + "externalId": "hashable-1.5.0.0|Data.Hashable.Class|Typ|Hashable", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "640", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Hashable", + "moduleName": "Data.Hashable.Class", + "name": "Hashable", + "packageId": { + "name": "hashable", + "version": "1.5.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Hashable", + "sort": "External" + }, + "641": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "641", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "642": { + "demangledOccName": "Tuple3", + "externalId": "ghc-prim-0.12.0|GHC.Tuple|Typ|Tuple3", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "642", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Tuple3", + "moduleName": "GHC.Tuple", + "name": "Tuple3", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Tuple3", + "sort": "External" + }, + "643": { + "demangledOccName": "Ord", + "externalId": "ghc-prim-0.12.0|GHC.Classes|Typ|Ord", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "643", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Ord", + "moduleName": "GHC.Classes", + "name": "Ord", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Ord", + "sort": "External" + }, + "644": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "644", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "645": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "645", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "646": { + "demangledOccName": "Either", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Either|Typ|Either", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "646", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Either", + "moduleName": "GHC.Internal.Data.Either", + "name": "Either", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Either", + "sort": "External" + }, + "647": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "647", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "648": { + "demangledOccName": "Bool", + "externalId": "ghc-prim-0.12.0|GHC.Types|Typ|Bool", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "648", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Bool", + "moduleName": "GHC.Types", + "name": "Bool", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Bool", + "sort": "External" + }, + "649": { + "demangledOccName": "LazyText", + "externalId": "text-2.1.2|Data.Text.Internal.Lazy|Typ|LazyText", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "649", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LazyText", + "moduleName": "Data.Text.Internal.Lazy", + "name": "LazyText", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LazyText", + "sort": "External" + }, + "65": { + "demangledOccName": "group_tyclds", + "details": "RecSelId", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Val|group_tyclds", + "idType": { + "components": [ + { + "contents": "forall pass. ", + "tag": "Text" + }, + { + "internalId": "844", + "name": "TyClGroup", + "tag": "TyCon" + }, + { + "contents": "_r6pE ", + "tag": "Text" + }, + { + "internalId": "845", + "name": "pass", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "60", + "name": "LTyClDecl", + "tag": "TyCon" + }, + { + "contents": "_r6oJ ", + "tag": "Text" + }, + { + "internalId": "845", + "name": "pass", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall pass.\n", + "tag": "Text" + }, + { + "internalId": "844", + "name": "TyClGroup", + "tag": "TyCon" + }, + { + "contents": "_r6pE ", + "tag": "Text" + }, + { + "internalId": "845", + "name": "pass", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS ", + "tag": "Text" + }, + { + "internalId": "845", + "name": "pass", + "tag": "TyCon" + }, + { + "contents": " (", + "tag": "Text" + }, + { + "internalId": "64", + "name": "TyClDecl", + "tag": "TyCon" + }, + { + "contents": "_r5y6 ", + "tag": "Text" + }, + { + "internalId": "845", + "name": "pass", + "tag": "TyCon" + }, + { + "contents": ")]", + "tag": "Text" + } + ] + }, + "internalId": "65", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "group_tyclds", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "group_tyclds", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "group_tyclds", + "sort": "External" + }, + "650": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "650", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "651": { + "demangledOccName": "Key", + "externalId": "containers-0.7|Data.IntSet.Internal|Typ|Key", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "651", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Key", + "moduleName": "Data.IntSet.Internal", + "name": "Key", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Key", + "sort": "External" + }, + "652": { + "demangledOccName": "StringBuffer", + "externalId": "ghc-9.10.2|GHC.Data.StringBuffer|Typ|StringBuffer", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "652", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "StringBuffer", + "moduleName": "GHC.Data.StringBuffer", + "name": "StringBuffer", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "StringBuffer", + "sort": "External" + }, + "653": { + "demangledOccName": "TidyOccEnv", + "externalId": "ghc-9.10.2|GHC.Types.Name.Occurrence|Typ|TidyOccEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "653", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TidyOccEnv", + "moduleName": "GHC.Types.Name.Occurrence", + "name": "TidyOccEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TidyOccEnv", + "sort": "External" + }, + "654": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "654", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "655": { + "demangledOccName": "h", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "655", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe h is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "h", + "sort": "Internal" + }, + "656": { + "demangledOccName": "Lifted", + "externalId": "ghc-prim-0.12.0|GHC.Types|Val|Lifted", + "idType": { + "components": [ + { + "internalId": "657", + "name": "Levity", + "tag": "TyCon" + }, + { + "contents": "_332", + "tag": "Text" + } + ] + }, + "internalId": "656", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "Lifted", + "moduleName": "GHC.Types", + "name": "Lifted", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "Lifted", + "sort": "External" + }, + "658": { + "demangledOccName": "HasLoc", + "externalId": "ghc-9.10.2|GHC.Parser.Annotation|Typ|HasLoc", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "658", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HasLoc", + "moduleName": "GHC.Parser.Annotation", + "name": "HasLoc", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HasLoc", + "sort": "External" + }, + "659": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "659", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "66": { + "demangledOccName": "tyClDeclLName", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Hs.Decls|Val|tyClDeclLName", + "idType": { + "components": [ + { + "contents": "forall (p :: Pass).\n(", + "tag": "Text" + }, + { + "internalId": "782", + "name": "Anno", + "tag": "TyCon" + }, + { + "contents": "_r5zo (", + "tag": "Text" + }, + { + "internalId": "783", + "name": "IdGhcP", + "tag": "TyCon" + }, + { + "contents": "_r5A2 ", + "tag": "Text" + }, + { + "internalId": "784", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ") ", + "tag": "Text" + }, + { + "internalId": "785", + "name": "~", + "tag": "TyCon" + }, + { + "contents": "_31i ", + "tag": "Text" + }, + { + "internalId": "786", + "name": "SrcSpanAnnN", + "tag": "TyCon" + }, + { + "contents": "_r5Bx) =>\n", + "tag": "Text" + }, + { + "internalId": "64", + "name": "TyClDecl", + "tag": "TyCon" + }, + { + "contents": "_r5y6 (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye ", + "tag": "Text" + }, + { + "internalId": "784", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ")\n-> ", + "tag": "Text" + }, + { + "internalId": "703", + "name": "LocatedN", + "tag": "TyCon" + }, + { + "contents": "_r6gS (", + "tag": "Text" + }, + { + "internalId": "787", + "name": "IdP", + "tag": "TyCon" + }, + { + "contents": "_r5zj (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye ", + "tag": "Text" + }, + { + "internalId": "784", + "name": "p", + "tag": "TyCon" + }, + { + "contents": "))", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall (p :: Pass).\n(", + "tag": "Text" + }, + { + "internalId": "782", + "name": "Anno", + "tag": "TyCon" + }, + { + "contents": "_r5zo (", + "tag": "Text" + }, + { + "internalId": "783", + "name": "IdGhcP", + "tag": "TyCon" + }, + { + "contents": "_r5A2 ", + "tag": "Text" + }, + { + "internalId": "784", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ") ", + "tag": "Text" + }, + { + "internalId": "785", + "name": "~", + "tag": "TyCon" + }, + { + "contents": "_31i ", + "tag": "Text" + }, + { + "internalId": "788", + "name": "EpAnn", + "tag": "TyCon" + }, + { + "contents": "_r5yu ", + "tag": "Text" + }, + { + "internalId": "736", + "name": "NameAnn", + "tag": "TyCon" + }, + { + "contents": "_r6gZ) =>\n", + "tag": "Text" + }, + { + "internalId": "64", + "name": "TyClDecl", + "tag": "TyCon" + }, + { + "contents": "_r5y6 (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye ", + "tag": "Text" + }, + { + "internalId": "784", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ")\n-> ", + "tag": "Text" + }, + { + "internalId": "30", + "name": "GenLocated", + "tag": "TyCon" + }, + { + "contents": "_r5ya\n (", + "tag": "Text" + }, + { + "internalId": "788", + "name": "EpAnn", + "tag": "TyCon" + }, + { + "contents": "_r5yu ", + "tag": "Text" + }, + { + "internalId": "736", + "name": "NameAnn", + "tag": "TyCon" + }, + { + "contents": "_r6gZ) (", + "tag": "Text" + }, + { + "internalId": "787", + "name": "IdP", + "tag": "TyCon" + }, + { + "contents": "_r5zj (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye ", + "tag": "Text" + }, + { + "internalId": "784", + "name": "p", + "tag": "TyCon" + }, + { + "contents": "))", + "tag": "Text" + } + ] + }, + "internalId": "66", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tyClDeclLName", + "moduleName": "GHC.Hs.Decls", + "name": "tyClDeclLName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tyClDeclLName", + "sort": "External" + }, + "660": { + "demangledOccName": "e", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "660", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe e is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "e", + "sort": "Internal" + }, + "661": { + "demangledOccName": "ToMarkup", + "externalId": "blaze-markup-0.8.3.0|Text.Blaze|Typ|ToMarkup", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "661", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ToMarkup", + "moduleName": "Text.Blaze", + "name": "ToMarkup", + "packageId": { + "name": "blaze-markup", + "version": "0.8.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ToMarkup", + "sort": "External" + }, + "662": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "662", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "663": { + "demangledOccName": "MarkupM", + "externalId": "blaze-markup-0.8.3.0|Text.Blaze.Internal|Typ|MarkupM", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "663", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "MarkupM", + "moduleName": "Text.Blaze.Internal", + "name": "MarkupM", + "packageId": { + "name": "blaze-markup", + "version": "0.8.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "MarkupM", + "sort": "External" + }, + "664": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "664", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "665": { + "demangledOccName": "Foldable", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Foldable|Typ|Foldable", + "idType": { + "components": [ + { + "contents": "(Type -> Type) -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "665", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Foldable", + "moduleName": "GHC.Internal.Data.Foldable", + "name": "Foldable", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Foldable", + "sort": "External" + }, + "666": { + "demangledOccName": "m", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "666", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe m is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "m", + "sort": "Internal" + }, + "667": { + "demangledOccName": "FastString", + "externalId": "ghc-9.10.2|GHC.Data.FastString|Typ|FastString", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "667", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "FastString", + "moduleName": "GHC.Data.FastString", + "name": "FastString", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "FastString", + "sort": "External" + }, + "668": { + "demangledOccName": "t", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "668", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe t is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "t", + "sort": "Internal" + }, + "669": { + "demangledOccName": "RtsOptsEnabled", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|RtsOptsEnabled", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "669", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "RtsOptsEnabled", + "moduleName": "GHC.Driver.DynFlags", + "name": "RtsOptsEnabled", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "RtsOptsEnabled", + "sort": "External" + }, + "67": { + "demangledOccName": "tcdName", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Hs.Decls|Val|tcdName", + "idType": { + "components": [ + { + "contents": "forall (p :: Pass).\n(", + "tag": "Text" + }, + { + "internalId": "782", + "name": "Anno", + "tag": "TyCon" + }, + { + "contents": "_r5zo (", + "tag": "Text" + }, + { + "internalId": "783", + "name": "IdGhcP", + "tag": "TyCon" + }, + { + "contents": "_r5A2 ", + "tag": "Text" + }, + { + "internalId": "634", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ") ", + "tag": "Text" + }, + { + "internalId": "785", + "name": "~", + "tag": "TyCon" + }, + { + "contents": "_31i ", + "tag": "Text" + }, + { + "internalId": "786", + "name": "SrcSpanAnnN", + "tag": "TyCon" + }, + { + "contents": "_r5Bx) =>\n", + "tag": "Text" + }, + { + "internalId": "64", + "name": "TyClDecl", + "tag": "TyCon" + }, + { + "contents": "_r5y6 (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye ", + "tag": "Text" + }, + { + "internalId": "634", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "787", + "name": "IdP", + "tag": "TyCon" + }, + { + "contents": "_r5zj (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye ", + "tag": "Text" + }, + { + "internalId": "634", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ")", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall (p :: Pass).\n(", + "tag": "Text" + }, + { + "internalId": "782", + "name": "Anno", + "tag": "TyCon" + }, + { + "contents": "_r5zo (", + "tag": "Text" + }, + { + "internalId": "783", + "name": "IdGhcP", + "tag": "TyCon" + }, + { + "contents": "_r5A2 ", + "tag": "Text" + }, + { + "internalId": "634", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ") ", + "tag": "Text" + }, + { + "internalId": "785", + "name": "~", + "tag": "TyCon" + }, + { + "contents": "_31i ", + "tag": "Text" + }, + { + "internalId": "788", + "name": "EpAnn", + "tag": "TyCon" + }, + { + "contents": "_r5yu ", + "tag": "Text" + }, + { + "internalId": "736", + "name": "NameAnn", + "tag": "TyCon" + }, + { + "contents": "_r6gZ) =>\n", + "tag": "Text" + }, + { + "internalId": "64", + "name": "TyClDecl", + "tag": "TyCon" + }, + { + "contents": "_r5y6 (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye ", + "tag": "Text" + }, + { + "internalId": "634", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "787", + "name": "IdP", + "tag": "TyCon" + }, + { + "contents": "_r5zj (", + "tag": "Text" + }, + { + "internalId": "626", + "name": "GhcPass", + "tag": "TyCon" + }, + { + "contents": "_r5ye ", + "tag": "Text" + }, + { + "internalId": "634", + "name": "p", + "tag": "TyCon" + }, + { + "contents": ")", + "tag": "Text" + } + ] + }, + "internalId": "67", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tcdName", + "moduleName": "GHC.Hs.Decls", + "name": "tcdName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tcdName", + "sort": "External" + }, + "670": { + "demangledOccName": "StateT", + "externalId": "transformers-0.6.1.1|Control.Monad.Trans.State.Strict|Typ|StateT", + "idType": { + "components": [ + { + "contents": "Type -> (Type -> Type) -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "670", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "StateT", + "moduleName": "Control.Monad.Trans.State.Strict", + "name": "StateT", + "packageId": { + "name": "transformers", + "version": "0.6.1.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "StateT", + "sort": "External" + }, + "671": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "671", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "672": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "672", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "673": { + "demangledOccName": "l", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "673", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe l is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "l", + "sort": "Internal" + }, + "674": { + "demangledOccName": "AttributeValue", + "externalId": "blaze-markup-0.8.3.0|Text.Blaze.Internal|Typ|AttributeValue", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "674", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "AttributeValue", + "moduleName": "Text.Blaze.Internal", + "name": "AttributeValue", + "packageId": { + "name": "blaze-markup", + "version": "0.8.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "AttributeValue", + "sort": "External" + }, + "675": { + "demangledOccName": "ExpressionInfo", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|ExpressionInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "675", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ExpressionInfo", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ExpressionInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ExpressionInfo", + "sort": "External" + }, + "676": { + "demangledOccName": "UniqFM", + "externalId": "ghc-9.10.2|GHC.Types.Unique.FM|Typ|UniqFM", + "idType": { + "components": [ + { + "contents": "forall {k}. ", + "tag": "Text" + }, + { + "internalId": "677", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "676", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UniqFM", + "moduleName": "GHC.Types.Unique.FM", + "name": "UniqFM", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UniqFM", + "sort": "External" + }, + "678": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "678", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "679": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "679", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "68": { + "demangledOccName": "hsGroupInstDecls", + "details": "VanillaId", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Val|hsGroupInstDecls", + "idType": { + "components": [ + { + "contents": "forall id. ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD ", + "tag": "Text" + }, + { + "internalId": "924", + "name": "id", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "59", + "name": "LInstDecl", + "tag": "TyCon" + }, + { + "contents": "_r6oC ", + "tag": "Text" + }, + { + "internalId": "924", + "name": "id", + "tag": "TyCon" + }, + { + "contents": "]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall id. ", + "tag": "Text" + }, + { + "internalId": "62", + "name": "HsGroup", + "tag": "TyCon" + }, + { + "contents": "_r5zD ", + "tag": "Text" + }, + { + "internalId": "924", + "name": "id", + "tag": "TyCon" + }, + { + "contents": " -> [", + "tag": "Text" + }, + { + "internalId": "628", + "name": "XRec", + "tag": "TyCon" + }, + { + "contents": "_r5zS ", + "tag": "Text" + }, + { + "internalId": "924", + "name": "id", + "tag": "TyCon" + }, + { + "contents": " (", + "tag": "Text" + }, + { + "internalId": "63", + "name": "InstDecl", + "tag": "TyCon" + }, + { + "contents": "_r5x9 ", + "tag": "Text" + }, + { + "internalId": "924", + "name": "id", + "tag": "TyCon" + }, + { + "contents": ")]", + "tag": "Text" + } + ] + }, + "internalId": "68", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "hsGroupInstDecls", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "hsGroupInstDecls", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "hsGroupInstDecls", + "sort": "External" + }, + "680": { + "demangledOccName": "TcGblEnv", + "externalId": "ghc-9.10.2|GHC.Tc.Types|Typ|TcGblEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "680", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TcGblEnv", + "moduleName": "GHC.Tc.Types", + "name": "TcGblEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TcGblEnv", + "sort": "External" + }, + "681": { + "demangledOccName": "InstEnv", + "externalId": "ghc-9.10.2|GHC.Core.InstEnv|Typ|InstEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "681", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "InstEnv", + "moduleName": "GHC.Core.InstEnv", + "name": "InstEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "InstEnv", + "sort": "External" + }, + "682": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "682", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "683": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "683", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "684": { + "demangledOccName": "IdentifierOccurrenceSort", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|IdentifierOccurrenceSort", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "684", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IdentifierOccurrenceSort", + "moduleName": "HaskellCodeExplorer.Types", + "name": "IdentifierOccurrenceSort", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IdentifierOccurrenceSort", + "sort": "External" + }, + "685": { + "demangledOccName": "UnitId", + "externalId": "ghc-9.10.2|GHC.Unit.Types|Typ|UnitId", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "685", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UnitId", + "moduleName": "GHC.Unit.Types", + "name": "UnitId", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UnitId", + "sort": "External" + }, + "686": { + "demangledOccName": "Outputable", + "externalId": "ghc-9.10.2|GHC.Utils.Outputable|Typ|Outputable", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "686", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Outputable", + "moduleName": "GHC.Utils.Outputable", + "name": "Outputable", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Outputable", + "sort": "External" + }, + "687": { + "demangledOccName": "Doc", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.GhcUtils|Typ|Doc", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "687", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Doc", + "moduleName": "HaskellCodeExplorer.GhcUtils", + "name": "Doc", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Doc", + "sort": "External" + }, + "688": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "688", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "689": { + "demangledOccName": "DFunId", + "externalId": "ghc-9.10.2|GHC.Types.Var|Typ|DFunId", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "689", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "DFunId", + "moduleName": "GHC.Types.Var", + "name": "DFunId", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "DFunId", + "sort": "External" + }, + "69": { + "demangledOccName": "HsDocString", + "externalId": "ghc-9.10.2|GHC.Hs.DocString|Typ|HsDocString", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "69", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HsDocString", + "moduleName": "GHC.Hs.DocString", + "name": "HsDocString", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HsDocString", + "sort": "External" + }, + "690": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "internalId": "691", + "name": "TYPE", + "tag": "TyCon" + }, + { + "contents": "_32W ", + "tag": "Text" + }, + { + "internalId": "692", + "name": "repb", + "tag": "TyCon" + } + ] + }, + "internalId": "690", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "691": { + "demangledOccName": "TYPE", + "externalId": "ghc-prim-0.12.0|GHC.Prim|Typ|TYPE", + "idType": { + "components": [ + { + "internalId": "718", + "name": "RuntimeRep", + "tag": "TyCon" + }, + { + "contents": "_334 -> Type", + "tag": "Text" + } + ] + }, + "internalId": "691", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TYPE", + "moduleName": "GHC.Prim", + "name": "TYPE", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TYPE", + "sort": "External" + }, + "693": { + "demangledOccName": "ByteArray#", + "externalId": "ghc-prim-0.12.0|GHC.Prim|Typ|ByteArray#", + "idType": { + "components": [ + { + "internalId": "762", + "name": "UnliftedType", + "tag": "TyCon" + }, + { + "contents": "_32S", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "691", + "name": "TYPE", + "tag": "TyCon" + }, + { + "contents": "_32W ('", + "tag": "Text" + }, + { + "internalId": "760", + "name": "BoxedRep", + "tag": "TyCon" + }, + { + "contents": "_63A '", + "tag": "Text" + }, + { + "internalId": "763", + "name": "Unlifted", + "tag": "TyCon" + }, + { + "contents": "_64j)", + "tag": "Text" + } + ] + }, + "internalId": "693", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ByteArray-35-", + "moduleName": "GHC.Prim", + "name": "ByteArray#", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ByteArray#", + "sort": "External" + }, + "694": { + "demangledOccName": "Int#", + "externalId": "ghc-prim-0.12.0|GHC.Prim|Typ|Int#", + "idType": { + "components": [ + { + "internalId": "691", + "name": "TYPE", + "tag": "TyCon" + }, + { + "contents": "_32W '", + "tag": "Text" + }, + { + "internalId": "946", + "name": "IntRep", + "tag": "TyCon" + }, + { + "contents": "_63D", + "tag": "Text" + } + ] + }, + "internalId": "694", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Int-35-", + "moduleName": "GHC.Prim", + "name": "Int#", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Int#", + "sort": "External" + }, + "695": { + "demangledOccName": "FileLocation", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|FileLocation", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "695", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "FileLocation", + "moduleName": "HaskellCodeExplorer.Types", + "name": "FileLocation", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "FileLocation", + "sort": "External" + }, + "696": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "696", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "697": { + "demangledOccName": "e", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "697", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe e is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "e", + "sort": "Internal" + }, + "698": { + "demangledOccName": "GREInfo", + "externalId": "ghc-9.10.2|GHC.Types.GREInfo|Typ|GREInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "698", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GREInfo", + "moduleName": "GHC.Types.GREInfo", + "name": "GREInfo", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GREInfo", + "sort": "External" + }, + "699": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "699", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "7": { + "demangledOccName": "State", + "externalId": "transformers-0.6.1.1|Control.Monad.Trans.State.Strict|Typ|State", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "7", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "State", + "moduleName": "Control.Monad.Trans.State.Strict", + "name": "State", + "packageId": { + "name": "transformers", + "version": "0.6.1.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "State", + "sort": "External" + }, + "70": { + "demangledOccName": "LHsDoc", + "externalId": "ghc-9.10.2|GHC.Hs.Doc|Typ|LHsDoc", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "70", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LHsDoc", + "moduleName": "GHC.Hs.Doc", + "name": "LHsDoc", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LHsDoc", + "sort": "External" + }, + "700": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "700", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "701": { + "demangledOccName": "Vector", + "externalId": "vector-0.13.2.0|Data.Vector|Typ|Vector", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "701", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Vector", + "moduleName": "Data.Vector", + "name": "Vector", + "packageId": { + "name": "vector", + "version": "0.13.2.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Vector", + "sort": "External" + }, + "702": { + "demangledOccName": "OnOff", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|OnOff", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "702", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "OnOff", + "moduleName": "GHC.Driver.DynFlags", + "name": "OnOff", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "OnOff", + "sort": "External" + }, + "703": { + "demangledOccName": "LocatedN", + "externalId": "ghc-9.10.2|GHC.Parser.Annotation|Typ|LocatedN", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "703", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LocatedN", + "moduleName": "GHC.Parser.Annotation", + "name": "LocatedN", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LocatedN", + "sort": "External" + }, + "704": { + "demangledOccName": "List", + "externalId": "ghc-prim-0.12.0|GHC.Types|Typ|List", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "704", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "List", + "moduleName": "GHC.Types", + "name": "List", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "List", + "sort": "External" + }, + "705": { + "demangledOccName": "Data", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Data|Typ|Data", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "705", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Data", + "moduleName": "GHC.Internal.Data.Data", + "name": "Data", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Data", + "sort": "External" + }, + "706": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "706", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "707": { + "demangledOccName": "Var", + "externalId": "ghc-9.10.2|GHC.Types.Var|Typ|Var", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "707", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Var", + "moduleName": "GHC.Types.Var", + "name": "Var", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Var", + "sort": "External" + }, + "708": { + "demangledOccName": "p", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "708", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe p is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "p", + "sort": "Internal" + }, + "709": { + "demangledOccName": "e", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "709", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe e is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "e", + "sort": "Internal" + }, + "71": { + "demangledOccName": "WithHsDocIdentifiers", + "externalId": "ghc-9.10.2|GHC.Hs.Doc|Typ|WithHsDocIdentifiers", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "71", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "WithHsDocIdentifiers", + "moduleName": "GHC.Hs.Doc", + "name": "WithHsDocIdentifiers", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "WithHsDocIdentifiers", + "sort": "External" + }, + "710": { + "demangledOccName": "LinePragma", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|LinePragma", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "710", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LinePragma", + "moduleName": "HaskellCodeExplorer.Types", + "name": "LinePragma", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LinePragma", + "sort": "External" + }, + "711": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "711", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "712": { + "demangledOccName": "TrustFlag", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|TrustFlag", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "712", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TrustFlag", + "moduleName": "GHC.Driver.DynFlags", + "name": "TrustFlag", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TrustFlag", + "sort": "External" + }, + "713": { + "demangledOccName": "ByteString", + "externalId": "bytestring-0.12.2.0|Data.ByteString.Internal.Type|Typ|ByteString", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "713", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ByteString", + "moduleName": "Data.ByteString.Internal.Type", + "name": "ByteString", + "packageId": { + "name": "bytestring", + "version": "0.12.2.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ByteString", + "sort": "External" + }, + "714": { + "demangledOccName": "UnicodeException", + "externalId": "text-2.1.2|Data.Text.Encoding.Error|Typ|UnicodeException", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "714", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UnicodeException", + "moduleName": "Data.Text.Encoding.Error", + "name": "UnicodeException", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UnicodeException", + "sort": "External" + }, + "715": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "715", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "716": { + "demangledOccName": "Attributable", + "externalId": "blaze-markup-0.8.3.0|Text.Blaze.Internal|Typ|Attributable", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "716", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Attributable", + "moduleName": "Text.Blaze.Internal", + "name": "Attributable", + "packageId": { + "name": "blaze-markup", + "version": "0.8.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Attributable", + "sort": "External" + }, + "717": { + "demangledOccName": "Attribute", + "externalId": "blaze-markup-0.8.3.0|Text.Blaze.Internal|Typ|Attribute", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "717", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Attribute", + "moduleName": "Text.Blaze.Internal", + "name": "Attribute", + "packageId": { + "name": "blaze-markup", + "version": "0.8.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Attribute", + "sort": "External" + }, + "719": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "719", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "72": { + "demangledOccName": "IE", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.ImpExp|Typ|IE", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "72", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IE", + "moduleName": "Language.Haskell.Syntax.ImpExp", + "name": "IE", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IE", + "sort": "External" + }, + "720": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "720", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "721": { + "demangledOccName": "HomeModInfo", + "externalId": "ghc-9.10.2|GHC.Unit.Home.ModInfo|Typ|HomeModInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "721", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HomeModInfo", + "moduleName": "GHC.Unit.Home.ModInfo", + "name": "HomeModInfo", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HomeModInfo", + "sort": "External" + }, + "722": { + "demangledOccName": "ModDetails", + "externalId": "ghc-9.10.2|GHC.Unit.Module.ModDetails|Typ|ModDetails", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "722", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModDetails", + "moduleName": "GHC.Unit.Module.ModDetails", + "name": "ModDetails", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModDetails", + "sort": "External" + }, + "723": { + "demangledOccName": "mod", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "723", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe mod is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "mod", + "sort": "Internal" + }, + "724": { + "demangledOccName": "id", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "724", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe id is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "id", + "sort": "Internal" + }, + "725": { + "demangledOccName": "One", + "externalId": "ghc-prim-0.12.0|GHC.Types|Val|One", + "idType": { + "components": [ + { + "internalId": "726", + "name": "Multiplicity", + "tag": "TyCon" + }, + { + "contents": "_36m", + "tag": "Text" + } + ] + }, + "internalId": "725", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "One", + "moduleName": "GHC.Types", + "name": "One", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "One", + "sort": "External" + }, + "727": { + "demangledOccName": "s", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "727", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe s is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "s", + "sort": "Internal" + }, + "728": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "728", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "729": { + "demangledOccName": "Identity", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Data.Functor.Identity|Typ|Identity", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "729", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Identity", + "moduleName": "GHC.Internal.Data.Functor.Identity", + "name": "Identity", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Identity", + "sort": "External" + }, + "73": { + "demangledOccName": "ImportDecl", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.ImpExp|Typ|ImportDecl", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "73", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ImportDecl", + "moduleName": "Language.Haskell.Syntax.ImpExp", + "name": "ImportDecl", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ImportDecl", + "sort": "External" + }, + "730": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "730", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "731": { + "demangledOccName": "GhcMode", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|GhcMode", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "731", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GhcMode", + "moduleName": "GHC.Driver.DynFlags", + "name": "GhcMode", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GhcMode", + "sort": "External" + }, + "732": { + "demangledOccName": "Bag", + "externalId": "ghc-9.10.2|GHC.Data.Bag|Typ|Bag", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "732", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Bag", + "moduleName": "GHC.Data.Bag", + "name": "Bag", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Bag", + "sort": "External" + }, + "733": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "733", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "734": { + "demangledOccName": "Weights", + "externalId": "ghc-9.10.2|GHC.CmmToAsm.CFG.Weight|Typ|Weights", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "734", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Weights", + "moduleName": "GHC.CmmToAsm.CFG.Weight", + "name": "Weights", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Weights", + "sort": "External" + }, + "735": { + "demangledOccName": "Tag", + "externalId": "blaze-markup-0.8.3.0|Text.Blaze.Internal|Typ|Tag", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "735", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Tag", + "moduleName": "Text.Blaze.Internal", + "name": "Tag", + "packageId": { + "name": "blaze-markup", + "version": "0.8.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Tag", + "sort": "External" + }, + "736": { + "demangledOccName": "NameAnn", + "externalId": "ghc-9.10.2|GHC.Parser.Annotation|Typ|NameAnn", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "736", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "NameAnn", + "moduleName": "GHC.Parser.Annotation", + "name": "NameAnn", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "NameAnn", + "sort": "External" + }, + "737": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "737", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "738": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "738", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "739": { + "demangledOccName": "GenModule", + "externalId": "ghc-9.10.2|GHC.Unit.Types|Typ|GenModule", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "739", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GenModule", + "moduleName": "GHC.Unit.Types", + "name": "GenModule", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GenModule", + "sort": "External" + }, + "74": { + "demangledOccName": "ideclImplicit", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Hs.ImpExp|Val|ideclImplicit", + "idType": { + "components": [ + { + "internalId": "792", + "name": "XImportDeclPass", + "tag": "TyCon" + }, + { + "contents": "_r6cx -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "74", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "ideclImplicit", + "moduleName": "GHC.Hs.ImpExp", + "name": "ideclImplicit", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "ideclImplicit", + "sort": "External" + }, + "740": { + "demangledOccName": "Option", + "externalId": "ghc-9.10.2|GHC.Utils.CliOption|Typ|Option", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "740", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Option", + "moduleName": "GHC.Utils.CliOption", + "name": "Option", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Option", + "sort": "External" + }, + "741": { + "demangledOccName": "PackageId", + "externalId": "ghc-9.10.2|GHC.Unit.Info|Typ|PackageId", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "741", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "PackageId", + "moduleName": "GHC.Unit.Info", + "name": "PackageId", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "PackageId", + "sort": "External" + }, + "742": { + "demangledOccName": "Kind", + "externalId": "ghc-9.10.2|GHC.Core.TyCo.Rep|Typ|Kind", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "742", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Kind", + "moduleName": "GHC.Core.TyCo.Rep", + "name": "Kind", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Kind", + "sort": "External" + }, + "743": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "743", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "744": { + "demangledOccName": "Bounded", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Enum|Typ|Bounded", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "744", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Bounded", + "moduleName": "GHC.Internal.Enum", + "name": "Bounded", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Bounded", + "sort": "External" + }, + "745": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "745", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "746": { + "demangledOccName": "GlobalRdrEltX", + "externalId": "ghc-9.10.2|GHC.Types.Name.Reader|Typ|GlobalRdrEltX", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "746", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GlobalRdrEltX", + "moduleName": "GHC.Types.Name.Reader", + "name": "GlobalRdrEltX", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GlobalRdrEltX", + "sort": "External" + }, + "747": { + "demangledOccName": "HasCallStack", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Stack.Types|Typ|HasCallStack", + "idType": { + "components": [ + { + "contents": "Constraint", + "tag": "Text" + } + ] + }, + "internalId": "747", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HasCallStack", + "moduleName": "GHC.Internal.Stack.Types", + "name": "HasCallStack", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HasCallStack", + "sort": "External" + }, + "748": { + "demangledOccName": "FlushOut", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|FlushOut", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "748", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "FlushOut", + "moduleName": "GHC.Driver.DynFlags", + "name": "FlushOut", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "FlushOut", + "sort": "External" + }, + "749": { + "demangledOccName": "p", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "749", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe p is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "p", + "sort": "Internal" + }, + "75": { + "demangledOccName": "ExternalPackageState", + "externalId": "ghc-9.10.2|GHC.Unit.External|Typ|ExternalPackageState", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "75", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ExternalPackageState", + "moduleName": "GHC.Unit.External", + "name": "ExternalPackageState", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ExternalPackageState", + "sort": "External" + }, + "750": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "750", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "751": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "751", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "752": { + "demangledOccName": "UniqDFM", + "externalId": "ghc-9.10.2|GHC.Types.Unique.DFM|Typ|UniqDFM", + "idType": { + "components": [ + { + "contents": "forall {k}. ", + "tag": "Text" + }, + { + "internalId": "919", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "752", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UniqDFM", + "moduleName": "GHC.Types.Unique.DFM", + "name": "UniqDFM", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UniqDFM", + "sort": "External" + }, + "753": { + "demangledOccName": "StrictText", + "externalId": "text-2.1.2|Data.Text.Internal|Typ|StrictText", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "753", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "StrictText", + "moduleName": "Data.Text.Internal", + "name": "StrictText", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "StrictText", + "sort": "External" + }, + "754": { + "demangledOccName": "Text", + "externalId": "text-2.1.2|Data.Text.Internal.Lazy|Typ|Text", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "754", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Text", + "moduleName": "Data.Text.Internal.Lazy", + "name": "Text", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Text", + "sort": "External" + }, + "755": { + "demangledOccName": "AnnListItem", + "externalId": "ghc-9.10.2|GHC.Parser.Annotation|Typ|AnnListItem", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "755", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "AnnListItem", + "moduleName": "GHC.Parser.Annotation", + "name": "AnnListItem", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "AnnListItem", + "sort": "External" + }, + "756": { + "demangledOccName": "Interval", + "externalId": "IntervalMap-0.6.2.1|Data.IntervalMap.Interval|Typ|Interval", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "756", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Interval", + "moduleName": "Data.IntervalMap.Interval", + "name": "Interval", + "packageId": { + "name": "IntervalMap", + "version": "0.6.2.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Interval", + "sort": "External" + }, + "757": { + "demangledOccName": "InstantiatedModule", + "externalId": "ghc-9.10.2|GHC.Unit.Types|Typ|InstantiatedModule", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "757", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "InstantiatedModule", + "moduleName": "GHC.Unit.Types", + "name": "InstantiatedModule", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "InstantiatedModule", + "sort": "External" + }, + "758": { + "demangledOccName": "DumpFlag", + "externalId": "ghc-9.10.2|GHC.Driver.Flags|Typ|DumpFlag", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "758", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "DumpFlag", + "moduleName": "GHC.Driver.Flags", + "name": "DumpFlag", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "DumpFlag", + "sort": "External" + }, + "759": { + "demangledOccName": "Array#", + "externalId": "ghc-prim-0.12.0|GHC.Prim|Typ|Array#", + "idType": { + "components": [ + { + "contents": "forall {l :: Levity}.\n", + "tag": "Text" + }, + { + "internalId": "691", + "name": "TYPE", + "tag": "TyCon" + }, + { + "contents": "_32W ('", + "tag": "Text" + }, + { + "internalId": "760", + "name": "BoxedRep", + "tag": "TyCon" + }, + { + "contents": "_63A ", + "tag": "Text" + }, + { + "internalId": "761", + "name": "l", + "tag": "TyCon" + }, + { + "contents": ") -> ", + "tag": "Text" + }, + { + "internalId": "762", + "name": "UnliftedType", + "tag": "TyCon" + }, + { + "contents": "_32S", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "forall {l :: Levity}.\n", + "tag": "Text" + }, + { + "internalId": "691", + "name": "TYPE", + "tag": "TyCon" + }, + { + "contents": "_32W ('", + "tag": "Text" + }, + { + "internalId": "760", + "name": "BoxedRep", + "tag": "TyCon" + }, + { + "contents": "_63A ", + "tag": "Text" + }, + { + "internalId": "761", + "name": "l", + "tag": "TyCon" + }, + { + "contents": ")\n-> ", + "tag": "Text" + }, + { + "internalId": "691", + "name": "TYPE", + "tag": "TyCon" + }, + { + "contents": "_32W ('", + "tag": "Text" + }, + { + "internalId": "760", + "name": "BoxedRep", + "tag": "TyCon" + }, + { + "contents": "_63A '", + "tag": "Text" + }, + { + "internalId": "763", + "name": "Unlifted", + "tag": "TyCon" + }, + { + "contents": "_64j)", + "tag": "Text" + } + ] + }, + "internalId": "759", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Array-35-", + "moduleName": "GHC.Prim", + "name": "Array#", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Array#", + "sort": "External" + }, + "76": { + "demangledOccName": "eps_PTE", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Unit.External|Val|eps_PTE", + "idType": { + "components": [ + { + "internalId": "75", + "name": "ExternalPackageState", + "tag": "TyCon" + }, + { + "contents": "_rdR5 -> ", + "tag": "Text" + }, + { + "internalId": "773", + "name": "PackageTypeEnv", + "tag": "TyCon" + }, + { + "contents": "_rhas", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "75", + "name": "ExternalPackageState", + "tag": "TyCon" + }, + { + "contents": "_rdR5 -> ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag", + "tag": "Text" + } + ] + }, + "internalId": "76", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "eps_PTE", + "moduleName": "GHC.Unit.External", + "name": "eps_PTE", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "eps_PTE", + "sort": "External" + }, + "760": { + "demangledOccName": "BoxedRep", + "externalId": "ghc-prim-0.12.0|GHC.Types|Val|BoxedRep", + "idType": { + "components": [ + { + "internalId": "657", + "name": "Levity", + "tag": "TyCon" + }, + { + "contents": "_332 -> ", + "tag": "Text" + }, + { + "internalId": "718", + "name": "RuntimeRep", + "tag": "TyCon" + }, + { + "contents": "_334", + "tag": "Text" + } + ] + }, + "internalId": "760", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "BoxedRep", + "moduleName": "GHC.Types", + "name": "BoxedRep", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "BoxedRep", + "sort": "External" + }, + "764": { + "demangledOccName": "IdentifierInfo", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|IdentifierInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "764", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IdentifierInfo", + "moduleName": "HaskellCodeExplorer.Types", + "name": "IdentifierInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IdentifierInfo", + "sort": "External" + }, + "765": { + "demangledOccName": "ExternalIdentifierInfo", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|ExternalIdentifierInfo", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "765", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ExternalIdentifierInfo", + "moduleName": "HaskellCodeExplorer.Types", + "name": "ExternalIdentifierInfo", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ExternalIdentifierInfo", + "sort": "External" + }, + "766": { + "demangledOccName": "SafeHaskellMode", + "externalId": "ghc-9.10.2|GHC.Types.SafeHaskell|Typ|SafeHaskellMode", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "766", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "SafeHaskellMode", + "moduleName": "GHC.Types.SafeHaskell", + "name": "SafeHaskellMode", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "SafeHaskellMode", + "sort": "External" + }, + "767": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "767", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "768": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "768", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "769": { + "demangledOccName": "Monoid", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Typ|Monoid", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "769", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Monoid", + "moduleName": "GHC.Internal.Base", + "name": "Monoid", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Monoid", + "sort": "External" + }, + "77": { + "demangledOccName": "eps_inst_env", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Unit.External|Val|eps_inst_env", + "idType": { + "components": [ + { + "internalId": "75", + "name": "ExternalPackageState", + "tag": "TyCon" + }, + { + "contents": "_rdR5 -> ", + "tag": "Text" + }, + { + "internalId": "843", + "name": "PackageInstEnv", + "tag": "TyCon" + }, + { + "contents": "_rhaq", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "75", + "name": "ExternalPackageState", + "tag": "TyCon" + }, + { + "contents": "_rdR5 -> ", + "tag": "Text" + }, + { + "internalId": "681", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX", + "tag": "Text" + } + ] + }, + "internalId": "77", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "eps_inst_env", + "moduleName": "GHC.Unit.External", + "name": "eps_inst_env", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "eps_inst_env", + "sort": "External" + }, + "770": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "770", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "771": { + "demangledOccName": "NamedThing", + "externalId": "ghc-9.10.2|GHC.Types.Name|Typ|NamedThing", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "771", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "NamedThing", + "moduleName": "GHC.Types.Name", + "name": "NamedThing", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "NamedThing", + "sort": "External" + }, + "772": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "772", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "773": { + "demangledOccName": "PackageTypeEnv", + "externalId": "ghc-9.10.2|GHC.Unit.External|Typ|PackageTypeEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "773", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "PackageTypeEnv", + "moduleName": "GHC.Unit.External", + "name": "PackageTypeEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "PackageTypeEnv", + "sort": "External" + }, + "774": { + "demangledOccName": "MonadState", + "externalId": "mtl-2.3.1|Control.Monad.State.Class|Typ|MonadState", + "idType": { + "components": [ + { + "contents": "Type -> (Type -> Type) -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "774", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "MonadState", + "moduleName": "Control.Monad.State.Class", + "name": "MonadState", + "packageId": { + "name": "mtl", + "version": "2.3.1" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "MonadState", + "sort": "External" + }, + "775": { + "demangledOccName": "s", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "775", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe s is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "s", + "sort": "Internal" + }, + "776": { + "demangledOccName": "UniqMap", + "externalId": "ghc-9.10.2|GHC.Types.Unique.Map|Typ|UniqMap", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "776", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UniqMap", + "moduleName": "GHC.Types.Unique.Map", + "name": "UniqMap", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UniqMap", + "sort": "External" + }, + "777": { + "demangledOccName": "ModuleSet", + "externalId": "ghc-9.10.2|GHC.Unit.Module.Env|Typ|ModuleSet", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "777", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModuleSet", + "moduleName": "GHC.Unit.Module.Env", + "name": "ModuleSet", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModuleSet", + "sort": "External" + }, + "778": { + "demangledOccName": "Applicative", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Typ|Applicative", + "idType": { + "components": [ + { + "contents": "(Type -> Type) -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "778", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Applicative", + "moduleName": "GHC.Internal.Base", + "name": "Applicative", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Applicative", + "sort": "External" + }, + "779": { + "demangledOccName": "Tuple5", + "externalId": "ghc-prim-0.12.0|GHC.Tuple|Typ|Tuple5", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type -> Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "779", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Tuple5", + "moduleName": "GHC.Tuple", + "name": "Tuple5", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Tuple5", + "sort": "External" + }, + "78": { + "demangledOccName": "HomePackageTable", + "externalId": "ghc-9.10.2|GHC.Unit.Home.ModInfo|Typ|HomePackageTable", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "78", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HomePackageTable", + "moduleName": "GHC.Unit.Home.ModInfo", + "name": "HomePackageTable", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HomePackageTable", + "sort": "External" + }, + "780": { + "demangledOccName": "Many", + "externalId": "ghc-prim-0.12.0|GHC.Types|Val|Many", + "idType": { + "components": [ + { + "internalId": "726", + "name": "Multiplicity", + "tag": "TyCon" + }, + { + "contents": "_36m", + "tag": "Text" + } + ] + }, + "internalId": "780", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "Many", + "moduleName": "GHC.Types", + "name": "Many", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "Many", + "sort": "External" + }, + "781": { + "demangledOccName": "s", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "781", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe s is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "s", + "sort": "Internal" + }, + "782": { + "demangledOccName": "Anno", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Extension|Typ|Anno", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "782", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Anno", + "moduleName": "Language.Haskell.Syntax.Extension", + "name": "Anno", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Anno", + "sort": "External" + }, + "783": { + "demangledOccName": "IdGhcP", + "externalId": "ghc-9.10.2|GHC.Hs.Extension|Typ|IdGhcP", + "idType": { + "components": [ + { + "internalId": "635", + "name": "Pass", + "tag": "TyCon" + }, + { + "contents": "_r5zV -> Type", + "tag": "Text" + } + ] + }, + "internalId": "783", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IdGhcP", + "moduleName": "GHC.Hs.Extension", + "name": "IdGhcP", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IdGhcP", + "sort": "External" + }, + "784": { + "demangledOccName": "p", + "idType": { + "components": [ + { + "internalId": "635", + "name": "Pass", + "tag": "TyCon" + }, + { + "contents": "_r5zV", + "tag": "Text" + } + ] + }, + "internalId": "784", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe p is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "p", + "sort": "Internal" + }, + "785": { + "demangledOccName": "~", + "externalId": "ghc-prim-0.12.0|GHC.Types|Typ|~", + "idType": { + "components": [ + { + "contents": "forall k. ", + "tag": "Text" + }, + { + "internalId": "917", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "917", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "785", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "-126-", + "moduleName": "GHC.Types", + "name": "~", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "~", + "sort": "External" + }, + "786": { + "demangledOccName": "SrcSpanAnnN", + "externalId": "ghc-9.10.2|GHC.Parser.Annotation|Typ|SrcSpanAnnN", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "786", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "SrcSpanAnnN", + "moduleName": "GHC.Parser.Annotation", + "name": "SrcSpanAnnN", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "SrcSpanAnnN", + "sort": "External" + }, + "787": { + "demangledOccName": "IdP", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Extension|Typ|IdP", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "787", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IdP", + "moduleName": "Language.Haskell.Syntax.Extension", + "name": "IdP", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IdP", + "sort": "External" + }, + "788": { + "demangledOccName": "EpAnn", + "externalId": "ghc-9.10.2|GHC.Parser.Annotation|Typ|EpAnn", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "788", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "EpAnn", + "moduleName": "GHC.Parser.Annotation", + "name": "EpAnn", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "EpAnn", + "sort": "External" + }, + "789": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "internalId": "691", + "name": "TYPE", + "tag": "TyCon" + }, + { + "contents": "_32W ", + "tag": "Text" + }, + { + "internalId": "790", + "name": "r", + "tag": "TyCon" + } + ] + }, + "internalId": "789", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "79": { + "demangledOccName": "hm_details", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Unit.Home.ModInfo|Val|hm_details", + "idType": { + "components": [ + { + "internalId": "721", + "name": "HomeModInfo", + "tag": "TyCon" + }, + { + "contents": "_r6Hv -> ", + "tag": "Text" + }, + { + "internalId": "722", + "name": "ModDetails", + "tag": "TyCon" + }, + { + "contents": "_r6E0", + "tag": "Text" + } + ] + }, + "internalId": "79", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "hm_details", + "moduleName": "GHC.Unit.Home.ModInfo", + "name": "hm_details", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "hm_details", + "sort": "External" + }, + "791": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "791", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "792": { + "demangledOccName": "XImportDeclPass", + "externalId": "ghc-9.10.2|GHC.Hs.ImpExp|Typ|XImportDeclPass", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "792", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "XImportDeclPass", + "moduleName": "GHC.Hs.ImpExp", + "name": "XImportDeclPass", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "XImportDeclPass", + "sort": "External" + }, + "793": { + "demangledOccName": "GenericUnitInfo", + "externalId": "ghc-boot-9.10.2|GHC.Unit.Database|Typ|GenericUnitInfo", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type -> Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "793", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GenericUnitInfo", + "moduleName": "GHC.Unit.Database", + "name": "GenericUnitInfo", + "packageId": { + "name": "ghc-boot", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GenericUnitInfo", + "sort": "External" + }, + "794": { + "demangledOccName": "CallStack", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Stack.Types|Typ|CallStack", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "794", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "CallStack", + "moduleName": "GHC.Internal.Stack.Types", + "name": "CallStack", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "CallStack", + "sort": "External" + }, + "795": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "795", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "796": { + "demangledOccName": "PackageDBFlag", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|PackageDBFlag", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "796", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "PackageDBFlag", + "moduleName": "GHC.Driver.DynFlags", + "name": "PackageDBFlag", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "PackageDBFlag", + "sort": "External" + }, + "797": { + "demangledOccName": "VarEnv", + "externalId": "ghc-9.10.2|GHC.Types.Var.Env|Typ|VarEnv", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "797", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "VarEnv", + "moduleName": "GHC.Types.Var.Env", + "name": "VarEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "VarEnv", + "sort": "External" + }, + "798": { + "demangledOccName": "HsWrapper", + "externalId": "ghc-9.10.2|GHC.Tc.Types.Evidence|Typ|HsWrapper", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "798", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HsWrapper", + "moduleName": "GHC.Tc.Types.Evidence", + "name": "HsWrapper", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HsWrapper", + "sort": "External" + }, + "799": { + "demangledOccName": "GhcLink", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|GhcLink", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "799", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GhcLink", + "moduleName": "GHC.Driver.DynFlags", + "name": "GhcLink", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GhcLink", + "sort": "External" + }, + "8": { + "demangledOccName": "encodeToLazyText", + "details": "VanillaId", + "externalId": "aeson-2.2.3.0|Data.Aeson.Text|Val|encodeToLazyText", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "892", + "name": "ToJSON", + "tag": "TyCon" + }, + { + "contents": "_rHe ", + "tag": "Text" + }, + { + "internalId": "880", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "880", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "754", + "name": "Text", + "tag": "TyCon" + }, + { + "contents": "_r1FH", + "tag": "Text" + } + ] + }, + "internalId": "8", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "encodeToLazyText", + "moduleName": "Data.Aeson.Text", + "name": "encodeToLazyText", + "packageId": { + "name": "aeson", + "version": "2.2.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "encodeToLazyText", + "sort": "External" + }, + "80": { + "demangledOccName": "md_types", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Unit.Module.ModDetails|Val|md_types", + "idType": { + "components": [ + { + "internalId": "722", + "name": "ModDetails", + "tag": "TyCon" + }, + { + "contents": "_r6E0 -> ", + "tag": "Text" + }, + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "722", + "name": "ModDetails", + "tag": "TyCon" + }, + { + "contents": "_r6E0 -> ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag", + "tag": "Text" + } + ] + }, + "internalId": "80", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "md_types", + "moduleName": "GHC.Unit.Module.ModDetails", + "name": "md_types", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "md_types", + "sort": "External" + }, + "800": { + "demangledOccName": "Backend", + "externalId": "ghc-9.10.2|GHC.Driver.Backend|Typ|Backend", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "800", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Backend", + "moduleName": "GHC.Driver.Backend", + "name": "Backend", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Backend", + "sort": "External" + }, + "801": { + "demangledOccName": "FilePath", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.IO|Typ|FilePath", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "801", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "FilePath", + "moduleName": "GHC.Internal.IO", + "name": "FilePath", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "FilePath", + "sort": "External" + }, + "802": { + "demangledOccName": "Platform", + "externalId": "ghc-9.10.2|GHC.Platform|Typ|Platform", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "802", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Platform", + "moduleName": "GHC.Platform", + "name": "Platform", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Platform", + "sort": "External" + }, + "803": { + "demangledOccName": "Fingerprint", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Fingerprint.Type|Typ|Fingerprint", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "803", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Fingerprint", + "moduleName": "GHC.Internal.Fingerprint.Type", + "name": "Fingerprint", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Fingerprint", + "sort": "External" + }, + "804": { + "demangledOccName": "TempDir", + "externalId": "ghc-9.10.2|GHC.Utils.TmpFs|Typ|TempDir", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "804", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TempDir", + "moduleName": "GHC.Utils.TmpFs", + "name": "TempDir", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TempDir", + "sort": "External" + }, + "805": { + "demangledOccName": "ParMakeCount", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|ParMakeCount", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "805", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ParMakeCount", + "moduleName": "GHC.Driver.DynFlags", + "name": "ParMakeCount", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ParMakeCount", + "sort": "External" + }, + "806": { + "demangledOccName": "Word", + "externalId": "ghc-prim-0.12.0|GHC.Types|Typ|Word", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "806", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Word", + "moduleName": "GHC.Types", + "name": "Word", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Word", + "sort": "External" + }, + "807": { + "demangledOccName": "IntWithInf", + "externalId": "ghc-9.10.2|GHC.Types.Basic|Typ|IntWithInf", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "807", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IntWithInf", + "moduleName": "GHC.Types.Basic", + "name": "IntWithInf", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IntWithInf", + "sort": "External" + }, + "808": { + "demangledOccName": "Ways", + "externalId": "ghc-9.10.2|GHC.Platform.Ways|Typ|Ways", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "808", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Ways", + "moduleName": "GHC.Platform.Ways", + "name": "Ways", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Ways", + "sort": "External" + }, + "809": { + "demangledOccName": "DynLibLoader", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|DynLibLoader", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "809", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "DynLibLoader", + "moduleName": "GHC.Driver.DynFlags", + "name": "DynLibLoader", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "DynLibLoader", + "sort": "External" + }, + "81": { + "demangledOccName": "TypeEnv", + "externalId": "ghc-9.10.2|GHC.Types.TypeEnv|Typ|TypeEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "81", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TypeEnv", + "moduleName": "GHC.Types.TypeEnv", + "name": "TypeEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TypeEnv", + "sort": "External" + }, + "810": { + "demangledOccName": "IncludeSpecs", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|IncludeSpecs", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "810", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IncludeSpecs", + "moduleName": "GHC.Driver.DynFlags", + "name": "IncludeSpecs", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IncludeSpecs", + "sort": "External" + }, + "811": { + "demangledOccName": "ExternalPluginSpec", + "externalId": "ghc-9.10.2|GHC.Driver.Plugins.External|Typ|ExternalPluginSpec", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "811", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ExternalPluginSpec", + "moduleName": "GHC.Driver.Plugins.External", + "name": "ExternalPluginSpec", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ExternalPluginSpec", + "sort": "External" + }, + "812": { + "demangledOccName": "IgnorePackageFlag", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|IgnorePackageFlag", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "812", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IgnorePackageFlag", + "moduleName": "GHC.Driver.DynFlags", + "name": "IgnorePackageFlag", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IgnorePackageFlag", + "sort": "External" + }, + "813": { + "demangledOccName": "PackageFlag", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|PackageFlag", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "813", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "PackageFlag", + "moduleName": "GHC.Driver.DynFlags", + "name": "PackageFlag", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "PackageFlag", + "sort": "External" + }, + "814": { + "demangledOccName": "EnumSet", + "externalId": "ghc-9.10.2|GHC.Data.EnumSet|Typ|EnumSet", + "idType": { + "components": [ + { + "contents": "forall {k}. ", + "tag": "Text" + }, + { + "internalId": "910", + "name": "k", + "tag": "TyCon" + }, + { + "contents": " -> Type", + "tag": "Text" + } + ] + }, + "internalId": "814", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "EnumSet", + "moduleName": "GHC.Data.EnumSet", + "name": "EnumSet", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "EnumSet", + "sort": "External" + }, + "815": { + "demangledOccName": "GeneralFlag", + "externalId": "ghc-9.10.2|GHC.Driver.Flags|Typ|GeneralFlag", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "815", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GeneralFlag", + "moduleName": "GHC.Driver.Flags", + "name": "GeneralFlag", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GeneralFlag", + "sort": "External" + }, + "816": { + "demangledOccName": "WarningFlag", + "externalId": "ghc-9.10.2|GHC.Driver.Flags|Typ|WarningFlag", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "816", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "WarningFlag", + "moduleName": "GHC.Driver.Flags", + "name": "WarningFlag", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "WarningFlag", + "sort": "External" + }, + "817": { + "demangledOccName": "WarningCategorySet", + "externalId": "ghc-9.10.2|GHC.Unit.Module.Warnings|Typ|WarningCategorySet", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "817", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "WarningCategorySet", + "moduleName": "GHC.Unit.Module.Warnings", + "name": "WarningCategorySet", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "WarningCategorySet", + "sort": "External" + }, + "818": { + "demangledOccName": "Language", + "externalId": "ghc-9.10.2|GHC.Driver.Flags|Typ|Language", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "818", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Language", + "moduleName": "GHC.Driver.Flags", + "name": "Language", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Language", + "sort": "External" + }, + "819": { + "demangledOccName": "Extension", + "externalId": "ghc-boot-th-9.10.2|GHC.LanguageExtensions.Type|Typ|Extension", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "819", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Extension", + "moduleName": "GHC.LanguageExtensions.Type", + "name": "Extension", + "packageId": { + "name": "ghc-boot-th", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Extension", + "sort": "External" + }, + "82": { + "demangledOccName": "mkTypeEnv", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.TypeEnv|Val|mkTypeEnv", + "idType": { + "components": [ + { + "contents": "[", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag] -> ", + "tag": "Text" + }, + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "contents": "[", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag] -> ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag", + "tag": "Text" + } + ] + }, + "internalId": "82", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "mkTypeEnv", + "moduleName": "GHC.Types.TypeEnv", + "name": "mkTypeEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "mkTypeEnv", + "sort": "External" + }, + "820": { + "demangledOccName": "UnfoldingOpts", + "externalId": "ghc-9.10.2|GHC.Core.Unfold|Typ|UnfoldingOpts", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "820", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UnfoldingOpts", + "moduleName": "GHC.Core.Unfold", + "name": "UnfoldingOpts", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UnfoldingOpts", + "sort": "External" + }, + "821": { + "demangledOccName": "OverridingBool", + "externalId": "ghc-9.10.2|GHC.Data.Bool|Typ|OverridingBool", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "821", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "OverridingBool", + "moduleName": "GHC.Data.Bool", + "name": "OverridingBool", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "OverridingBool", + "sort": "External" + }, + "822": { + "demangledOccName": "Scheme", + "externalId": "ghc-9.10.2|GHC.Utils.Ppr.Colour|Typ|Scheme", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "822", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Scheme", + "moduleName": "GHC.Utils.Ppr.Colour", + "name": "Scheme", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Scheme", + "sort": "External" + }, + "823": { + "demangledOccName": "ProfAuto", + "externalId": "ghc-9.10.2|GHC.Types.ProfAuto|Typ|ProfAuto", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "823", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ProfAuto", + "moduleName": "GHC.Types.ProfAuto", + "name": "ProfAuto", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ProfAuto", + "sort": "External" + }, + "824": { + "demangledOccName": "CallerCcFilter", + "externalId": "ghc-9.10.2|GHC.Core.Opt.CallerCC.Types|Typ|CallerCcFilter", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "824", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "CallerCcFilter", + "moduleName": "GHC.Core.Opt.CallerCC.Types", + "name": "CallerCcFilter", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "CallerCcFilter", + "sort": "External" + }, + "825": { + "demangledOccName": "SseVersion", + "externalId": "ghc-9.10.2|GHC.Platform|Typ|SseVersion", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "825", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "SseVersion", + "moduleName": "GHC.Platform", + "name": "SseVersion", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "SseVersion", + "sort": "External" + }, + "826": { + "demangledOccName": "BmiVersion", + "externalId": "ghc-9.10.2|GHC.Platform|Typ|BmiVersion", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "826", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "BmiVersion", + "moduleName": "GHC.Platform", + "name": "BmiVersion", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "BmiVersion", + "sort": "External" + }, + "827": { + "demangledOccName": "Word64", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Word|Typ|Word64", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "827", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Word64", + "moduleName": "GHC.Internal.Word", + "name": "Word64", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Word64", + "sort": "External" + }, + "828": { + "demangledOccName": "UnitInfoMap", + "externalId": "ghc-9.10.2|GHC.Unit.State|Typ|UnitInfoMap", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "828", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UnitInfoMap", + "moduleName": "GHC.Unit.State", + "name": "UnitInfoMap", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UnitInfoMap", + "sort": "External" + }, + "829": { + "demangledOccName": "PreloadUnitClosure", + "externalId": "ghc-9.10.2|GHC.Unit.State|Typ|PreloadUnitClosure", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "829", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "PreloadUnitClosure", + "moduleName": "GHC.Unit.State", + "name": "PreloadUnitClosure", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "PreloadUnitClosure", + "sort": "External" + }, + "83": { + "demangledOccName": "typeEnvElts", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.TypeEnv|Val|typeEnvElts", + "idType": { + "components": [ + { + "internalId": "81", + "name": "TypeEnv", + "tag": "TyCon" + }, + { + "contents": "_r5Ae -> [", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag]", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 ", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag -> [", + "tag": "Text" + }, + { + "internalId": "37", + "name": "TyThing", + "tag": "TyCon" + }, + { + "contents": "_r5Ag]", + "tag": "Text" + } + ] + }, + "internalId": "83", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "typeEnvElts", + "moduleName": "GHC.Types.TypeEnv", + "name": "typeEnvElts", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "typeEnvElts", + "sort": "External" + }, + "830": { + "demangledOccName": "PackageName", + "externalId": "ghc-9.10.2|GHC.Unit.Info|Typ|PackageName", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "830", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "PackageName", + "moduleName": "GHC.Unit.Info", + "name": "PackageName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "PackageName", + "sort": "External" + }, + "831": { + "demangledOccName": "Unit", + "externalId": "ghc-9.10.2|GHC.Unit.Types|Typ|Unit", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "831", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Unit", + "moduleName": "GHC.Unit.Types", + "name": "Unit", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Unit", + "sort": "External" + }, + "832": { + "demangledOccName": "PackageArg", + "externalId": "ghc-9.10.2|GHC.Driver.DynFlags|Typ|PackageArg", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "832", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "PackageArg", + "moduleName": "GHC.Driver.DynFlags", + "name": "PackageArg", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "PackageArg", + "sort": "External" + }, + "833": { + "demangledOccName": "ModuleNameProvidersMap", + "externalId": "ghc-9.10.2|GHC.Unit.State|Typ|ModuleNameProvidersMap", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "833", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModuleNameProvidersMap", + "moduleName": "GHC.Unit.State", + "name": "ModuleNameProvidersMap", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModuleNameProvidersMap", + "sort": "External" + }, + "834": { + "demangledOccName": "VisibleOrphanModules", + "externalId": "ghc-9.10.2|GHC.Core.InstEnv|Typ|VisibleOrphanModules", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "834", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "VisibleOrphanModules", + "moduleName": "GHC.Core.InstEnv", + "name": "VisibleOrphanModules", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "VisibleOrphanModules", + "sort": "External" + }, + "835": { + "demangledOccName": "ASTState", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Typ|ASTState", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "835", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ASTState", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "ASTState", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ASTState", + "sort": "External" + }, + "836": { + "demangledOccName": "GenUnit", + "externalId": "ghc-9.10.2|GHC.Unit.Types|Typ|GenUnit", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "836", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GenUnit", + "moduleName": "GHC.Unit.Types", + "name": "GenUnit", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GenUnit", + "sort": "External" + }, + "837": { + "demangledOccName": "Way", + "externalId": "ghc-9.10.2|GHC.Platform.Ways|Typ|Way", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "837", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Way", + "moduleName": "GHC.Platform.Ways", + "name": "Way", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Way", + "sort": "External" + }, + "838": { + "demangledOccName": "UniqSet", + "externalId": "ghc-9.10.2|GHC.Types.Unique.Set|Typ|UniqSet", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "838", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UniqSet", + "moduleName": "GHC.Types.Unique.Set", + "name": "UniqSet", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UniqSet", + "sort": "External" + }, + "839": { + "demangledOccName": "ModuleOrigin", + "externalId": "ghc-9.10.2|GHC.Unit.State|Typ|ModuleOrigin", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "839", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ModuleOrigin", + "moduleName": "GHC.Unit.State", + "name": "ModuleOrigin", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ModuleOrigin", + "sort": "External" + }, + "84": { + "demangledOccName": "InstEnvs", + "externalId": "ghc-9.10.2|GHC.Core.InstEnv|Typ|InstEnvs", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "84", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "InstEnvs", + "moduleName": "GHC.Core.InstEnv", + "name": "InstEnvs", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "InstEnvs", + "sort": "External" + }, + "840": { + "demangledOccName": "GenInstantiatedUnit", + "externalId": "ghc-9.10.2|GHC.Unit.Types|Typ|GenInstantiatedUnit", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "840", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GenInstantiatedUnit", + "moduleName": "GHC.Unit.Types", + "name": "GenInstantiatedUnit", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GenInstantiatedUnit", + "sort": "External" + }, + "841": { + "demangledOccName": "NDModule", + "externalId": "ghc-9.10.2|GHC.Unit.Module.Env|Typ|NDModule", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "841", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "NDModule", + "moduleName": "GHC.Unit.Module.Env", + "name": "NDModule", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "NDModule", + "sort": "External" + }, + "842": { + "demangledOccName": "UnitEnv", + "externalId": "ghc-9.10.2|GHC.Unit.Env|Typ|UnitEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "842", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "UnitEnv", + "moduleName": "GHC.Unit.Env", + "name": "UnitEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "UnitEnv", + "sort": "External" + }, + "843": { + "demangledOccName": "PackageInstEnv", + "externalId": "ghc-9.10.2|GHC.Unit.External|Typ|PackageInstEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "843", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "PackageInstEnv", + "moduleName": "GHC.Unit.External", + "name": "PackageInstEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "PackageInstEnv", + "sort": "External" + }, + "844": { + "demangledOccName": "TyClGroup", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Decls|Typ|TyClGroup", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "844", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TyClGroup", + "moduleName": "Language.Haskell.Syntax.Decls", + "name": "TyClGroup", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TyClGroup", + "sort": "External" + }, + "845": { + "demangledOccName": "pass", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "845", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe pass is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "pass", + "sort": "Internal" + }, + "846": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "846", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "847": { + "demangledOccName": "NameSpace", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|NameSpace", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "847", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "NameSpace", + "moduleName": "HaskellCodeExplorer.Types", + "name": "NameSpace", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "NameSpace", + "sort": "External" + }, + "848": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "848", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "849": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "849", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "85": { + "demangledOccName": "is_dfun", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Core.InstEnv|Val|is_dfun", + "idType": { + "components": [ + { + "internalId": "858", + "name": "ClsInst", + "tag": "TyCon" + }, + { + "contents": "_r5Aa -> ", + "tag": "Text" + }, + { + "internalId": "689", + "name": "DFunId", + "tag": "TyCon" + }, + { + "contents": "_r5xc", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "858", + "name": "ClsInst", + "tag": "TyCon" + }, + { + "contents": "_r5Aa -> ", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX", + "tag": "Text" + } + ] + }, + "internalId": "85", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "is_dfun", + "moduleName": "GHC.Core.InstEnv", + "name": "is_dfun", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "is_dfun", + "sort": "External" + }, + "850": { + "demangledOccName": "InstanceResolution", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.Types|Typ|InstanceResolution", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "850", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "InstanceResolution", + "moduleName": "HaskellCodeExplorer.Types", + "name": "InstanceResolution", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "InstanceResolution", + "sort": "External" + }, + "851": { + "demangledOccName": "Monad", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Typ|Monad", + "idType": { + "components": [ + { + "contents": "(Type -> Type) -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "851", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Monad", + "moduleName": "GHC.Internal.Base", + "name": "Monad", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Monad", + "sort": "External" + }, + "852": { + "demangledOccName": "m", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "852", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe m is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "m", + "sort": "Internal" + }, + "853": { + "demangledOccName": "Biplate", + "externalId": "uniplate-1.6.13|Data.Generics.Uniplate.Operations|Typ|Biplate", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "853", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Biplate", + "moduleName": "Data.Generics.Uniplate.Operations", + "name": "Biplate", + "packageId": { + "name": "uniplate", + "version": "1.6.13" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Biplate", + "sort": "External" + }, + "854": { + "demangledOccName": "from", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "854", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe from is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "from", + "sort": "Internal" + }, + "855": { + "demangledOccName": "to", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "855", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe to is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "to", + "sort": "Internal" + }, + "856": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "856", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "857": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "857", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "858": { + "demangledOccName": "ClsInst", + "externalId": "ghc-9.10.2|GHC.Core.InstEnv|Typ|ClsInst", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "858", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ClsInst", + "moduleName": "GHC.Core.InstEnv", + "name": "ClsInst", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ClsInst", + "sort": "External" + }, + "859": { + "demangledOccName": "c", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "859", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe c is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "c", + "sort": "Internal" + }, + "86": { + "demangledOccName": "Module", + "externalId": "ghc-9.10.2|GHC.Unit.Types|Typ|Module", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "86", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Module", + "moduleName": "GHC.Unit.Types", + "name": "Module", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Module", + "sort": "External" + }, + "860": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "860", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "861": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "861", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "862": { + "demangledOccName": "SDoc", + "externalId": "ghc-9.10.2|GHC.Utils.Outputable|Typ|SDoc", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "862", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "SDoc", + "moduleName": "GHC.Utils.Outputable", + "name": "SDoc", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "SDoc", + "sort": "External" + }, + "863": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "863", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "864": { + "demangledOccName": "OccEnv", + "externalId": "ghc-9.10.2|GHC.Types.Name.Occurrence|Typ|OccEnv", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "864", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "OccEnv", + "moduleName": "GHC.Types.Name.Occurrence", + "name": "OccEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "OccEnv", + "sort": "External" + }, + "865": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "865", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "866": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "866", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "867": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "867", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "868": { + "demangledOccName": "astStateIdOccMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|astStateIdOccMap", + "idType": { + "components": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw -> ", + "tag": "Text" + }, + { + "internalId": "245", + "name": "IdentifierOccurrenceMap", + "tag": "TyCon" + }, + { + "contents": "_r2b", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw\n-> ", + "tag": "Text" + }, + { + "internalId": "607", + "name": "IntMap", + "tag": "TyCon" + }, + { + "contents": "_rVj [((", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u, ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u), ", + "tag": "Text" + }, + { + "internalId": "608", + "name": "IdentifierOccurrence", + "tag": "TyCon" + }, + { + "contents": "_r21)]", + "tag": "Text" + } + ] + }, + "internalId": "868", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "astStateIdOccMap", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "astStateIdOccMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "astStateIdOccMap", + "sort": "External" + }, + "869": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "869", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "87": { + "demangledOccName": "moduleName", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Unit.Types|Val|moduleName", + "idType": { + "components": [ + { + "contents": "forall unit. ", + "tag": "Text" + }, + { + "internalId": "739", + "name": "GenModule", + "tag": "TyCon" + }, + { + "contents": "_r6kh ", + "tag": "Text" + }, + { + "internalId": "879", + "name": "unit", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "36", + "name": "ModuleName", + "tag": "TyCon" + }, + { + "contents": "_r5x3", + "tag": "Text" + } + ] + }, + "internalId": "87", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "moduleName", + "moduleName": "GHC.Unit.Types", + "name": "moduleName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "moduleName", + "sort": "External" + }, + "870": { + "demangledOccName": "HasDebugCallStack", + "externalId": "ghc-9.10.2|GHC.Utils.Misc|Typ|HasDebugCallStack", + "idType": { + "components": [ + { + "contents": "Constraint", + "tag": "Text" + } + ] + }, + "internalId": "870", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HasDebugCallStack", + "moduleName": "GHC.Utils.Misc", + "name": "HasDebugCallStack", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HasDebugCallStack", + "sort": "External" + }, + "871": { + "demangledOccName": "TypecheckedSource", + "externalId": "ghc-9.10.2|GHC|Typ|TypecheckedSource", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "871", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TypecheckedSource", + "moduleName": "GHC", + "name": "TypecheckedSource", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TypecheckedSource", + "sort": "External" + }, + "872": { + "demangledOccName": "Typechecked", + "externalId": "ghc-9.10.2|GHC.Hs.Extension|Val|Typechecked", + "idType": { + "components": [ + { + "internalId": "635", + "name": "Pass", + "tag": "TyCon" + }, + { + "contents": "_r5zV", + "tag": "Text" + } + ] + }, + "internalId": "872", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "Typechecked", + "moduleName": "GHC.Hs.Extension", + "name": "Typechecked", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "DataName", + "occName": "Typechecked", + "sort": "External" + }, + "873": { + "demangledOccName": "CollectPass", + "externalId": "ghc-9.10.2|GHC.Hs.Utils|Typ|CollectPass", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "873", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "CollectPass", + "moduleName": "GHC.Hs.Utils", + "name": "CollectPass", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "CollectPass", + "sort": "External" + }, + "874": { + "demangledOccName": "idR", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "874", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe idR is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "idR", + "sort": "Internal" + }, + "875": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "internalId": "691", + "name": "TYPE", + "tag": "TyCon" + }, + { + "contents": "_32W ", + "tag": "Text" + }, + { + "internalId": "876", + "name": "repa", + "tag": "TyCon" + } + ] + }, + "internalId": "875", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "877": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "877", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "878": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "878", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "879": { + "demangledOccName": "unit", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "879", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe unit is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "unit", + "sort": "Internal" + }, + "88": { + "demangledOccName": "Name", + "externalId": "ghc-9.10.2|GHC.Types.Name|Typ|Name", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "88", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Name", + "moduleName": "GHC.Types.Name", + "name": "Name", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Name", + "sort": "External" + }, + "880": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "880", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "881": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "881", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "882": { + "demangledOccName": "Constraint", + "externalId": "ghc-prim-0.12.0|GHC.Types|Typ|Constraint", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "882", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Constraint", + "moduleName": "GHC.Types", + "name": "Constraint", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Constraint", + "sort": "External" + }, + "883": { + "demangledOccName": "f", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "883", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe f is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "f", + "sort": "Internal" + }, + "884": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "884", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "885": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "885", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "886": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "886", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "887": { + "demangledOccName": "Unit", + "externalId": "ghc-prim-0.12.0|GHC.Tuple|Typ|Unit", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "887", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Unit", + "moduleName": "GHC.Tuple", + "name": "Unit", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Unit", + "sort": "External" + }, + "888": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "888", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "889": { + "demangledOccName": "TyCon", + "externalId": "ghc-9.10.2|GHC.Core.TyCon|Typ|TyCon", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "889", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TyCon", + "moduleName": "GHC.Core.TyCon", + "name": "TyCon", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TyCon", + "sort": "External" + }, + "89": { + "demangledOccName": "OccName", + "externalId": "ghc-9.10.2|GHC.Types.Name.Occurrence|Typ|OccName", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "89", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "OccName", + "moduleName": "GHC.Types.Name.Occurrence", + "name": "OccName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "OccName", + "sort": "External" + }, + "890": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "890", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "891": { + "demangledOccName": "c", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "891", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe c is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "c", + "sort": "Internal" + }, + "892": { + "demangledOccName": "ToJSON", + "externalId": "aeson-2.2.3.0|Data.Aeson.Types.ToJSON|Typ|ToJSON", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "892", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "ToJSON", + "moduleName": "Data.Aeson.Types.ToJSON", + "name": "ToJSON", + "packageId": { + "name": "aeson", + "version": "2.2.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "ToJSON", + "sort": "External" + }, + "893": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "893", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "894": { + "demangledOccName": "Num", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Num|Typ|Num", + "idType": { + "components": [ + { + "contents": "Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "894", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Num", + "moduleName": "GHC.Internal.Num", + "name": "Num", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Num", + "sort": "External" + }, + "895": { + "demangledOccName": "v", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "895", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe v is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "v", + "sort": "Internal" + }, + "896": { + "demangledOccName": "f", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "896", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe f is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "f", + "sort": "Internal" + }, + "897": { + "demangledOccName": "Tuple2", + "externalId": "ghc-prim-0.12.0|GHC.Tuple|Typ|Tuple2", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "897", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Tuple2", + "moduleName": "GHC.Tuple", + "name": "Tuple2", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Tuple2", + "sort": "External" + }, + "898": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "898", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "899": { + "demangledOccName": "Value", + "externalId": "aeson-2.2.3.0|Data.Aeson.Types.Internal|Typ|Value", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "899", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Value", + "moduleName": "Data.Aeson.Types.Internal", + "name": "Value", + "packageId": { + "name": "aeson", + "version": "2.2.3.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Value", + "sort": "External" + }, + "9": { + "demangledOccName": "HsBindLR", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Binds|Typ|HsBindLR", + "idType": { + "components": [ + { + "contents": "Type -> Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "9", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "HsBindLR", + "moduleName": "Language.Haskell.Syntax.Binds", + "name": "HsBindLR", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "HsBindLR", + "sort": "External" + }, + "90": { + "demangledOccName": "getSrcSpan", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.Name|Val|getSrcSpan", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "771", + "name": "NamedThing", + "tag": "TyCon" + }, + { + "contents": "_r6iL ", + "tag": "Text" + }, + { + "internalId": "772", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " => ", + "tag": "Text" + }, + { + "internalId": "772", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ", + "tag": "Text" + } + ] + }, + "internalId": "90", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "getSrcSpan", + "moduleName": "GHC.Types.Name", + "name": "getSrcSpan", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "getSrcSpan", + "sort": "External" + }, + "900": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "900", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "901": { + "demangledOccName": "astStateHsWrapper", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|astStateHsWrapper", + "idType": { + "components": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw -> ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U ", + "tag": "Text" + }, + { + "internalId": "798", + "name": "HsWrapper", + "tag": "TyCon" + }, + { + "contents": "_r5y5", + "tag": "Text" + } + ] + }, + "internalId": "901", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "astStateHsWrapper", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "astStateHsWrapper", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "astStateHsWrapper", + "sort": "External" + }, + "902": { + "demangledOccName": "Functor", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Typ|Functor", + "idType": { + "components": [ + { + "contents": "(Type -> Type) -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "902", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Functor", + "moduleName": "GHC.Internal.Base", + "name": "Functor", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Functor", + "sort": "External" + }, + "903": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "903", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "904": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "904", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "905": { + "demangledOccName": "CONSTRAINT", + "externalId": "ghc-prim-0.12.0|GHC.Prim|Typ|CONSTRAINT", + "idType": { + "components": [ + { + "internalId": "718", + "name": "RuntimeRep", + "tag": "TyCon" + }, + { + "contents": "_334 -> Type", + "tag": "Text" + } + ] + }, + "internalId": "905", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "CONSTRAINT", + "moduleName": "GHC.Prim", + "name": "CONSTRAINT", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "CONSTRAINT", + "sort": "External" + }, + "906": { + "demangledOccName": "LHsBinds", + "externalId": "ghc-9.10.2|Language.Haskell.Syntax.Binds|Typ|LHsBinds", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "906", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "LHsBinds", + "moduleName": "Language.Haskell.Syntax.Binds", + "name": "LHsBinds", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "LHsBinds", + "sort": "External" + }, + "907": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "907", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "908": { + "demangledOccName": "CUnit", + "externalId": "ghc-prim-0.12.0|GHC.Classes|Typ|CUnit", + "idType": { + "components": [ + { + "contents": "Constraint", + "tag": "Text" + } + ] + }, + "internalId": "908", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "CUnit", + "moduleName": "GHC.Classes", + "name": "CUnit", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "CUnit", + "sort": "External" + }, + "909": { + "demangledOccName": "m", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "909", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe m is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "m", + "sort": "Internal" + }, + "91": { + "demangledOccName": "nameOccName", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.Name|Val|nameOccName", + "idType": { + "components": [ + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 -> ", + "tag": "Text" + }, + { + "internalId": "89", + "name": "OccName", + "tag": "TyCon" + }, + { + "contents": "_r5x4", + "tag": "Text" + } + ] + }, + "internalId": "91", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "nameOccName", + "moduleName": "GHC.Types.Name", + "name": "nameOccName", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "nameOccName", + "sort": "External" + }, + "911": { + "demangledOccName": "t", + "idType": { + "components": [ + { + "contents": "Type -> Type", + "tag": "Text" + } + ] + }, + "internalId": "911", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe t is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "t", + "sort": "Internal" + }, + "912": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "912", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "913": { + "demangledOccName": "Type", + "externalId": "ghc-prim-0.12.0|GHC.Types|Typ|Type", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "913", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Type", + "moduleName": "GHC.Types", + "name": "Type", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Type", + "sort": "External" + }, + "914": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "914", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "915": { + "demangledOccName": "Unique", + "externalId": "ghc-9.10.2|GHC.Types.Unique|Typ|Unique", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "915", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "Unique", + "moduleName": "GHC.Types.Unique", + "name": "Unique", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "Unique", + "sort": "External" + }, + "916": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "916", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "918": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "918", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "92": { + "demangledOccName": "nameSrcSpan", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.Name|Val|nameSrcSpan", + "idType": { + "components": [ + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 -> ", + "tag": "Text" + }, + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ", + "tag": "Text" + } + ] + }, + "internalId": "92", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "nameSrcSpan", + "moduleName": "GHC.Types.Name", + "name": "nameSrcSpan", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "nameSrcSpan", + "sort": "External" + }, + "920": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "920", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "921": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "921", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "922": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "922", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "923": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "923", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "924": { + "demangledOccName": "id", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "924", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe id is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "id", + "sort": "Internal" + }, + "925": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "925", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "926": { + "demangledOccName": "astStateIdSrcSpanMap", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|astStateIdSrcSpanMap", + "idType": { + "components": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw\n-> ", + "tag": "Text" + }, + { + "internalId": "299", + "name": "Map", + "tag": "TyCon" + }, + { + "contents": "_rId\n ", + "tag": "Text" + }, + { + "internalId": "16", + "name": "RealSrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r6jc (", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX, ", + "tag": "Text" + }, + { + "internalId": "307", + "name": "Maybe", + "tag": "TyCon" + }, + { + "contents": "_3U (", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD, [", + "tag": "Text" + }, + { + "internalId": "38", + "name": "Type", + "tag": "TyCon" + }, + { + "contents": "_r5xD]))", + "tag": "Text" + } + ] + }, + "internalId": "926", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "astStateIdSrcSpanMap", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "astStateIdSrcSpanMap", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "astStateIdSrcSpanMap", + "sort": "External" + }, + "927": { + "demangledOccName": "TidyEnv", + "externalId": "ghc-9.10.2|GHC.Types.Var.Env|Typ|TidyEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "927", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "TidyEnv", + "moduleName": "GHC.Types.Var.Env", + "name": "TidyEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "TidyEnv", + "sort": "External" + }, + "928": { + "demangledOccName": "astStateTidyEnv", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|astStateTidyEnv", + "idType": { + "components": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw -> ", + "tag": "Text" + }, + { + "internalId": "927", + "name": "TidyEnv", + "tag": "TyCon" + }, + { + "contents": "_r5xW", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw\n-> (", + "tag": "Text" + }, + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "667", + "name": "FastString", + "tag": "TyCon" + }, + { + "contents": "_r5yT ", + "tag": "Text" + }, + { + "internalId": "254", + "name": "Int", + "tag": "TyCon" + }, + { + "contents": "_3u,\n ", + "tag": "Text" + }, + { + "internalId": "676", + "name": "UniqFM", + "tag": "TyCon" + }, + { + "contents": "_r6HE ", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX ", + "tag": "Text" + }, + { + "internalId": "707", + "name": "Var", + "tag": "TyCon" + }, + { + "contents": "_r5xX)", + "tag": "Text" + } + ] + }, + "internalId": "928", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "astStateTidyEnv", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "astStateTidyEnv", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "astStateTidyEnv", + "sort": "External" + }, + "929": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "929", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "93": { + "demangledOccName": "nameUnique", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.Name|Val|nameUnique", + "idType": { + "components": [ + { + "internalId": "88", + "name": "Name", + "tag": "TyCon" + }, + { + "contents": "_r5x5 -> ", + "tag": "Text" + }, + { + "internalId": "915", + "name": "Unique", + "tag": "TyCon" + }, + { + "contents": "_r6P0", + "tag": "Text" + } + ] + }, + "internalId": "93", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "nameUnique", + "moduleName": "GHC.Types.Name", + "name": "nameUnique", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "nameUnique", + "sort": "External" + }, + "930": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "930", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "931": { + "demangledOccName": "key", + "idType": { + "components": [ + { + "internalId": "936", + "name": "k", + "tag": "TyCon" + } + ] + }, + "internalId": "931", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe key is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "key", + "sort": "Internal" + }, + "932": { + "demangledOccName": "elt", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "932", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe elt is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "elt", + "sort": "Internal" + }, + "933": { + "demangledOccName": "l", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "933", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe l is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "l", + "sort": "Internal" + }, + "934": { + "demangledOccName": "l", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "934", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe l is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "l", + "sort": "Internal" + }, + "935": { + "demangledOccName": "GhcTc", + "externalId": "ghc-9.10.2|GHC.Hs.Extension|Typ|GhcTc", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "935", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GhcTc", + "moduleName": "GHC.Hs.Extension", + "name": "GhcTc", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GhcTc", + "sort": "External" + }, + "936": { + "demangledOccName": "k", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "936", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe k is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "k", + "sort": "Internal" + }, + "937": { + "demangledOccName": "astStateEnv", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|astStateEnv", + "idType": { + "components": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw -> ", + "tag": "Text" + }, + { + "internalId": "474", + "name": "Environment", + "tag": "TyCon" + }, + { + "contents": "_rgkF", + "tag": "Text" + } + ] + }, + "internalId": "937", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "astStateEnv", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "astStateEnv", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "astStateEnv", + "sort": "External" + }, + "938": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "938", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "939": { + "demangledOccName": "e", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "939", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe e is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "e", + "sort": "Internal" + }, + "94": { + "demangledOccName": "id", + "details": "VanillaId", + "externalId": "ghc-internal-9.1002.0|GHC.Internal.Base|Val|id", + "idType": { + "components": [ + { + "contents": "forall a. ", + "tag": "Text" + }, + { + "internalId": "940", + "name": "a", + "tag": "TyCon" + }, + { + "contents": " -> ", + "tag": "Text" + }, + { + "internalId": "940", + "name": "a", + "tag": "TyCon" + } + ] + }, + "internalId": "94", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "id", + "moduleName": "GHC.Internal.Base", + "name": "id", + "packageId": { + "name": "ghc-internal", + "version": "9.1002.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "id", + "sort": "External" + }, + "940": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "940", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "941": { + "demangledOccName": "b", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "941", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe b is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "b", + "sort": "Internal" + }, + "942": { + "demangledOccName": "astStateTypeErrors", + "details": "RecSelId", + "externalId": "haskell-code-explorer-0.2.0.0|HaskellCodeExplorer.AST.TypecheckedSource|Val|astStateTypeErrors", + "idType": { + "components": [ + { + "internalId": "835", + "name": "ASTState", + "tag": "TyCon" + }, + { + "contents": "_rgkw -> [", + "tag": "Text" + }, + { + "internalId": "117", + "name": "TypeError", + "tag": "TyCon" + }, + { + "contents": "_rgkT]", + "tag": "Text" + } + ] + }, + "internalId": "942", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "astStateTypeErrors", + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "name": "astStateTypeErrors", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "astStateTypeErrors", + "sort": "External" + }, + "943": { + "demangledOccName": "a", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "943", + "isExported": false, + "locationInfo": { + "contents": "nameModule_maybe a is Nothing", + "tag": "UnknownLocation" + }, + "nameSpace": "TvName", + "occName": "a", + "sort": "Internal" + }, + "944": { + "demangledOccName": "IP", + "externalId": "ghc-prim-0.12.0|GHC.Classes|Typ|IP", + "idType": { + "components": [ + { + "internalId": "945", + "name": "Symbol", + "tag": "TyCon" + }, + { + "contents": "_3cU -> Type -> Constraint", + "tag": "Text" + } + ] + }, + "internalId": "944", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "IP", + "moduleName": "GHC.Classes", + "name": "IP", + "packageId": { + "name": "ghc-prim", + "version": "0.12.0" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "IP", + "sort": "External" + }, + "95": { + "demangledOccName": "GlobalRdrEnv", + "externalId": "ghc-9.10.2|GHC.Types.Name.Reader|Typ|GlobalRdrEnv", + "idType": { + "components": [ + { + "contents": "Type", + "tag": "Text" + } + ] + }, + "internalId": "95", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Typ", + "haddockAnchorId": "GlobalRdrEnv", + "moduleName": "GHC.Types.Name.Reader", + "name": "GlobalRdrEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "TcClsName", + "occName": "GlobalRdrEnv", + "sort": "External" + }, + "96": { + "demangledOccName": "isOneLineSpan", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Types.SrcLoc|Val|isOneLineSpan", + "idType": { + "components": [ + { + "internalId": "15", + "name": "SrcSpan", + "tag": "TyCon" + }, + { + "contents": "_r5xJ -> ", + "tag": "Text" + }, + { + "internalId": "648", + "name": "Bool", + "tag": "TyCon" + }, + { + "contents": "_38", + "tag": "Text" + } + ] + }, + "internalId": "96", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "isOneLineSpan", + "moduleName": "GHC.Types.SrcLoc", + "name": "isOneLineSpan", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "isOneLineSpan", + "sort": "External" + }, + "97": { + "demangledOccName": "tcVisibleOrphanMods", + "details": "VanillaId", + "externalId": "ghc-9.10.2|GHC.Tc.Types|Val|tcVisibleOrphanMods", + "idType": { + "components": [ + { + "internalId": "680", + "name": "TcGblEnv", + "tag": "TyCon" + }, + { + "contents": "_r6DZ -> ", + "tag": "Text" + }, + { + "internalId": "777", + "name": "ModuleSet", + "tag": "TyCon" + }, + { + "contents": "_r7iV", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "680", + "name": "TcGblEnv", + "tag": "TyCon" + }, + { + "contents": "_r6DZ -> ", + "tag": "Text" + }, + { + "internalId": "420", + "name": "Set", + "tag": "TyCon" + }, + { + "contents": "_rlU ", + "tag": "Text" + }, + { + "internalId": "841", + "name": "NDModule", + "tag": "TyCon" + }, + { + "contents": "_rgOV", + "tag": "Text" + } + ] + }, + "internalId": "97", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tcVisibleOrphanMods", + "moduleName": "GHC.Tc.Types", + "name": "tcVisibleOrphanMods", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tcVisibleOrphanMods", + "sort": "External" + }, + "98": { + "demangledOccName": "tcg_inst_env", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Tc.Types|Val|tcg_inst_env", + "idType": { + "components": [ + { + "internalId": "680", + "name": "TcGblEnv", + "tag": "TyCon" + }, + { + "contents": "_r6DZ -> ", + "tag": "Text" + }, + { + "internalId": "681", + "name": "InstEnv", + "tag": "TyCon" + }, + { + "contents": "_r7eX", + "tag": "Text" + } + ] + }, + "internalId": "98", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tcg_inst_env", + "moduleName": "GHC.Tc.Types", + "name": "tcg_inst_env", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tcg_inst_env", + "sort": "External" + }, + "99": { + "demangledOccName": "tcg_rdr_env", + "details": "RecSelId", + "externalId": "ghc-9.10.2|GHC.Tc.Types|Val|tcg_rdr_env", + "idType": { + "components": [ + { + "internalId": "680", + "name": "TcGblEnv", + "tag": "TyCon" + }, + { + "contents": "_r6DZ -> ", + "tag": "Text" + }, + { + "internalId": "95", + "name": "GlobalRdrEnv", + "tag": "TyCon" + }, + { + "contents": "_r5x1", + "tag": "Text" + } + ], + "componentsExpanded": [ + { + "internalId": "680", + "name": "TcGblEnv", + "tag": "TyCon" + }, + { + "contents": "_r6DZ -> ", + "tag": "Text" + }, + { + "internalId": "864", + "name": "OccEnv", + "tag": "TyCon" + }, + { + "contents": "_rcRM [", + "tag": "Text" + }, + { + "internalId": "746", + "name": "GlobalRdrEltX", + "tag": "TyCon" + }, + { + "contents": "_r6HG ", + "tag": "Text" + }, + { + "internalId": "698", + "name": "GREInfo", + "tag": "TyCon" + }, + { + "contents": "_rd3K]", + "tag": "Text" + } + ] + }, + "internalId": "99", + "isExported": false, + "locationInfo": { + "componentId": "lib", + "entity": "Val", + "haddockAnchorId": "tcg_rdr_env", + "moduleName": "GHC.Tc.Types", + "name": "tcg_rdr_env", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "nameSpace": "VarName", + "occName": "tcg_rdr_env", + "sort": "External" + } + }, + "name": "HaskellCodeExplorer.ModuleInfo", + "occurrences": { + "100-8-18": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Hs.Doc", + "name": "GHC.Hs.Doc", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "101-5-16": { + "description": "IE", + "internalId": "69", + "sort": { + "tag": "TypeId" + } + }, + "102-5-11": { + "description": "IE", + "internalId": "70", + "sort": { + "tag": "TypeId" + } + }, + "103-5-25": { + "description": "IE", + "internalId": "71", + "sort": { + "tag": "TypeId" + } + }, + "104-23-25": { + "description": "IE", + "internalId": "72", + "sort": { + "tag": "TypeId" + } + }, + "104-31-41": { + "description": "IE", + "internalId": "73", + "sort": { + "tag": "TypeId" + } + }, + "104-47-60": { + "description": "IE", + "internalId": "74", + "sort": { + "tag": "ValueId" + } + }, + "104-8-21": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Hs.ImpExp", + "name": "GHC.Hs.ImpExp", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "105-21-41": { + "description": "IE", + "internalId": "19", + "sort": { + "tag": "ValueId" + } + }, + "105-8-20": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Hs.Utils", + "name": "GHC.Hs.Utils", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "106-8-25": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Unit.External", + "name": "GHC.Unit.External", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "107-5-25": { + "description": "IE", + "internalId": "75", + "sort": { + "tag": "TypeId" + } + }, + "108-5-12": { + "description": "IE", + "internalId": "76", + "sort": { + "tag": "ValueId" + } + }, + "109-5-17": { + "description": "IE", + "internalId": "77", + "sort": { + "tag": "ValueId" + } + }, + "110-8-29": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Unit.Home.ModInfo", + "name": "GHC.Unit.Home.ModInfo", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "111-5-21": { + "description": "IE", + "internalId": "78", + "sort": { + "tag": "TypeId" + } + }, + "112-5-15": { + "description": "IE", + "internalId": "79", + "sort": { + "tag": "ValueId" + } + }, + "113-8-34": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Unit.Module.ModDetails", + "name": "GHC.Unit.Module.ModDetails", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "114-5-13": { + "description": "IE", + "internalId": "80", + "sort": { + "tag": "ValueId" + } + }, + "115-8-25": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Types.TypeEnv", + "name": "GHC.Types.TypeEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "116-5-12": { + "description": "IE", + "internalId": "81", + "sort": { + "tag": "TypeId" + } + }, + "117-5-14": { + "description": "IE", + "internalId": "82", + "sort": { + "tag": "ValueId" + } + }, + "118-5-16": { + "description": "IE", + "internalId": "83", + "sort": { + "tag": "ValueId" + } + }, + "119-26-34": { + "description": "IE", + "internalId": "84", + "sort": { + "tag": "TypeId" + } + }, + "119-40-47": { + "description": "IE", + "internalId": "85", + "sort": { + "tag": "ValueId" + } + }, + "119-8-24": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Core.InstEnv", + "name": "GHC.Core.InstEnv", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "120-24-30": { + "description": "IE", + "internalId": "86", + "sort": { + "tag": "TypeId" + } + }, + "120-36-46": { + "description": "IE", + "internalId": "87", + "sort": { + "tag": "ValueId" + } + }, + "120-8-23": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Unit.Module", + "name": "GHC.Unit.Module", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "121-24-28": { + "description": "IE", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "121-30-37": { + "description": "IE", + "internalId": "89", + "sort": { + "tag": "TypeId" + } + }, + "121-39-49": { + "description": "IE", + "internalId": "90", + "sort": { + "tag": "ValueId" + } + }, + "121-51-62": { + "description": "IE", + "internalId": "91", + "sort": { + "tag": "ValueId" + } + }, + "121-64-75": { + "description": "IE", + "internalId": "92", + "sort": { + "tag": "ValueId" + } + }, + "121-77-87": { + "description": "IE", + "internalId": "93", + "sort": { + "tag": "ValueId" + } + }, + "121-8-22": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Types.Name", + "name": "GHC.Types.Name", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "122-23-25": { + "description": "IE", + "internalId": "94", + "sort": { + "tag": "ValueId" + } + }, + "122-26-30": { + "description": "IE", + "internalId": "11", + "sort": { + "tag": "ValueId" + } + }, + "122-8-15": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Prelude", + "name": "Prelude", + "packageId": { + "name": "base", + "version": "4.20.1.0" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "123-30-42": { + "description": "IE", + "internalId": "95", + "sort": { + "tag": "TypeId" + } + }, + "123-8-29": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Types.Name.Reader", + "name": "GHC.Types.Name.Reader", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "124-26-39": { + "description": "IE", + "internalId": "96", + "sort": { + "tag": "ValueId" + } + }, + "124-41-52": { + "description": "IE", + "internalId": "16", + "sort": { + "tag": "TypeId" + } + }, + "124-58-74": { + "description": "IE", + "internalId": "17", + "sort": { + "tag": "ValueId" + } + }, + "124-76-91": { + "description": "IE", + "internalId": "18", + "sort": { + "tag": "ValueId" + } + }, + "124-8-24": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Types.SrcLoc", + "name": "GHC.Types.SrcLoc", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "125-22-41": { + "description": "IE", + "internalId": "97", + "sort": { + "tag": "ValueId" + } + }, + "125-43-55": { + "description": "IE", + "internalId": "98", + "sort": { + "tag": "ValueId" + } + }, + "125-57-68": { + "description": "IE", + "internalId": "99", + "sort": { + "tag": "ValueId" + } + }, + "125-70-82": { + "description": "IE", + "internalId": "100", + "sort": { + "tag": "ValueId" + } + }, + "125-8-20": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Tc.Types", + "name": "GHC.Tc.Types", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "126-18-34": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Text.Blaze.Html5", + "name": "Text.Blaze.Html5", + "packageId": { + "name": "blaze-html", + "version": "0.9.2.0" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "127-18-45": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Text.Blaze.Html5.Attributes", + "name": "Text.Blaze.Html5.Attributes", + "packageId": { + "name": "blaze-html", + "version": "0.9.2.0" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "128-26-32": { + "description": "IE", + "internalId": "101", + "sort": { + "tag": "ValueId" + } + }, + "128-8-24": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Types.Unique", + "name": "GHC.Types.Unique", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "129-23-30": { + "description": "IE", + "internalId": "102", + "sort": { + "tag": "ValueId" + } + }, + "129-32-39": { + "description": "IE", + "internalId": "103", + "sort": { + "tag": "ValueId" + } + }, + "129-40-42": { + "description": "IE", + "internalId": "104", + "sort": { + "tag": "TypeId" + } + }, + "129-8-21": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Types.Var", + "name": "GHC.Types.Var", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "130-27-39": { + "description": "IE", + "internalId": "105", + "sort": { + "tag": "ValueId" + } + }, + "130-8-25": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Types.Var.Env", + "name": "GHC.Types.Var.Env", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "132-6-24": { + "description": "SynDecl", + "internalId": "1", + "isBinder": true, + "sort": { + "tag": "TypeId" + } + }, + "133-19-38": { + "description": "HsTyVar", + "internalId": "107", + "sort": { + "tag": "TypeId" + } + }, + "133-39-60": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "133-8-18": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "134-19-40": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "134-41-62": { + "description": "HsTyVar", + "internalId": "109", + "sort": { + "tag": "TypeId" + } + }, + "134-8-18": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "135-19-40": { + "description": "HsTyVar", + "internalId": "110", + "sort": { + "tag": "TypeId" + } + }, + "135-42-52": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "135-53-68": { + "description": "HsTyVar", + "internalId": "111", + "sort": { + "tag": "TypeId" + } + }, + "135-69-90": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "135-8-18": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "137-6-19": { + "description": "SynDecl", + "internalId": "112", + "isBinder": true, + "sort": { + "tag": "TypeId" + } + }, + "138-8-16": { + "description": "HsTyVar", + "internalId": "28", + "sort": { + "tag": "TypeId" + } + }, + "139-8-25": { + "description": "HsTyVar", + "internalId": "39", + "sort": { + "tag": "TypeId" + } + }, + "14-5-21": { + "description": "IE", + "internalId": "0", + "sort": { + "tag": "ValueId" + } + }, + "140-8-24": { + "description": "HsTyVar", + "internalId": "78", + "sort": { + "tag": "TypeId" + } + }, + "141-8-28": { + "description": "HsTyVar", + "internalId": "75", + "sort": { + "tag": "TypeId" + } + }, + "142-8-18": { + "description": "HsTyVar", + "internalId": "32", + "sort": { + "tag": "TypeId" + } + }, + "144-1-17": { + "description": "TypeSig", + "internalId": "0", + "sort": { + "tag": "ValueId" + } + }, + "145-3-21": { + "description": "HsTyVar", + "internalId": "1", + "sort": { + "tag": "TypeId" + } + }, + "146-6-19": { + "description": "HsTyVar", + "internalId": "112", + "sort": { + "tag": "TypeId" + } + }, + "147-6-27": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "148-6-19": { + "description": "HsTyVar", + "internalId": "113", + "sort": { + "tag": "TypeId" + } + }, + "149-6-21": { + "description": "HsTyVar", + "internalId": "111", + "sort": { + "tag": "TypeId" + } + }, + "15-5-23": { + "description": "IE", + "internalId": "1", + "sort": { + "tag": "TypeId" + } + }, + "150-15-42": { + "description": "HsTyVar", + "internalId": "115", + "sort": { + "tag": "TypeId" + } + }, + "150-7-13": { + "description": "HsTyVar", + "internalId": "114", + "sort": { + "tag": "TypeId" + } + }, + "151-6-12": { + "description": "HsTyVar", + "internalId": "22", + "sort": { + "tag": "TypeId" + } + }, + "152-23-41": { + "description": "HsTyVar", + "internalId": "1", + "sort": { + "tag": "TypeId" + } + }, + "152-44-53": { + "description": "HsTyVar", + "internalId": "117", + "sort": { + "tag": "TypeId" + } + }, + "152-7-21": { + "description": "HsTyVar", + "internalId": "116", + "sort": { + "tag": "TypeId" + } + }, + "153-1-17": { + "description": "Match", + "internalId": "0", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "154-34-35": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "154-36-39": { + "description": "HsVar", + "internalId": "120", + "sort": { + "tag": "ValueId" + } + }, + "154-40-41": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "154-56-57": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "154-58-75": { + "description": "HsVar", + "internalId": "122", + "sort": { + "tag": "ValueId" + } + }, + "154-7-19": { + "description": "Match", + "internalId": "118", + "sort": { + "tag": "ValueId" + } + }, + "155-17-27": { + "description": "HsVar", + "internalId": "44", + "sort": { + "tag": "ValueId" + } + }, + "155-28-45": { + "description": "HsVar", + "internalId": "122", + "sort": { + "tag": "ValueId" + } + }, + "155-7-14": { + "description": "Match", + "internalId": "123", + "sort": { + "tag": "ValueId" + } + }, + "156-38-51": { + "description": "HsVar", + "internalId": "48", + "sort": { + "tag": "ValueId" + } + }, + "156-52-69": { + "description": "HsVar", + "internalId": "122", + "sort": { + "tag": "ValueId" + } + }, + "157-26-36": { + "description": "HsVar", + "internalId": "125", + "sort": { + "tag": "ValueId" + } + }, + "157-37-38": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "157-39-66": { + "description": "HsVar", + "internalId": "42", + "sort": { + "tag": "ValueId" + } + }, + "157-67-74": { + "description": "HsVar", + "internalId": "123", + "sort": { + "tag": "ValueId" + } + }, + "157-7-23": { + "description": "Match", + "internalId": "124", + "sort": { + "tag": "ValueId" + } + }, + "162-9-26": { + "description": "HsVar", + "internalId": "126", + "sort": { + "tag": "ValueId" + } + }, + "163-11-34": { + "description": "HsVar", + "internalId": "128", + "sort": { + "tag": "ValueId" + } + }, + "164-11-29": { + "description": "HsVar", + "internalId": "129", + "sort": { + "tag": "ValueId" + } + }, + "165-11-17": { + "description": "HsVar", + "internalId": "130", + "sort": { + "tag": "ValueId" + } + }, + "166-11-21": { + "description": "HsVar", + "internalId": "131", + "sort": { + "tag": "ValueId" + } + }, + "167-23-30": { + "description": "HsVar", + "internalId": "133", + "sort": { + "tag": "ValueId" + } + }, + "167-31-32": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "167-47-61": { + "description": "HsVar", + "internalId": "134", + "sort": { + "tag": "ValueId" + } + }, + "167-7-20": { + "description": "Match", + "internalId": "132", + "sort": { + "tag": "ValueId" + } + }, + "171-37-54": { + "description": "HsVar", + "internalId": "122", + "sort": { + "tag": "ValueId" + } + }, + "172-31-42": { + "description": "HsVar", + "internalId": "83", + "sort": { + "tag": "ValueId" + } + }, + "172-43-44": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "172-58-66": { + "description": "HsVar", + "internalId": "136", + "sort": { + "tag": "ValueId" + } + }, + "172-7-28": { + "description": "Match", + "internalId": "135", + "sort": { + "tag": "ValueId" + } + }, + "173-7-26": { + "description": "Match", + "internalId": "137", + "sort": { + "tag": "ValueId" + } + }, + "174-20-31": { + "description": "HsVar", + "internalId": "83", + "sort": { + "tag": "ValueId" + } + }, + "174-32-33": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "174-43-44": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "174-57-58": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "174-9-18": { + "description": "HsVar", + "internalId": "138", + "sort": { + "tag": "ValueId" + } + }, + "175-18-34": { + "description": "HsVar", + "internalId": "139", + "sort": { + "tag": "ValueId" + } + }, + "175-9-17": { + "description": "HsVar", + "internalId": "24", + "sort": { + "tag": "ValueId" + } + }, + "176-34-45": { + "description": "HsVar", + "internalId": "83", + "sort": { + "tag": "ValueId" + } + }, + "176-46-47": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "176-56-76": { + "description": "HsVar", + "internalId": "141", + "sort": { + "tag": "ValueId" + } + }, + "176-7-31": { + "description": "Match", + "internalId": "140", + "sort": { + "tag": "ValueId" + } + }, + "177-7-14": { + "description": "Match", + "internalId": "142", + "sort": { + "tag": "ValueId" + } + }, + "178-9-18": { + "description": "HsVar", + "internalId": "82", + "sort": { + "tag": "ValueId" + } + }, + "179-12-33": { + "description": "HsVar", + "internalId": "135", + "sort": { + "tag": "ValueId" + } + }, + "179-34-36": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "18-18-45": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Generics.Uniplate.Data", + "name": "Data.Generics.Uniplate.Data", + "packageId": { + "name": "uniplate", + "version": "1.6.13" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "180-12-31": { + "description": "HsVar", + "internalId": "137", + "sort": { + "tag": "ValueId" + } + }, + "180-32-34": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "180-35-59": { + "description": "HsVar", + "internalId": "140", + "sort": { + "tag": "ValueId" + } + }, + "184-7-20": { + "description": "Match", + "internalId": "144", + "sort": { + "tag": "ValueId" + } + }, + "185-9-17": { + "description": "HsVar", + "internalId": "13", + "sort": { + "tag": "ValueId" + } + }, + "188-18-32": { + "description": "HsVar", + "internalId": "53", + "sort": { + "tag": "ValueId" + } + }, + "188-33-35": { + "description": "HsVar", + "internalId": "145", + "sort": { + "tag": "ValueId" + } + }, + "188-39-43": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "188-44-45": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "188-56-58": { + "description": "HsVar", + "internalId": "145", + "sort": { + "tag": "ValueId" + } + }, + "189-19-26": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "19-24-33": { + "description": "IE", + "internalId": "2", + "sort": { + "tag": "TypeId" + } + }, + "19-8-22": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Unit.State", + "name": "GHC.Unit.State", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "190-11-32": { + "description": "HsVar", + "internalId": "135", + "sort": { + "tag": "ValueId" + } + }, + "192-9-32": { + "description": "HsVar", + "internalId": "150", + "sort": { + "tag": "ValueId" + } + }, + "193-11-20": { + "description": "HsVar", + "internalId": "152", + "sort": { + "tag": "ValueId" + } + }, + "194-11-16": { + "description": "HsVar", + "internalId": "153", + "sort": { + "tag": "ValueId" + } + }, + "195-11-27": { + "description": "HsVar", + "internalId": "154", + "sort": { + "tag": "ValueId" + } + }, + "196-11-17": { + "description": "HsVar", + "internalId": "155", + "sort": { + "tag": "ValueId" + } + }, + "197-11-21": { + "description": "HsVar", + "internalId": "156", + "sort": { + "tag": "ValueId" + } + }, + "198-11-18": { + "description": "HsVar", + "internalId": "157", + "sort": { + "tag": "ValueId" + } + }, + "199-11-23": { + "description": "HsVar", + "internalId": "118", + "sort": { + "tag": "ValueId" + } + }, + "20-36-45": { + "description": "IE", + "internalId": "3", + "sort": { + "tag": "ValueId" + } + }, + "20-46-55": { + "description": "IE", + "internalId": "4", + "sort": { + "tag": "ValueId" + } + }, + "20-56-59": { + "description": "IE", + "internalId": "5", + "sort": { + "tag": "ValueId" + } + }, + "20-60-63": { + "description": "IE", + "internalId": "6", + "sort": { + "tag": "ValueId" + } + }, + "20-64-69": { + "description": "IE", + "internalId": "7", + "sort": { + "tag": "TypeId" + } + }, + "20-8-34": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Control.Monad.State.Strict", + "name": "Control.Monad.State.Strict", + "packageId": { + "name": "mtl", + "version": "2.3.1" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "200-11-25": { + "description": "HsVar", + "internalId": "134", + "sort": { + "tag": "ValueId" + } + }, + "201-11-18": { + "description": "HsVar", + "internalId": "123", + "sort": { + "tag": "ValueId" + } + }, + "202-11-24": { + "description": "HsVar", + "internalId": "144", + "sort": { + "tag": "ValueId" + } + }, + "203-11-18": { + "description": "HsVar", + "internalId": "158", + "sort": { + "tag": "ValueId" + } + }, + "207-34-42": { + "description": "HsVar", + "internalId": "136", + "sort": { + "tag": "ValueId" + } + }, + "207-7-18": { + "description": "Match", + "internalId": "159", + "sort": { + "tag": "ValueId" + } + }, + "208-26-45": { + "description": "HsVar", + "internalId": "97", + "sort": { + "tag": "ValueId" + } + }, + "208-46-54": { + "description": "HsVar", + "internalId": "136", + "sort": { + "tag": "ValueId" + } + }, + "208-7-23": { + "description": "Match", + "internalId": "160", + "sort": { + "tag": "ValueId" + } + }, + "209-37-57": { + "description": "HsVar", + "internalId": "141", + "sort": { + "tag": "ValueId" + } + }, + "209-7-21": { + "description": "Match", + "internalId": "161", + "sort": { + "tag": "ValueId" + } + }, + "21-18-28": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Aeson", + "name": "Data.Aeson", + "packageId": { + "name": "aeson", + "version": "2.2.3.0" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "210-17-25": { + "description": "HsVar", + "internalId": "163", + "sort": { + "tag": "ValueId" + } + }, + "210-26-40": { + "description": "HsVar", + "internalId": "161", + "sort": { + "tag": "ValueId" + } + }, + "210-41-52": { + "description": "HsVar", + "internalId": "159", + "sort": { + "tag": "ValueId" + } + }, + "210-53-69": { + "description": "HsVar", + "internalId": "160", + "sort": { + "tag": "ValueId" + } + }, + "210-7-14": { + "description": "Match", + "internalId": "162", + "sort": { + "tag": "ValueId" + } + }, + "212-7-19": { + "description": "Match", + "internalId": "165", + "sort": { + "tag": "ValueId" + } + }, + "213-28-33": { + "description": "HsVar", + "internalId": "153", + "sort": { + "tag": "ValueId" + } + }, + "213-34-41": { + "description": "HsVar", + "internalId": "158", + "sort": { + "tag": "ValueId" + } + }, + "213-42-49": { + "description": "HsVar", + "internalId": "142", + "sort": { + "tag": "ValueId" + } + }, + "213-50-66": { + "description": "HsVar", + "internalId": "124", + "sort": { + "tag": "ValueId" + } + }, + "213-67-81": { + "description": "HsVar", + "internalId": "134", + "sort": { + "tag": "ValueId" + } + }, + "213-9-27": { + "description": "HsVar", + "internalId": "166", + "sort": { + "tag": "ValueId" + } + }, + "214-19-27": { + "description": "HsVar", + "internalId": "23", + "sort": { + "tag": "ValueId" + } + }, + "214-42-48": { + "description": "HsVar", + "internalId": "168", + "sort": { + "tag": "ValueId" + } + }, + "214-7-16": { + "description": "Match", + "internalId": "152", + "sort": { + "tag": "ValueId" + } + }, + "215-7-18": { + "description": "Match", + "internalId": "169", + "sort": { + "tag": "ValueId" + } + }, + "216-9-20": { + "description": "RecordCon", + "internalId": "170", + "sort": { + "tag": "ValueId" + } + }, + "217-13-24": { + "description": "FieldOcc", + "internalId": "172", + "sort": { + "tag": "ValueId" + } + }, + "217-27-32": { + "description": "HsVar", + "internalId": "153", + "sort": { + "tag": "ValueId" + } + }, + "218-13-23": { + "description": "FieldOcc", + "internalId": "173", + "sort": { + "tag": "ValueId" + } + }, + "218-26-33": { + "description": "HsVar", + "internalId": "162", + "sort": { + "tag": "ValueId" + } + }, + "219-13-23": { + "description": "FieldOcc", + "internalId": "174", + "sort": { + "tag": "ValueId" + } + }, + "219-26-33": { + "description": "HsVar", + "internalId": "142", + "sort": { + "tag": "ValueId" + } + }, + "22-24-40": { + "description": "IE", + "internalId": "8", + "sort": { + "tag": "ValueId" + } + }, + "22-8-23": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Aeson.Text", + "name": "Data.Aeson.Text", + "packageId": { + "name": "aeson", + "version": "2.2.3.0" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "220-13-30": { + "description": "FieldOcc", + "internalId": "175", + "sort": { + "tag": "ValueId" + } + }, + "220-33-47": { + "description": "HsVar", + "internalId": "134", + "sort": { + "tag": "ValueId" + } + }, + "221-13-37": { + "description": "FieldOcc", + "internalId": "176", + "sort": { + "tag": "ValueId" + } + }, + "221-40-48": { + "description": "HsVar", + "internalId": "177", + "sort": { + "tag": "ValueId" + } + }, + "222-13-23": { + "description": "FieldOcc", + "internalId": "178", + "sort": { + "tag": "ValueId" + } + }, + "222-26-33": { + "description": "HsVar", + "internalId": "157", + "sort": { + "tag": "ValueId" + } + }, + "223-13-26": { + "description": "FieldOcc", + "internalId": "179", + "sort": { + "tag": "ValueId" + } + }, + "223-29-39": { + "description": "HsVar", + "internalId": "156", + "sort": { + "tag": "ValueId" + } + }, + "224-13-29": { + "description": "FieldOcc", + "internalId": "180", + "sort": { + "tag": "ValueId" + } + }, + "224-32-45": { + "description": "HsVar", + "internalId": "181", + "sort": { + "tag": "ValueId" + } + }, + "225-13-25": { + "description": "FieldOcc", + "internalId": "182", + "sort": { + "tag": "ValueId" + } + }, + "225-28-44": { + "description": "HsVar", + "internalId": "154", + "sort": { + "tag": "ValueId" + } + }, + "226-13-27": { + "description": "FieldOcc", + "internalId": "183", + "sort": { + "tag": "ValueId" + } + }, + "226-30-36": { + "description": "HsVar", + "internalId": "155", + "sort": { + "tag": "ValueId" + } + }, + "227-13-29": { + "description": "FieldOcc", + "internalId": "184", + "sort": { + "tag": "ValueId" + } + }, + "227-32-48": { + "description": "HsVar", + "internalId": "124", + "sort": { + "tag": "ValueId" + } + }, + "228-13-25": { + "description": "FieldOcc", + "internalId": "185", + "sort": { + "tag": "ValueId" + } + }, + "228-28-37": { + "description": "HsVar", + "internalId": "152", + "sort": { + "tag": "ValueId" + } + }, + "23-18-29": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Vector", + "name": "Data.Vector", + "packageId": { + "name": "vector", + "version": "0.13.2.0" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "230-7-18": { + "description": "Match", + "internalId": "186", + "sort": { + "tag": "ValueId" + } + }, + "231-9-17": { + "description": "HsVar", + "internalId": "187", + "sort": { + "tag": "ValueId" + } + }, + "233-14-19": { + "description": "HsVar", + "internalId": "188", + "sort": { + "tag": "ValueId" + } + }, + "234-16-19": { + "description": "HsVar", + "internalId": "189", + "sort": { + "tag": "ValueId" + } + }, + "235-101-104": { + "description": "HsVar", + "internalId": "189", + "sort": { + "tag": "ValueId" + } + }, + "235-25-51": { + "description": "HsVar", + "internalId": "190", + "sort": { + "tag": "ValueId" + } + }, + "235-52-53": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "235-54-70": { + "description": "HsVar", + "internalId": "192", + "sort": { + "tag": "ValueId" + } + }, + "235-71-82": { + "description": "HsVar", + "internalId": "169", + "sort": { + "tag": "ValueId" + } + }, + "235-83-85": { + "description": "HsVar", + "internalId": "193", + "sort": { + "tag": "ValueId" + } + }, + "235-87-91": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "235-92-96": { + "description": "HsVar", + "internalId": "194", + "sort": { + "tag": "ValueId" + } + }, + "235-99-100": { + "description": "HsVar", + "internalId": "195", + "sort": { + "tag": "ValueId" + } + }, + "236-17-34": { + "description": "HsVar", + "internalId": "197", + "sort": { + "tag": "ValueId" + } + }, + "236-35-42": { + "description": "HsVar", + "internalId": "142", + "sort": { + "tag": "ValueId" + } + }, + "236-43-47": { + "description": "HsVar", + "internalId": "194", + "sort": { + "tag": "ValueId" + } + }, + "237-11-13": { + "description": "HsVar", + "internalId": "198", + "sort": { + "tag": "ValueId" + } + }, + "238-11-19": { + "description": "HsVar", + "internalId": "200", + "sort": { + "tag": "ValueId" + } + }, + "239-7-24": { + "description": "Match", + "internalId": "201", + "sort": { + "tag": "ValueId" + } + }, + "24-18-37": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.HashMap.Strict", + "name": "Data.HashMap.Strict", + "packageId": { + "name": "unordered-containers", + "version": "0.2.20" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "240-31-32": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "240-33-39": { + "description": "HsVar", + "internalId": "204", + "sort": { + "tag": "ValueId" + } + }, + "240-9-30": { + "description": "HsVar", + "internalId": "202", + "sort": { + "tag": "ValueId" + } + }, + "241-11-27": { + "description": "HsVar", + "internalId": "45", + "sort": { + "tag": "ValueId" + } + }, + "241-28-29": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "241-41-42": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "241-9-10": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "242-11-17": { + "description": "HsVar", + "internalId": "130", + "sort": { + "tag": "ValueId" + } + }, + "242-9-10": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "248-19-21": { + "description": "FieldOcc", + "internalId": "205", + "sort": { + "tag": "ValueId" + } + }, + "248-25-32": { + "description": "HsVar", + "internalId": "206", + "sort": { + "tag": "ValueId" + } + }, + "248-33-42": { + "description": "HsVar", + "internalId": "152", + "sort": { + "tag": "ValueId" + } + }, + "248-43-54": { + "description": "HsVar", + "internalId": "169", + "sort": { + "tag": "ValueId" + } + }, + "248-55-72": { + "description": "HsVar", + "internalId": "122", + "sort": { + "tag": "ValueId" + } + }, + "249-24-38": { + "description": "RecordCon", + "internalId": "210", + "sort": { + "tag": "ValueId" + } + }, + "249-8-23": { + "description": "HsVar", + "internalId": "208", + "sort": { + "tag": "ValueId" + } + }, + "25-18-33": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Map.Strict", + "name": "Data.Map.Strict", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "250-13-15": { + "description": "FieldOcc", + "internalId": "212", + "sort": { + "tag": "ValueId" + } + }, + "250-18-28": { + "description": "HsVar", + "internalId": "131", + "sort": { + "tag": "ValueId" + } + }, + "251-13-27": { + "description": "FieldOcc", + "internalId": "213", + "sort": { + "tag": "ValueId" + } + }, + "251-30-44": { + "description": "HsVar", + "internalId": "134", + "sort": { + "tag": "ValueId" + } + }, + "252-13-17": { + "description": "FieldOcc", + "internalId": "214", + "sort": { + "tag": "ValueId" + } + }, + "252-20-37": { + "description": "HsVar", + "internalId": "201", + "sort": { + "tag": "ValueId" + } + }, + "253-13-25": { + "description": "FieldOcc", + "internalId": "215", + "sort": { + "tag": "ValueId" + } + }, + "253-28-40": { + "description": "HsVar", + "internalId": "165", + "sort": { + "tag": "ValueId" + } + }, + "254-13-24": { + "description": "FieldOcc", + "internalId": "216", + "sort": { + "tag": "ValueId" + } + }, + "254-27-44": { + "description": "HsVar", + "internalId": "217", + "sort": { + "tag": "ValueId" + } + }, + "255-13-22": { + "description": "FieldOcc", + "internalId": "218", + "sort": { + "tag": "ValueId" + } + }, + "255-25-40": { + "description": "HsVar", + "internalId": "219", + "sort": { + "tag": "ValueId" + } + }, + "256-13-21": { + "description": "FieldOcc", + "internalId": "220", + "sort": { + "tag": "ValueId" + } + }, + "256-24-42": { + "description": "HsVar", + "internalId": "221", + "sort": { + "tag": "ValueId" + } + }, + "257-13-30": { + "description": "FieldOcc", + "internalId": "222", + "sort": { + "tag": "ValueId" + } + }, + "257-33-41": { + "description": "HsVar", + "internalId": "177", + "sort": { + "tag": "ValueId" + } + }, + "258-13-19": { + "description": "FieldOcc", + "internalId": "223", + "sort": { + "tag": "ValueId" + } + }, + "258-22-32": { + "description": "HsVar", + "internalId": "224", + "sort": { + "tag": "ValueId" + } + }, + "258-33-34": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "258-35-44": { + "description": "HsVar", + "internalId": "225", + "sort": { + "tag": "ValueId" + } + }, + "258-50-51": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "258-52-63": { + "description": "HsVar", + "internalId": "226", + "sort": { + "tag": "ValueId" + } + }, + "259-13-24": { + "description": "FieldOcc", + "internalId": "227", + "sort": { + "tag": "ValueId" + } + }, + "259-27-38": { + "description": "HsVar", + "internalId": "186", + "sort": { + "tag": "ValueId" + } + }, + "26-18-36": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.IntMap.Strict", + "name": "Data.IntMap.Strict", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "261-12-15": { + "description": "HsVar", + "internalId": "228", + "sort": { + "tag": "ValueId" + } + }, + "261-16-17": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "261-18-26": { + "description": "HsVar", + "internalId": "229", + "sort": { + "tag": "ValueId" + } + }, + "261-27-37": { + "description": "HsVar", + "internalId": "131", + "sort": { + "tag": "ValueId" + } + }, + "262-18-26": { + "description": "HsVar", + "internalId": "230", + "sort": { + "tag": "ValueId" + } + }, + "263-21-32": { + "description": "HsVar", + "internalId": "231", + "sort": { + "tag": "ValueId" + } + }, + "263-33-34": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "264-24-43": { + "description": "HsVar", + "internalId": "232", + "sort": { + "tag": "ValueId" + } + }, + "264-44-45": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "264-71-81": { + "description": "HsVar", + "internalId": "131", + "sort": { + "tag": "ValueId" + } + }, + "265-24-34": { + "description": "HsVar", + "internalId": "131", + "sort": { + "tag": "ValueId" + } + }, + "265-36-37": { + "description": "HsVar", + "internalId": "195", + "sort": { + "tag": "ValueId" + } + }, + "265-39-40": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "266-21-24": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "266-28-38": { + "description": "HsVar", + "internalId": "131", + "sort": { + "tag": "ValueId" + } + }, + "266-40-41": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "267-21-34": { + "description": "HsVar", + "internalId": "132", + "sort": { + "tag": "ValueId" + } + }, + "268-20-27": { + "description": "HsVar", + "internalId": "157", + "sort": { + "tag": "ValueId" + } + }, + "269-18-26": { + "description": "HsVar", + "internalId": "230", + "sort": { + "tag": "ValueId" + } + }, + "269-28-40": { + "description": "HsVar", + "internalId": "235", + "sort": { + "tag": "ValueId" + } + }, + "269-41-51": { + "description": "HsVar", + "internalId": "131", + "sort": { + "tag": "ValueId" + } + }, + "269-52-60": { + "description": "HsVar", + "internalId": "177", + "sort": { + "tag": "ValueId" + } + }, + "269-62-72": { + "description": "HsVar", + "internalId": "156", + "sort": { + "tag": "ValueId" + } + }, + "27-18-41": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.IntervalMap.Strict", + "name": "Data.IntervalMap.Strict", + "packageId": { + "name": "IntervalMap", + "version": "0.6.2.1" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "270-18-31": { + "description": "HsVar", + "internalId": "236", + "sort": { + "tag": "ValueId" + } + }, + "270-32-40": { + "description": "HsVar", + "internalId": "230", + "sort": { + "tag": "ValueId" + } + }, + "270-41-58": { + "description": "HsVar", + "internalId": "201", + "sort": { + "tag": "ValueId" + } + }, + "271-21-33": { + "description": "HsVar", + "internalId": "235", + "sort": { + "tag": "ValueId" + } + }, + "271-34-40": { + "description": "HsVar", + "internalId": "155", + "sort": { + "tag": "ValueId" + } + }, + "271-41-51": { + "description": "HsVar", + "internalId": "131", + "sort": { + "tag": "ValueId" + } + }, + "271-53-66": { + "description": "HsVar", + "internalId": "181", + "sort": { + "tag": "ValueId" + } + }, + "272-17-24": { + "description": "HsVar", + "internalId": "157", + "sort": { + "tag": "ValueId" + } + }, + "272-26-36": { + "description": "HsVar", + "internalId": "156", + "sort": { + "tag": "ValueId" + } + }, + "272-38-51": { + "description": "HsVar", + "internalId": "181", + "sort": { + "tag": "ValueId" + } + }, + "273-10-30": { + "description": "HsVar", + "internalId": "237", + "sort": { + "tag": "ValueId" + } + }, + "275-19-29": { + "description": "ConDeclH98", + "internalId": "239", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "275-6-16": { + "description": "DataDecl", + "internalId": "238", + "isBinder": true, + "sort": { + "tag": "TypeId" + } + }, + "276-26-47": { + "description": "HsTyVar", + "internalId": "241", + "sort": { + "tag": "TypeId" + } + }, + "276-5-22": { + "description": "FieldOcc", + "internalId": "205", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "277-24-45": { + "description": "HsTyVar", + "internalId": "243", + "sort": { + "tag": "TypeId" + } + }, + "277-5-20": { + "description": "FieldOcc", + "internalId": "242", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "278-27-54": { + "description": "HsTyVar", + "internalId": "245", + "sort": { + "tag": "TypeId" + } + }, + "278-5-23": { + "description": "FieldOcc", + "internalId": "244", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "279-30-39": { + "description": "HsTyVar", + "internalId": "117", + "sort": { + "tag": "TypeId" + } + }, + "279-5-25": { + "description": "FieldOcc", + "internalId": "246", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "28-18-30": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Hs.Binds", + "name": "GHC.Hs.Binds", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "28-32-40": { + "description": "IE", + "internalId": "9", + "sort": { + "tag": "TypeId" + } + }, + "28-42-51": { + "description": "IE", + "internalId": "10", + "sort": { + "tag": "TypeId" + } + }, + "280-15-19": { + "description": "HsTyVar", + "internalId": "247", + "sort": { + "tag": "TypeId" + } + }, + "280-21-23": { + "description": "HsTyVar", + "internalId": "248", + "sort": { + "tag": "TypeId" + } + }, + "282-1-16": { + "description": "TypeSig", + "internalId": "208", + "sort": { + "tag": "ValueId" + } + }, + "282-20-34": { + "description": "HsTyVar", + "internalId": "116", + "sort": { + "tag": "TypeId" + } + }, + "282-38-52": { + "description": "HsTyVar", + "internalId": "116", + "sort": { + "tag": "TypeId" + } + }, + "283-1-16": { + "description": "Match", + "internalId": "208", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "283-27-36": { + "description": "HsVar", + "internalId": "4", + "sort": { + "tag": "ValueId" + } + }, + "283-38-52": { + "description": "HsVar", + "internalId": "249", + "sort": { + "tag": "ValueId" + } + }, + "283-53-57": { + "description": "HsVar", + "internalId": "250", + "sort": { + "tag": "ValueId" + } + }, + "283-58-65": { + "description": "HsVar", + "internalId": "251", + "sort": { + "tag": "ValueId" + } + }, + "283-68-76": { + "description": "HsVar", + "internalId": "252", + "sort": { + "tag": "ValueId" + } + }, + "285-5-9": { + "description": "TypeSig", + "internalId": "250", + "sort": { + "tag": "ValueId" + } + }, + "286-10-24": { + "description": "HsTyVar", + "internalId": "253", + "sort": { + "tag": "TypeId" + } + }, + "286-28-33": { + "description": "HsTyVar", + "internalId": "7", + "sort": { + "tag": "TypeId" + } + }, + "286-35-45": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "286-46-52": { + "description": "HsTyVar", + "internalId": "114", + "sort": { + "tag": "TypeId" + } + }, + "286-53-59": { + "description": "HsTyVar", + "internalId": "114", + "sort": { + "tag": "TypeId" + } + }, + "286-61-64": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "286-66-80": { + "description": "HsTyVar", + "internalId": "253", + "sort": { + "tag": "TypeId" + } + }, + "287-5-9": { + "description": "Match", + "internalId": "250", + "sort": { + "tag": "ValueId" + } + }, + "288-25-28": { + "description": "HsVar", + "internalId": "5", + "sort": { + "tag": "ValueId" + } + }, + "289-12-21": { + "description": "HsVar", + "internalId": "255", + "sort": { + "tag": "ValueId" + } + }, + "289-22-26": { + "description": "HsVar", + "internalId": "256", + "sort": { + "tag": "ValueId" + } + }, + "289-27-31": { + "description": "HsVar", + "internalId": "257", + "sort": { + "tag": "ValueId" + } + }, + "29-18-27": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.List", + "name": "Data.List", + "packageId": { + "name": "base", + "version": "4.20.1.0" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "29-41-45": { + "description": "IE", + "internalId": "11", + "sort": { + "tag": "ValueId" + } + }, + "290-21-27": { + "description": "HsVar", + "internalId": "258", + "sort": { + "tag": "ValueId" + } + }, + "290-28-29": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "290-30-44": { + "description": "HsVar", + "internalId": "259", + "sort": { + "tag": "ValueId" + } + }, + "290-45-48": { + "description": "HsVar", + "internalId": "261", + "sort": { + "tag": "ValueId" + } + }, + "292-15-29": { + "description": "Match", + "internalId": "262", + "sort": { + "tag": "ValueId" + } + }, + "292-32-38": { + "description": "HsVar", + "internalId": "204", + "sort": { + "tag": "ValueId" + } + }, + "292-39-40": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "292-41-45": { + "description": "HsVar", + "internalId": "263", + "sort": { + "tag": "ValueId" + } + }, + "292-46-47": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "292-48-54": { + "description": "HsVar", + "internalId": "264", + "sort": { + "tag": "ValueId" + } + }, + "293-11-14": { + "description": "HsVar", + "internalId": "6", + "sort": { + "tag": "ValueId" + } + }, + "293-16-25": { + "description": "HsVar", + "internalId": "265", + "sort": { + "tag": "ValueId" + } + }, + "293-26-30": { + "description": "HsVar", + "internalId": "256", + "sort": { + "tag": "ValueId" + } + }, + "293-31-45": { + "description": "HsVar", + "internalId": "262", + "sort": { + "tag": "ValueId" + } + }, + "293-46-50": { + "description": "HsVar", + "internalId": "257", + "sort": { + "tag": "ValueId" + } + }, + "293-52-58": { + "description": "HsVar", + "internalId": "264", + "sort": { + "tag": "ValueId" + } + }, + "293-59-60": { + "description": "HsVar", + "internalId": "266", + "sort": { + "tag": "ValueId" + } + }, + "294-11-17": { + "description": "HsVar", + "internalId": "258", + "sort": { + "tag": "ValueId" + } + }, + "294-18-19": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "294-20-34": { + "description": "HsVar", + "internalId": "259", + "sort": { + "tag": "ValueId" + } + }, + "294-35-49": { + "description": "HsVar", + "internalId": "262", + "sort": { + "tag": "ValueId" + } + }, + "296-1-18": { + "description": "TypeSig", + "internalId": "126", + "sort": { + "tag": "ValueId" + } + }, + "297-6-33": { + "description": "HsTyVar", + "internalId": "115", + "sort": { + "tag": "TypeId" + } + }, + "298-6-12": { + "description": "HsTyVar", + "internalId": "114", + "sort": { + "tag": "TypeId" + } + }, + "299-6-16": { + "description": "HsTyVar", + "internalId": "32", + "sort": { + "tag": "TypeId" + } + }, + "30-20-29": { + "description": "IE", + "internalId": "12", + "sort": { + "tag": "ValueId" + } + }, + "30-31-39": { + "description": "IE", + "internalId": "13", + "sort": { + "tag": "ValueId" + } + }, + "30-8-18": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Maybe", + "name": "Data.Maybe", + "packageId": { + "name": "base", + "version": "4.20.1.0" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "300-6-27": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "301-37-43": { + "description": "HsTyVar", + "internalId": "114", + "sort": { + "tag": "TypeId" + } + }, + "301-7-35": { + "description": "HsTyVar", + "internalId": "267", + "sort": { + "tag": "TypeId" + } + }, + "302-1-18": { + "description": "Match", + "internalId": "126", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "303-7-35": { + "description": "Match", + "internalId": "268", + "sort": { + "tag": "ValueId" + } + }, + "304-14-28": { + "description": "HsVar", + "internalId": "269", + "sort": { + "tag": "ValueId" + } + }, + "304-29-30": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "305-14-19": { + "description": "HsVar", + "internalId": "188", + "sort": { + "tag": "ValueId" + } + }, + "306-17-22": { + "description": "HsVar", + "internalId": "270", + "sort": { + "tag": "ValueId" + } + }, + "307-16-40": { + "description": "HsVar", + "internalId": "271", + "sort": { + "tag": "ValueId" + } + }, + "308-29-35": { + "description": "HsVar", + "internalId": "272", + "sort": { + "tag": "ValueId" + } + }, + "309-25-34": { + "description": "HsVar", + "internalId": "273", + "sort": { + "tag": "ValueId" + } + }, + "309-51-55": { + "description": "HsVar", + "internalId": "274", + "sort": { + "tag": "ValueId" + } + }, + "31-26-31": { + "description": "IE", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "31-8-24": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Hs.Extension", + "name": "GHC.Hs.Extension", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "311-13-18": { + "description": "HsVar", + "internalId": "270", + "sort": { + "tag": "ValueId" + } + }, + "311-19-20": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "312-30-32": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "312-33-37": { + "description": "HsVar", + "internalId": "263", + "sort": { + "tag": "ValueId" + } + }, + "312-38-41": { + "description": "HsVar", + "internalId": "275", + "sort": { + "tag": "ValueId" + } + }, + "312-42-44": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "312-58-60": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "312-61-65": { + "description": "HsVar", + "internalId": "263", + "sort": { + "tag": "ValueId" + } + }, + "312-66-76": { + "description": "HsVar", + "internalId": "276", + "sort": { + "tag": "ValueId" + } + }, + "313-12-35": { + "description": "HsVar", + "internalId": "277", + "sort": { + "tag": "ValueId" + } + }, + "315-15-30": { + "description": "Match", + "internalId": "278", + "sort": { + "tag": "ValueId" + } + }, + "315-33-42": { + "description": "HsVar", + "internalId": "225", + "sort": { + "tag": "ValueId" + } + }, + "315-48-66": { + "description": "HsVar", + "internalId": "279", + "sort": { + "tag": "ValueId" + } + }, + "316-17-45": { + "description": "HsVar", + "internalId": "280", + "sort": { + "tag": "ValueId" + } + }, + "317-20-26": { + "description": "HsVar", + "internalId": "282", + "sort": { + "tag": "ValueId" + } + }, + "317-27-42": { + "description": "HsVar", + "internalId": "278", + "sort": { + "tag": "ValueId" + } + }, + "318-19-29": { + "description": "HsVar", + "internalId": "276", + "sort": { + "tag": "ValueId" + } + }, + "319-19-26": { + "description": "HsVar", + "internalId": "283", + "sort": { + "tag": "ValueId" + } + }, + "32-8-24": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Types.SrcLoc", + "name": "GHC.Types.SrcLoc", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "320-19-27": { + "description": "HsVar", + "internalId": "252", + "sort": { + "tag": "ValueId" + } + }, + "321-17-35": { + "description": "HsVar", + "internalId": "279", + "sort": { + "tag": "ValueId" + } + }, + "323-11-41": { + "description": "HsVar", + "internalId": "55", + "sort": { + "tag": "ValueId" + } + }, + "324-13-23": { + "description": "HsVar", + "internalId": "276", + "sort": { + "tag": "ValueId" + } + }, + "325-13-31": { + "description": "HsVar", + "internalId": "279", + "sort": { + "tag": "ValueId" + } + }, + "326-13-41": { + "description": "HsVar", + "internalId": "268", + "sort": { + "tag": "ValueId" + } + }, + "328-1-24": { + "description": "TypeSig", + "internalId": "150", + "sort": { + "tag": "ValueId" + } + }, + "329-3-12": { + "description": "HsTyVar", + "internalId": "2", + "sort": { + "tag": "TypeId" + } + }, + "33-5-12": { + "description": "IE", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "330-6-14": { + "description": "HsTyVar", + "internalId": "28", + "sort": { + "tag": "TypeId" + } + }, + "331-6-19": { + "description": "HsTyVar", + "internalId": "113", + "sort": { + "tag": "TypeId" + } + }, + "332-6-21": { + "description": "HsTyVar", + "internalId": "111", + "sort": { + "tag": "TypeId" + } + }, + "333-17-38": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "333-39-60": { + "description": "HsTyVar", + "internalId": "109", + "sort": { + "tag": "TypeId" + } + }, + "333-6-16": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "334-17-36": { + "description": "HsTyVar", + "internalId": "107", + "sort": { + "tag": "TypeId" + } + }, + "334-37-58": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "334-6-16": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "335-6-18": { + "description": "HsTyVar", + "internalId": "95", + "sort": { + "tag": "TypeId" + } + }, + "336-6-34": { + "description": "HsTyVar", + "internalId": "267", + "sort": { + "tag": "TypeId" + } + }, + "337-6-16": { + "description": "HsTyVar", + "internalId": "35", + "sort": { + "tag": "TypeId" + } + }, + "338-7-11": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "339-14-19": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "339-6-13": { + "description": "HsTyVar", + "internalId": "62", + "sort": { + "tag": "TypeId" + } + }, + "34-5-16": { + "description": "IE", + "internalId": "16", + "sort": { + "tag": "TypeId" + } + }, + "340-31-35": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "340-7-28": { + "description": "HsTyVar", + "internalId": "109", + "sort": { + "tag": "TypeId" + } + }, + "341-1-24": { + "description": "Match", + "internalId": "150", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "346-20-27": { + "description": "HsTyVar", + "internalId": "61", + "sort": { + "tag": "TypeId" + } + }, + "346-28-33": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "346-7-15": { + "description": "TypeSig", + "internalId": "284", + "sort": { + "tag": "ValueId" + } + }, + "347-7-15": { + "description": "Match", + "internalId": "284", + "sort": { + "tag": "ValueId" + } + }, + "348-9-17": { + "description": "HsVar", + "internalId": "285", + "sort": { + "tag": "ValueId" + } + }, + "349-23-27": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "349-29-36": { + "description": "HsVar", + "internalId": "34", + "sort": { + "tag": "ValueId" + } + }, + "349-37-38": { + "description": "HsVar", + "internalId": "286", + "sort": { + "tag": "ValueId" + } + }, + "35-5-21": { + "description": "IE", + "internalId": "17", + "sort": { + "tag": "ValueId" + } + }, + "350-39-55": { + "description": "HsVar", + "internalId": "17", + "sort": { + "tag": "ValueId" + } + }, + "350-56-57": { + "description": "HsVar", + "internalId": "287", + "sort": { + "tag": "ValueId" + } + }, + "350-59-74": { + "description": "HsVar", + "internalId": "18", + "sort": { + "tag": "ValueId" + } + }, + "350-75-76": { + "description": "HsVar", + "internalId": "287", + "sort": { + "tag": "ValueId" + } + }, + "351-39-47": { + "description": "HsVar", + "internalId": "288", + "sort": { + "tag": "ValueId" + } + }, + "351-51-54": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "351-56-64": { + "description": "HsVar", + "internalId": "288", + "sort": { + "tag": "ValueId" + } + }, + "351-68-71": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "352-12-19": { + "description": "HsVar", + "internalId": "289", + "sort": { + "tag": "ValueId" + } + }, + "352-20-27": { + "description": "HsVar", + "internalId": "290", + "sort": { + "tag": "ValueId" + } + }, + "355-9-20": { + "description": "HsVar", + "internalId": "291", + "sort": { + "tag": "ValueId" + } + }, + "357-19-23": { + "description": "HsVar", + "internalId": "292", + "sort": { + "tag": "ValueId" + } + }, + "358-28-32": { + "description": "HsVar", + "internalId": "293", + "sort": { + "tag": "ValueId" + } + }, + "359-28-33": { + "description": "HsVar", + "internalId": "295", + "sort": { + "tag": "ValueId" + } + }, + "36-5-20": { + "description": "IE", + "internalId": "18", + "sort": { + "tag": "ValueId" + } + }, + "360-12-23": { + "description": "HsVar", + "internalId": "297", + "sort": { + "tag": "ValueId" + } + }, + "360-24-32": { + "description": "HsVar", + "internalId": "284", + "sort": { + "tag": "ValueId" + } + }, + "365-25-30": { + "description": "HsTyVar", + "internalId": "299", + "sort": { + "tag": "TypeId" + } + }, + "365-31-42": { + "description": "HsTyVar", + "internalId": "16", + "sort": { + "tag": "TypeId" + } + }, + "365-44-50": { + "description": "HsTyVar", + "internalId": "70", + "sort": { + "tag": "TypeId" + } + }, + "365-51-56": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "365-7-21": { + "description": "TypeSig", + "internalId": "298", + "sort": { + "tag": "ValueId" + } + }, + "366-7-21": { + "description": "Match", + "internalId": "298", + "sort": { + "tag": "ValueId" + } + }, + "367-20-21": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "367-9-19": { + "description": "HsVar", + "internalId": "300", + "sort": { + "tag": "ValueId" + } + }, + "368-11-19": { + "description": "HsVar", + "internalId": "13", + "sort": { + "tag": "ValueId" + } + }, + "370-20-24": { + "description": "HsVar", + "internalId": "301", + "sort": { + "tag": "ValueId" + } + }, + "372-24-28": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "372-29-34": { + "description": "HsVar", + "internalId": "302", + "sort": { + "tag": "ValueId" + } + }, + "373-40-44": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "373-46-47": { + "description": "HsVar", + "internalId": "303", + "sort": { + "tag": "ValueId" + } + }, + "373-49-53": { + "description": "HsVar", + "internalId": "304", + "sort": { + "tag": "ValueId" + } + }, + "374-40-47": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "375-22-29": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "376-13-34": { + "description": "HsVar", + "internalId": "305", + "sort": { + "tag": "ValueId" + } + }, + "378-23-28": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "378-29-36": { + "description": "HsTyVar", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "378-40-44": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "378-48-64": { + "description": "HsTyVar", + "internalId": "308", + "sort": { + "tag": "TypeId" + } + }, + "378-7-19": { + "description": "TypeSig", + "internalId": "306", + "sort": { + "tag": "ValueId" + } + }, + "379-7-19": { + "description": "Match", + "internalId": "306", + "sort": { + "tag": "ValueId" + } + }, + "38-18-26": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Set", + "name": "Data.Set", + "packageId": { + "name": "containers", + "version": "0.7" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "380-9-25": { + "description": "HsVar", + "internalId": "309", + "sort": { + "tag": "ValueId" + } + }, + "381-11-20": { + "description": "HsVar", + "internalId": "310", + "sort": { + "tag": "ValueId" + } + }, + "382-11-16": { + "description": "HsVar", + "internalId": "311", + "sort": { + "tag": "ValueId" + } + }, + "383-11-27": { + "description": "HsVar", + "internalId": "312", + "sort": { + "tag": "ValueId" + } + }, + "384-11-17": { + "description": "HsVar", + "internalId": "313", + "sort": { + "tag": "ValueId" + } + }, + "385-11-25": { + "description": "HsVar", + "internalId": "314", + "sort": { + "tag": "ValueId" + } + }, + "386-11-18": { + "description": "HsVar", + "internalId": "315", + "sort": { + "tag": "ValueId" + } + }, + "387-11-21": { + "description": "HsVar", + "internalId": "316", + "sort": { + "tag": "ValueId" + } + }, + "388-11-18": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "389-11-18": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "39-18-30": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Hs.Utils", + "name": "GHC.Hs.Utils", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "39-32-52": { + "description": "IE", + "internalId": "19", + "sort": { + "tag": "ValueId" + } + }, + "39-54-65": { + "description": "IE", + "internalId": "20", + "sort": { + "tag": "TypeId" + } + }, + "390-11-15": { + "description": "HsVar", + "internalId": "317", + "sort": { + "tag": "ValueId" + } + }, + "392-21-25": { + "description": "HsTyVar", + "internalId": "26", + "sort": { + "tag": "TypeId" + } + }, + "392-27-37": { + "description": "HsTyVar", + "internalId": "36", + "sort": { + "tag": "TypeId" + } + }, + "392-39-46": { + "description": "HsTyVar", + "internalId": "89", + "sort": { + "tag": "TypeId" + } + }, + "392-48-52": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "392-56-64": { + "description": "HsTyVar", + "internalId": "319", + "sort": { + "tag": "TypeId" + } + }, + "392-7-17": { + "description": "TypeSig", + "internalId": "318", + "sort": { + "tag": "ValueId" + } + }, + "393-7-17": { + "description": "Match", + "internalId": "318", + "sort": { + "tag": "ValueId" + } + }, + "394-9-27": { + "description": "HsVar", + "internalId": "320", + "sort": { + "tag": "ValueId" + } + }, + "395-11-20": { + "description": "HsVar", + "internalId": "310", + "sort": { + "tag": "ValueId" + } + }, + "396-11-16": { + "description": "HsVar", + "internalId": "311", + "sort": { + "tag": "ValueId" + } + }, + "397-11-27": { + "description": "HsVar", + "internalId": "312", + "sort": { + "tag": "ValueId" + } + }, + "398-11-17": { + "description": "HsVar", + "internalId": "313", + "sort": { + "tag": "ValueId" + } + }, + "399-11-25": { + "description": "HsVar", + "internalId": "314", + "sort": { + "tag": "ValueId" + } + }, + "40-18-27": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Text", + "name": "Data.Text", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "400-11-18": { + "description": "HsVar", + "internalId": "315", + "sort": { + "tag": "ValueId" + } + }, + "401-11-21": { + "description": "HsVar", + "internalId": "316", + "sort": { + "tag": "ValueId" + } + }, + "403-7-33": { + "description": "Match", + "internalId": "322", + "sort": { + "tag": "ValueId" + } + }, + "404-21-22": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "404-9-20": { + "description": "HsVar", + "internalId": "231", + "sort": { + "tag": "ValueId" + } + }, + "405-11-14": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "407-18-32": { + "description": "HsVar", + "internalId": "323", + "sort": { + "tag": "ValueId" + } + }, + "407-33-38": { + "description": "HsVar", + "internalId": "311", + "sort": { + "tag": "ValueId" + } + }, + "407-39-46": { + "description": "HsVar", + "internalId": "324", + "sort": { + "tag": "ValueId" + } + }, + "408-22-30": { + "description": "Match", + "internalId": "325", + "sort": { + "tag": "ValueId" + } + }, + "408-33-45": { + "description": "HsVar", + "internalId": "306", + "sort": { + "tag": "ValueId" + } + }, + "408-46-53": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "408-63-64": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "408-73-74": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "408-75-82": { + "description": "HsVar", + "internalId": "324", + "sort": { + "tag": "ValueId" + } + }, + "409-27-37": { + "description": "HsVar", + "internalId": "90", + "sort": { + "tag": "ValueId" + } + }, + "409-38-45": { + "description": "HsVar", + "internalId": "324", + "sort": { + "tag": "ValueId" + } + }, + "41-23-35": { + "description": "IE", + "internalId": "21", + "sort": { + "tag": "ValueId" + } + }, + "41-37-43": { + "description": "IE", + "internalId": "22", + "sort": { + "tag": "TypeId" + } + }, + "41-8-22": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Driver.Env", + "name": "GHC.Driver.Env", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "411-32-40": { + "description": "HsVar", + "internalId": "326", + "sort": { + "tag": "ValueId" + } + }, + "411-41-42": { + "description": "HsVar", + "internalId": "327", + "sort": { + "tag": "ValueId" + } + }, + "411-43-57": { + "description": "HsVar", + "internalId": "298", + "sort": { + "tag": "ValueId" + } + }, + "413-35-47": { + "description": "Match", + "internalId": "328", + "sort": { + "tag": "ValueId" + } + }, + "413-52-53": { + "description": "HsVar", + "internalId": "329", + "sort": { + "tag": "ValueId" + } + }, + "413-90-96": { + "description": "HsVar", + "internalId": "330", + "sort": { + "tag": "ValueId" + } + }, + "414-35-38": { + "description": "Match", + "internalId": "331", + "sort": { + "tag": "ValueId" + } + }, + "414-49-61": { + "description": "HsVar", + "internalId": "332", + "sort": { + "tag": "ValueId" + } + }, + "414-62-71": { + "description": "HsVar", + "internalId": "310", + "sort": { + "tag": "ValueId" + } + }, + "414-72-77": { + "description": "HsVar", + "internalId": "311", + "sort": { + "tag": "ValueId" + } + }, + "414-78-90": { + "description": "HsVar", + "internalId": "333", + "sort": { + "tag": "ValueId" + } + }, + "414-91-103": { + "description": "HsVar", + "internalId": "328", + "sort": { + "tag": "ValueId" + } + }, + "415-34-52": { + "description": "HsVar", + "internalId": "334", + "sort": { + "tag": "ValueId" + } + }, + "415-53-61": { + "description": "HsVar", + "internalId": "325", + "sort": { + "tag": "ValueId" + } + }, + "415-63-67": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "415-69-79": { + "description": "HsVar", + "internalId": "318", + "sort": { + "tag": "ValueId" + } + }, + "415-80-83": { + "description": "HsVar", + "internalId": "331", + "sort": { + "tag": "ValueId" + } + }, + "416-40-58": { + "description": "HsVar", + "internalId": "334", + "sort": { + "tag": "ValueId" + } + }, + "416-59-67": { + "description": "HsVar", + "internalId": "325", + "sort": { + "tag": "ValueId" + } + }, + "416-68-75": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "417-30-48": { + "description": "HsVar", + "internalId": "334", + "sort": { + "tag": "ValueId" + } + }, + "417-49-57": { + "description": "HsVar", + "internalId": "325", + "sort": { + "tag": "ValueId" + } + }, + "417-58-65": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "419-14-30": { + "description": "HsVar", + "internalId": "43", + "sort": { + "tag": "ValueId" + } + }, + "419-31-38": { + "description": "HsVar", + "internalId": "336", + "sort": { + "tag": "ValueId" + } + }, + "42-22-30": { + "description": "IE", + "internalId": "23", + "sort": { + "tag": "ValueId" + } + }, + "42-8-20": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Unit.Env", + "name": "GHC.Unit.Env", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "424-7-37": { + "description": "Match", + "internalId": "337", + "sort": { + "tag": "ValueId" + } + }, + "425-9-18": { + "description": "HsVar", + "internalId": "138", + "sort": { + "tag": "ValueId" + } + }, + "426-37-40": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "426-44-48": { + "description": "HsVar", + "internalId": "338", + "sort": { + "tag": "ValueId" + } + }, + "426-50-54": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "426-55-60": { + "description": "HsVar", + "internalId": "339", + "sort": { + "tag": "ValueId" + } + }, + "426-62-63": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "426-64-81": { + "description": "HsVar", + "internalId": "340", + "sort": { + "tag": "ValueId" + } + }, + "426-82-86": { + "description": "HsVar", + "internalId": "341", + "sort": { + "tag": "ValueId" + } + }, + "427-11-36": { + "description": "HsVar", + "internalId": "342", + "sort": { + "tag": "ValueId" + } + }, + "429-7-31": { + "description": "Match", + "internalId": "343", + "sort": { + "tag": "ValueId" + } + }, + "43-18-36": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Text.Encoding", + "name": "Data.Text.Encoding", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "430-24-28": { + "description": "HsVar", + "internalId": "344", + "sort": { + "tag": "ValueId" + } + }, + "430-30-32": { + "description": "HsVar", + "internalId": "198", + "sort": { + "tag": "ValueId" + } + }, + "430-34-45": { + "description": "HsVar", + "internalId": "92", + "sort": { + "tag": "ValueId" + } + }, + "430-46-50": { + "description": "HsVar", + "internalId": "344", + "sort": { + "tag": "ValueId" + } + }, + "430-53-66": { + "description": "HsVar", + "internalId": "345", + "sort": { + "tag": "ValueId" + } + }, + "430-9-12": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "432-23-33": { + "description": "HsTyVar", + "internalId": "30", + "sort": { + "tag": "TypeId" + } + }, + "432-34-41": { + "description": "HsTyVar", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "432-43-49": { + "description": "HsTyVar", + "internalId": "57", + "sort": { + "tag": "TypeId" + } + }, + "432-50-55": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "432-7-18": { + "description": "TypeSig", + "internalId": "346", + "sort": { + "tag": "ValueId" + } + }, + "433-21-24": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "433-39-40": { + "description": "HsVar", + "internalId": "347", + "sort": { + "tag": "ValueId" + } + }, + "433-42-46": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "433-47-49": { + "description": "HsVar", + "internalId": "349", + "sort": { + "tag": "ValueId" + } + }, + "433-51-52": { + "description": "HsVar", + "internalId": "350", + "sort": { + "tag": "ValueId" + } + }, + "433-54-62": { + "description": "HsVar", + "internalId": "284", + "sort": { + "tag": "ValueId" + } + }, + "433-7-18": { + "description": "Match", + "internalId": "346", + "sort": { + "tag": "ValueId" + } + }, + "435-7-32": { + "description": "Match", + "internalId": "351", + "sort": { + "tag": "ValueId" + } + }, + "436-9-39": { + "description": "HsVar", + "internalId": "337", + "sort": { + "tag": "ValueId" + } + }, + "437-11-13": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "437-14-38": { + "description": "HsVar", + "internalId": "352", + "sort": { + "tag": "ValueId" + } + }, + "437-39-50": { + "description": "HsVar", + "internalId": "346", + "sort": { + "tag": "ValueId" + } + }, + "438-11-13": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "438-14-38": { + "description": "HsVar", + "internalId": "343", + "sort": { + "tag": "ValueId" + } + }, + "44-18-38": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Types.Unique.DFM", + "name": "GHC.Types.Unique.DFM", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "44-51-59": { + "description": "IE", + "internalId": "24", + "sort": { + "tag": "ValueId" + } + }, + "441-9-20": { + "description": "HsVar", + "internalId": "291", + "sort": { + "tag": "ValueId" + } + }, + "443-19-35": { + "description": "HsVar", + "internalId": "353", + "sort": { + "tag": "ValueId" + } + }, + "443-36-37": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "443-38-49": { + "description": "HsVar", + "internalId": "91", + "sort": { + "tag": "ValueId" + } + }, + "443-50-51": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "443-52-56": { + "description": "HsVar", + "internalId": "354", + "sort": { + "tag": "ValueId" + } + }, + "444-32-36": { + "description": "HsVar", + "internalId": "293", + "sort": { + "tag": "ValueId" + } + }, + "445-32-36": { + "description": "HsVar", + "internalId": "293", + "sort": { + "tag": "ValueId" + } + }, + "446-32-37": { + "description": "HsVar", + "internalId": "295", + "sort": { + "tag": "ValueId" + } + }, + "447-11-36": { + "description": "HsVar", + "internalId": "351", + "sort": { + "tag": "ValueId" + } + }, + "449-7-16": { + "description": "TypeSig", + "internalId": "355", + "sort": { + "tag": "ValueId" + } + }, + "45-24-32": { + "description": "IE", + "internalId": "25", + "sort": { + "tag": "ValueId" + } + }, + "45-8-22": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Data.Text.Lazy", + "name": "Data.Text.Lazy", + "packageId": { + "name": "text", + "version": "2.1.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "450-14-18": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "450-21-27": { + "description": "HsTyVar", + "internalId": "70", + "sort": { + "tag": "TypeId" + } + }, + "450-28-33": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "450-36-43": { + "description": "HsTyVar", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "451-12-22": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "451-23-34": { + "description": "HsTyVar", + "internalId": "356", + "sort": { + "tag": "TypeId" + } + }, + "451-35-53": { + "description": "HsTyVar", + "internalId": "357", + "sort": { + "tag": "TypeId" + } + }, + "452-7-16": { + "description": "Match", + "internalId": "355", + "sort": { + "tag": "ValueId" + } + }, + "453-9-24": { + "description": "HsVar", + "internalId": "358", + "sort": { + "tag": "ValueId" + } + }, + "455-14-32": { + "description": "HsVar", + "internalId": "334", + "sort": { + "tag": "ValueId" + } + }, + "455-33-36": { + "description": "HsVar", + "internalId": "359", + "sort": { + "tag": "ValueId" + } + }, + "455-38-45": { + "description": "HsVar", + "internalId": "360", + "sort": { + "tag": "ValueId" + } + }, + "455-46-52": { + "description": "HsVar", + "internalId": "361", + "sort": { + "tag": "ValueId" + } + }, + "455-53-59": { + "description": "HsVar", + "internalId": "362", + "sort": { + "tag": "ValueId" + } + }, + "455-62-63": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "456-9-12": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "458-18-26": { + "description": "Match", + "internalId": "363", + "sort": { + "tag": "ValueId" + } + }, + "458-29-41": { + "description": "HsVar", + "internalId": "306", + "sort": { + "tag": "ValueId" + } + }, + "458-43-47": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "458-48-55": { + "description": "HsVar", + "internalId": "364", + "sort": { + "tag": "ValueId" + } + }, + "458-57-61": { + "description": "HsVar", + "internalId": "365", + "sort": { + "tag": "ValueId" + } + }, + "459-18-25": { + "description": "Match", + "internalId": "366", + "sort": { + "tag": "ValueId" + } + }, + "46-37-41": { + "description": "IE", + "internalId": "26", + "sort": { + "tag": "TypeId" + } + }, + "46-8-35": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "Documentation.Haddock.Types", + "name": "Documentation.Haddock.Types", + "packageId": { + "name": "haddock-library", + "version": "1.11.0" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "460-23-26": { + "description": "HsVar", + "internalId": "228", + "sort": { + "tag": "ValueId" + } + }, + "460-28-32": { + "description": "HsVar", + "internalId": "367", + "sort": { + "tag": "ValueId" + } + }, + "460-33-37": { + "description": "HsVar", + "internalId": "368", + "sort": { + "tag": "ValueId" + } + }, + "461-31-43": { + "description": "Match", + "internalId": "369", + "sort": { + "tag": "ValueId" + } + }, + "461-48-49": { + "description": "HsVar", + "internalId": "370", + "sort": { + "tag": "ValueId" + } + }, + "461-86-90": { + "description": "HsVar", + "internalId": "368", + "sort": { + "tag": "ValueId" + } + }, + "462-31-34": { + "description": "Match", + "internalId": "371", + "sort": { + "tag": "ValueId" + } + }, + "462-45-57": { + "description": "HsVar", + "internalId": "332", + "sort": { + "tag": "ValueId" + } + }, + "462-58-67": { + "description": "HsVar", + "internalId": "310", + "sort": { + "tag": "ValueId" + } + }, + "462-68-73": { + "description": "HsVar", + "internalId": "311", + "sort": { + "tag": "ValueId" + } + }, + "462-74-86": { + "description": "HsVar", + "internalId": "333", + "sort": { + "tag": "ValueId" + } + }, + "462-87-99": { + "description": "HsVar", + "internalId": "369", + "sort": { + "tag": "ValueId" + } + }, + "463-31-35": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "463-37-47": { + "description": "HsVar", + "internalId": "318", + "sort": { + "tag": "ValueId" + } + }, + "463-48-51": { + "description": "HsVar", + "internalId": "371", + "sort": { + "tag": "ValueId" + } + }, + "464-27-34": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "465-19-30": { + "description": "HsVar", + "internalId": "372", + "sort": { + "tag": "ValueId" + } + }, + "465-31-32": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "465-33-39": { + "description": "HsVar", + "internalId": "374", + "sort": { + "tag": "ValueId" + } + }, + "465-40-44": { + "description": "HsVar", + "internalId": "365", + "sort": { + "tag": "ValueId" + } + }, + "465-46-64": { + "description": "HsVar", + "internalId": "334", + "sort": { + "tag": "ValueId" + } + }, + "465-65-73": { + "description": "HsVar", + "internalId": "363", + "sort": { + "tag": "ValueId" + } + }, + "465-74-81": { + "description": "HsVar", + "internalId": "366", + "sort": { + "tag": "ValueId" + } + }, + "468-8-29": { + "description": "RecordCon", + "internalId": "375", + "sort": { + "tag": "ValueId" + } + }, + "469-13-23": { + "description": "FieldOcc", + "internalId": "377", + "sort": { + "tag": "ValueId" + } + }, + "469-29-38": { + "description": "HsVar", + "internalId": "355", + "sort": { + "tag": "ValueId" + } + }, + "469-39-62": { + "description": "HsVar", + "internalId": "378", + "sort": { + "tag": "ValueId" + } + }, + "47-30-44": { + "description": "IE", + "internalId": "27", + "sort": { + "tag": "ValueId" + } + }, + "47-8-28": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Utils.Outputable", + "name": "GHC.Utils.Outputable", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "470-13-22": { + "description": "FieldOcc", + "internalId": "379", + "sort": { + "tag": "ValueId" + } + }, + "470-29-38": { + "description": "HsVar", + "internalId": "355", + "sort": { + "tag": "ValueId" + } + }, + "470-40-62": { + "description": "HsVar", + "internalId": "380", + "sort": { + "tag": "ValueId" + } + }, + "470-63-65": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "470-66-90": { + "description": "HsVar", + "internalId": "343", + "sort": { + "tag": "ValueId" + } + }, + "471-13-26": { + "description": "FieldOcc", + "internalId": "381", + "sort": { + "tag": "ValueId" + } + }, + "471-29-55": { + "description": "HsVar", + "internalId": "322", + "sort": { + "tag": "ValueId" + } + }, + "473-27-28": { + "description": "HsVar", + "internalId": "382", + "sort": { + "tag": "ValueId" + } + }, + "473-30-55": { + "description": "HsVar", + "internalId": "351", + "sort": { + "tag": "ValueId" + } + }, + "473-8-11": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "477-1-14": { + "description": "TypeSig", + "internalId": "383", + "sort": { + "tag": "ValueId" + } + }, + "478-6-14": { + "description": "HsTyVar", + "internalId": "28", + "sort": { + "tag": "TypeId" + } + }, + "479-6-19": { + "description": "HsTyVar", + "internalId": "113", + "sort": { + "tag": "TypeId" + } + }, + "48-8-26": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Driver.Session", + "name": "GHC.Driver.Session", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "480-6-21": { + "description": "HsTyVar", + "internalId": "111", + "sort": { + "tag": "TypeId" + } + }, + "481-19-26": { + "description": "HsTyVar", + "internalId": "89", + "sort": { + "tag": "TypeId" + } + }, + "481-7-17": { + "description": "HsTyVar", + "internalId": "36", + "sort": { + "tag": "TypeId" + } + }, + "482-6-12": { + "description": "HsTyVar", + "internalId": "385", + "sort": { + "tag": "TypeId" + } + }, + "483-1-14": { + "description": "Match", + "internalId": "383", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "484-7-15": { + "description": "Match", + "internalId": "386", + "sort": { + "tag": "ValueId" + } + }, + "485-21-22": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "485-23-31": { + "description": "HsVar", + "internalId": "25", + "sort": { + "tag": "ValueId" + } + }, + "485-32-33": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "485-34-50": { + "description": "HsVar", + "internalId": "8", + "sort": { + "tag": "ValueId" + } + }, + "485-51-52": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "485-53-65": { + "description": "HsVar", + "internalId": "388", + "sort": { + "tag": "ValueId" + } + }, + "485-66-67": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "485-9-20": { + "description": "HsVar", + "internalId": "387", + "sort": { + "tag": "ValueId" + } + }, + "486-29-34": { + "description": "HsVar", + "internalId": "390", + "sort": { + "tag": "ValueId" + } + }, + "486-35-44": { + "description": "HsVar", + "internalId": "391", + "sort": { + "tag": "ValueId" + } + }, + "486-45-51": { + "description": "HsVar", + "internalId": "392", + "sort": { + "tag": "ValueId" + } + }, + "486-53-60": { + "description": "HsVar", + "internalId": "393", + "sort": { + "tag": "ValueId" + } + }, + "486-62-69": { + "description": "HsVar", + "internalId": "394", + "sort": { + "tag": "ValueId" + } + }, + "486-9-28": { + "description": "HsVar", + "internalId": "389", + "sort": { + "tag": "ValueId" + } + }, + "487-15-18": { + "description": "HsVar", + "internalId": "396", + "sort": { + "tag": "ValueId" + } + }, + "487-19-34": { + "description": "HsVar", + "internalId": "397", + "sort": { + "tag": "ValueId" + } + }, + "487-46-54": { + "description": "HsVar", + "internalId": "386", + "sort": { + "tag": "ValueId" + } + }, + "487-56-59": { + "description": "HsVar", + "internalId": "396", + "sort": { + "tag": "ValueId" + } + }, + "487-60-68": { + "description": "HsVar", + "internalId": "398", + "sort": { + "tag": "ValueId" + } + }, + "487-76-77": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "487-8-14": { + "description": "HsVar", + "internalId": "395", + "sort": { + "tag": "ValueId" + } + }, + "488-17-23": { + "description": "HsVar", + "internalId": "374", + "sort": { + "tag": "ValueId" + } + }, + "488-24-31": { + "description": "HsVar", + "internalId": "394", + "sort": { + "tag": "ValueId" + } + }, + "488-7-15": { + "description": "HsVar", + "internalId": "399", + "sort": { + "tag": "ValueId" + } + }, + "49-5-13": { + "description": "IE", + "internalId": "28", + "sort": { + "tag": "TypeId" + } + }, + "490-1-11": { + "description": "TypeSig", + "internalId": "400", + "sort": { + "tag": "ValueId" + } + }, + "491-3-12": { + "description": "HsTyVar", + "internalId": "2", + "sort": { + "tag": "TypeId" + } + }, + "492-6-14": { + "description": "HsTyVar", + "internalId": "28", + "sort": { + "tag": "TypeId" + } + }, + "493-6-19": { + "description": "HsTyVar", + "internalId": "113", + "sort": { + "tag": "TypeId" + } + }, + "494-6-21": { + "description": "HsTyVar", + "internalId": "111", + "sort": { + "tag": "TypeId" + } + }, + "495-6-34": { + "description": "HsTyVar", + "internalId": "267", + "sort": { + "tag": "TypeId" + } + }, + "496-17-36": { + "description": "HsTyVar", + "internalId": "107", + "sort": { + "tag": "TypeId" + } + }, + "496-37-58": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "496-6-16": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "497-17-38": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "497-39-60": { + "description": "HsTyVar", + "internalId": "109", + "sort": { + "tag": "TypeId" + } + }, + "497-6-16": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "498-6-10": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "499-6-12": { + "description": "HsTyVar", + "internalId": "385", + "sort": { + "tag": "TypeId" + } + }, + "50-5-19": { + "description": "IE", + "internalId": "29", + "sort": { + "tag": "ValueId" + } + }, + "500-1-11": { + "description": "Match", + "internalId": "400", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "501-7-15": { + "description": "Match", + "internalId": "402", + "sort": { + "tag": "ValueId" + } + }, + "502-21-22": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "502-23-31": { + "description": "HsVar", + "internalId": "25", + "sort": { + "tag": "ValueId" + } + }, + "502-32-33": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "502-34-50": { + "description": "HsVar", + "internalId": "8", + "sort": { + "tag": "ValueId" + } + }, + "502-51-52": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "502-53-65": { + "description": "HsVar", + "internalId": "388", + "sort": { + "tag": "ValueId" + } + }, + "502-66-67": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "502-9-20": { + "description": "HsVar", + "internalId": "387", + "sort": { + "tag": "ValueId" + } + }, + "503-9-25": { + "description": "HsVar", + "internalId": "309", + "sort": { + "tag": "ValueId" + } + }, + "504-11-20": { + "description": "HsVar", + "internalId": "403", + "sort": { + "tag": "ValueId" + } + }, + "505-11-16": { + "description": "HsVar", + "internalId": "404", + "sort": { + "tag": "ValueId" + } + }, + "506-11-20": { + "description": "HsVar", + "internalId": "405", + "sort": { + "tag": "ValueId" + } + }, + "507-11-17": { + "description": "HsVar", + "internalId": "406", + "sort": { + "tag": "ValueId" + } + }, + "508-11-25": { + "description": "HsVar", + "internalId": "407", + "sort": { + "tag": "ValueId" + } + }, + "509-11-16": { + "description": "HsVar", + "internalId": "408", + "sort": { + "tag": "ValueId" + } + }, + "51-8-11": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC", + "name": "GHC", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "510-11-21": { + "description": "HsVar", + "internalId": "409", + "sort": { + "tag": "ValueId" + } + }, + "511-11-18": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "512-11-18": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "513-11-15": { + "description": "HsVar", + "internalId": "410", + "sort": { + "tag": "ValueId" + } + }, + "514-14-17": { + "description": "HsVar", + "internalId": "396", + "sort": { + "tag": "ValueId" + } + }, + "514-18-33": { + "description": "HsVar", + "internalId": "397", + "sort": { + "tag": "ValueId" + } + }, + "514-45-53": { + "description": "HsVar", + "internalId": "402", + "sort": { + "tag": "ValueId" + } + }, + "514-54-57": { + "description": "HsVar", + "internalId": "396", + "sort": { + "tag": "ValueId" + } + }, + "514-58-66": { + "description": "HsVar", + "internalId": "398", + "sort": { + "tag": "ValueId" + } + }, + "514-7-13": { + "description": "HsVar", + "internalId": "395", + "sort": { + "tag": "ValueId" + } + }, + "514-74-75": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "515-17-27": { + "description": "HsVar", + "internalId": "411", + "sort": { + "tag": "ValueId" + } + }, + "515-28-32": { + "description": "HsVar", + "internalId": "410", + "sort": { + "tag": "ValueId" + } + }, + "515-7-15": { + "description": "HsVar", + "internalId": "399", + "sort": { + "tag": "ValueId" + } + }, + "517-1-19": { + "description": "TypeSig", + "internalId": "320", + "sort": { + "tag": "ValueId" + } + }, + "518-3-12": { + "description": "HsTyVar", + "internalId": "2", + "sort": { + "tag": "TypeId" + } + }, + "519-6-14": { + "description": "HsTyVar", + "internalId": "28", + "sort": { + "tag": "TypeId" + } + }, + "52-5-15": { + "description": "IE", + "internalId": "30", + "sort": { + "tag": "TypeId" + } + }, + "520-6-19": { + "description": "HsTyVar", + "internalId": "113", + "sort": { + "tag": "TypeId" + } + }, + "521-6-21": { + "description": "HsTyVar", + "internalId": "111", + "sort": { + "tag": "TypeId" + } + }, + "522-6-34": { + "description": "HsTyVar", + "internalId": "267", + "sort": { + "tag": "TypeId" + } + }, + "523-17-36": { + "description": "HsTyVar", + "internalId": "107", + "sort": { + "tag": "TypeId" + } + }, + "523-37-58": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "523-6-16": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "524-17-38": { + "description": "HsTyVar", + "internalId": "108", + "sort": { + "tag": "TypeId" + } + }, + "524-39-60": { + "description": "HsTyVar", + "internalId": "109", + "sort": { + "tag": "TypeId" + } + }, + "524-6-16": { + "description": "HsTyVar", + "internalId": "106", + "sort": { + "tag": "TypeId" + } + }, + "525-12-22": { + "description": "HsTyVar", + "internalId": "36", + "sort": { + "tag": "TypeId" + } + }, + "525-24-31": { + "description": "HsTyVar", + "internalId": "89", + "sort": { + "tag": "TypeId" + } + }, + "525-33-37": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "525-6-10": { + "description": "HsTyVar", + "internalId": "26", + "sort": { + "tag": "TypeId" + } + }, + "526-6-14": { + "description": "HsTyVar", + "internalId": "319", + "sort": { + "tag": "TypeId" + } + }, + "527-1-19": { + "description": "Match", + "internalId": "320", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "528-3-16": { + "description": "HsVar", + "internalId": "412", + "sort": { + "tag": "ValueId" + } + }, + "529-20-25": { + "description": "HsVar", + "internalId": "413", + "sort": { + "tag": "ValueId" + } + }, + "529-26-35": { + "description": "HsVar", + "internalId": "414", + "sort": { + "tag": "ValueId" + } + }, + "529-36-42": { + "description": "HsVar", + "internalId": "415", + "sort": { + "tag": "ValueId" + } + }, + "529-6-19": { + "description": "HsVar", + "internalId": "383", + "sort": { + "tag": "ValueId" + } + }, + "53-5-20": { + "description": "IE", + "internalId": "31", + "sort": { + "tag": "ValueId" + } + }, + "530-17-26": { + "description": "HsVar", + "internalId": "416", + "sort": { + "tag": "ValueId" + } + }, + "530-27-32": { + "description": "HsVar", + "internalId": "413", + "sort": { + "tag": "ValueId" + } + }, + "530-33-42": { + "description": "HsVar", + "internalId": "414", + "sort": { + "tag": "ValueId" + } + }, + "530-43-49": { + "description": "HsVar", + "internalId": "415", + "sort": { + "tag": "ValueId" + } + }, + "530-50-64": { + "description": "HsVar", + "internalId": "417", + "sort": { + "tag": "ValueId" + } + }, + "530-6-16": { + "description": "HsVar", + "internalId": "400", + "sort": { + "tag": "ValueId" + } + }, + "530-65-72": { + "description": "HsVar", + "internalId": "418", + "sort": { + "tag": "ValueId" + } + }, + "530-73-83": { + "description": "HsVar", + "internalId": "419", + "sort": { + "tag": "ValueId" + } + }, + "532-1-19": { + "description": "TypeSig", + "internalId": "166", + "sort": { + "tag": "ValueId" + } + }, + "533-6-14": { + "description": "HsTyVar", + "internalId": "28", + "sort": { + "tag": "TypeId" + } + }, + "534-14-19": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "534-6-13": { + "description": "HsTyVar", + "internalId": "62", + "sort": { + "tag": "TypeId" + } + }, + "535-6-13": { + "description": "HsTyVar", + "internalId": "81", + "sort": { + "tag": "TypeId" + } + }, + "536-12-16": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "536-6-11": { + "description": "HsTyVar", + "internalId": "420", + "sort": { + "tag": "TypeId" + } + }, + "537-6-34": { + "description": "HsTyVar", + "internalId": "267", + "sort": { + "tag": "TypeId" + } + }, + "538-7-22": { + "description": "HsTyVar", + "internalId": "421", + "sort": { + "tag": "TypeId" + } + }, + "539-1-19": { + "description": "Match", + "internalId": "166", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "54-5-15": { + "description": "IE", + "internalId": "32", + "sort": { + "tag": "TypeId" + } + }, + "540-21-28": { + "description": "HsTyVar", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "540-32-35": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "540-7-17": { + "description": "TypeSig", + "internalId": "422", + "sort": { + "tag": "ValueId" + } + }, + "541-7-17": { + "description": "Match", + "internalId": "422", + "sort": { + "tag": "ValueId" + } + }, + "542-14-40": { + "description": "HsVar", + "internalId": "423", + "sort": { + "tag": "ValueId" + } + }, + "542-41-55": { + "description": "HsVar", + "internalId": "424", + "sort": { + "tag": "ValueId" + } + }, + "542-56-63": { + "description": "HsVar", + "internalId": "425", + "sort": { + "tag": "ValueId" + } + }, + "543-48-55": { + "description": "HsVar", + "internalId": "426", + "sort": { + "tag": "ValueId" + } + }, + "545-19-23": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "545-27-32": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "545-33-41": { + "description": "HsTyVar", + "internalId": "428", + "sort": { + "tag": "TypeId" + } + }, + "545-7-15": { + "description": "TypeSig", + "internalId": "427", + "sort": { + "tag": "ValueId" + } + }, + "546-7-15": { + "description": "Match", + "internalId": "427", + "sort": { + "tag": "ValueId" + } + }, + "547-14-31": { + "description": "HsVar", + "internalId": "197", + "sort": { + "tag": "ValueId" + } + }, + "547-32-39": { + "description": "HsVar", + "internalId": "429", + "sort": { + "tag": "ValueId" + } + }, + "547-40-41": { + "description": "HsVar", + "internalId": "430", + "sort": { + "tag": "ValueId" + } + }, + "548-21-25": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "548-26-27": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "548-28-34": { + "description": "HsVar", + "internalId": "431", + "sort": { + "tag": "ValueId" + } + }, + "548-35-36": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "548-45-46": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "548-47-48": { + "description": "HsVar", + "internalId": "432", + "sort": { + "tag": "ValueId" + } + }, + "549-22-29": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "55-5-9": { + "description": "IE", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "550-28-37": { + "description": "HsTyVar", + "internalId": "10", + "sort": { + "tag": "TypeId" + } + }, + "550-38-43": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "550-44-49": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "550-54-69": { + "description": "HsTyVar", + "internalId": "421", + "sort": { + "tag": "TypeId" + } + }, + "550-7-24": { + "description": "TypeSig", + "internalId": "433", + "sort": { + "tag": "ValueId" + } + }, + "551-7-24": { + "description": "Match", + "internalId": "433", + "sort": { + "tag": "ValueId" + } + }, + "553-11-16": { + "description": "TypeSig", + "internalId": "434", + "sort": { + "tag": "ValueId" + } + }, + "553-21-25": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "554-11-16": { + "description": "Match", + "internalId": "434", + "sort": { + "tag": "ValueId" + } + }, + "554-19-39": { + "description": "HsVar", + "internalId": "19", + "sort": { + "tag": "ValueId" + } + }, + "554-40-57": { + "description": "HsVar", + "internalId": "435", + "sort": { + "tag": "ValueId" + } + }, + "554-58-62": { + "description": "HsVar", + "internalId": "437", + "sort": { + "tag": "ValueId" + } + }, + "555-11-14": { + "description": "TypeSig", + "internalId": "438", + "sort": { + "tag": "ValueId" + } + }, + "555-20-27": { + "description": "HsTyVar", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "556-11-14": { + "description": "Match", + "internalId": "438", + "sort": { + "tag": "ValueId" + } + }, + "556-19-23": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "556-24-30": { + "description": "HsVar", + "internalId": "439", + "sort": { + "tag": "ValueId" + } + }, + "558-11-14": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "56-5-12": { + "description": "IE", + "internalId": "34", + "sort": { + "tag": "ValueId" + } + }, + "560-16-31": { + "description": "HsVar", + "internalId": "440", + "sort": { + "tag": "ValueId" + } + }, + "561-18-26": { + "description": "HsVar", + "internalId": "442", + "sort": { + "tag": "ValueId" + } + }, + "562-19-25": { + "description": "HsVar", + "internalId": "374", + "sort": { + "tag": "ValueId" + } + }, + "562-26-30": { + "description": "HsVar", + "internalId": "444", + "sort": { + "tag": "ValueId" + } + }, + "563-19-27": { + "description": "HsVar", + "internalId": "427", + "sort": { + "tag": "ValueId" + } + }, + "563-28-32": { + "description": "HsVar", + "internalId": "444", + "sort": { + "tag": "ValueId" + } + }, + "564-19-27": { + "description": "HsVar", + "internalId": "445", + "sort": { + "tag": "ValueId" + } + }, + "564-28-32": { + "description": "HsVar", + "internalId": "444", + "sort": { + "tag": "ValueId" + } + }, + "564-33-44": { + "description": "HsVar", + "internalId": "446", + "sort": { + "tag": "ValueId" + } + }, + "565-19-29": { + "description": "HsVar", + "internalId": "422", + "sort": { + "tag": "ValueId" + } + }, + "565-30-33": { + "description": "HsVar", + "internalId": "438", + "sort": { + "tag": "ValueId" + } + }, + "566-13-18": { + "description": "HsVar", + "internalId": "434", + "sort": { + "tag": "ValueId" + } + }, + "567-14-23": { + "description": "HsVar", + "internalId": "138", + "sort": { + "tag": "ValueId" + } + }, + "567-24-41": { + "description": "HsVar", + "internalId": "433", + "sort": { + "tag": "ValueId" + } + }, + "567-42-43": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "567-44-55": { + "description": "HsVar", + "internalId": "448", + "sort": { + "tag": "ValueId" + } + }, + "567-56-63": { + "description": "HsVar", + "internalId": "449", + "sort": { + "tag": "ValueId" + } + }, + "567-7-11": { + "description": "Match", + "internalId": "447", + "sort": { + "tag": "ValueId" + } + }, + "57-5-15": { + "description": "IE", + "internalId": "35", + "sort": { + "tag": "TypeId" + } + }, + "570-28-37": { + "description": "HsTyVar", + "internalId": "60", + "sort": { + "tag": "TypeId" + } + }, + "570-38-43": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "570-47-62": { + "description": "HsTyVar", + "internalId": "421", + "sort": { + "tag": "TypeId" + } + }, + "570-7-24": { + "description": "TypeSig", + "internalId": "450", + "sort": { + "tag": "ValueId" + } + }, + "571-7-24": { + "description": "Match", + "internalId": "450", + "sort": { + "tag": "ValueId" + } + }, + "572-9-24": { + "description": "HsVar", + "internalId": "440", + "sort": { + "tag": "ValueId" + } + }, + "573-11-20": { + "description": "HsVar", + "internalId": "451", + "sort": { + "tag": "ValueId" + } + }, + "574-12-20": { + "description": "HsVar", + "internalId": "453", + "sort": { + "tag": "ValueId" + } + }, + "574-22-36": { + "description": "HsVar", + "internalId": "454", + "sort": { + "tag": "ValueId" + } + }, + "574-37-45": { + "description": "HsVar", + "internalId": "455", + "sort": { + "tag": "ValueId" + } + }, + "574-48-54": { + "description": "HsVar", + "internalId": "374", + "sort": { + "tag": "ValueId" + } + }, + "574-55-56": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "574-57-64": { + "description": "HsVar", + "internalId": "67", + "sort": { + "tag": "ValueId" + } + }, + "574-65-73": { + "description": "HsVar", + "internalId": "455", + "sort": { + "tag": "ValueId" + } + }, + "575-12-20": { + "description": "HsVar", + "internalId": "427", + "sort": { + "tag": "ValueId" + } + }, + "575-21-22": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "575-23-30": { + "description": "HsVar", + "internalId": "67", + "sort": { + "tag": "ValueId" + } + }, + "575-31-39": { + "description": "HsVar", + "internalId": "455", + "sort": { + "tag": "ValueId" + } + }, + "576-12-20": { + "description": "HsVar", + "internalId": "445", + "sort": { + "tag": "ValueId" + } + }, + "576-22-27": { + "description": "HsVar", + "internalId": "51", + "sort": { + "tag": "ValueId" + } + }, + "576-28-29": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "576-30-43": { + "description": "HsVar", + "internalId": "66", + "sort": { + "tag": "ValueId" + } + }, + "576-44-52": { + "description": "HsVar", + "internalId": "455", + "sort": { + "tag": "ValueId" + } + }, + "576-54-65": { + "description": "HsVar", + "internalId": "446", + "sort": { + "tag": "ValueId" + } + }, + "577-12-22": { + "description": "HsVar", + "internalId": "422", + "sort": { + "tag": "ValueId" + } + }, + "577-24-28": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "577-29-34": { + "description": "HsVar", + "internalId": "456", + "sort": { + "tag": "ValueId" + } + }, + "578-7-13": { + "description": "Match", + "internalId": "457", + "sort": { + "tag": "ValueId" + } + }, + "579-13-30": { + "description": "HsVar", + "internalId": "450", + "sort": { + "tag": "ValueId" + } + }, + "579-9-12": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "58-5-15": { + "description": "IE", + "internalId": "36", + "sort": { + "tag": "TypeId" + } + }, + "580-11-17": { + "description": "HsVar", + "internalId": "458", + "sort": { + "tag": "ValueId" + } + }, + "580-19-32": { + "description": "HsVar", + "internalId": "41", + "sort": { + "tag": "ValueId" + } + }, + "580-33-34": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "580-35-39": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "580-40-41": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "580-42-49": { + "description": "HsVar", + "internalId": "34", + "sort": { + "tag": "ValueId" + } + }, + "580-9-10": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "581-11-20": { + "description": "HsVar", + "internalId": "138", + "sort": { + "tag": "ValueId" + } + }, + "581-34-35": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "581-9-10": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "582-11-18": { + "description": "HsVar", + "internalId": "449", + "sort": { + "tag": "ValueId" + } + }, + "582-9-10": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "585-28-37": { + "description": "HsTyVar", + "internalId": "59", + "sort": { + "tag": "TypeId" + } + }, + "585-38-43": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "585-47-62": { + "description": "HsTyVar", + "internalId": "421", + "sort": { + "tag": "TypeId" + } + }, + "585-7-24": { + "description": "TypeSig", + "internalId": "459", + "sort": { + "tag": "ValueId" + } + }, + "586-7-24": { + "description": "Match", + "internalId": "459", + "sort": { + "tag": "ValueId" + } + }, + "587-9-24": { + "description": "HsVar", + "internalId": "440", + "sort": { + "tag": "ValueId" + } + }, + "588-11-20": { + "description": "HsVar", + "internalId": "460", + "sort": { + "tag": "ValueId" + } + }, + "589-12-30": { + "description": "HsVar", + "internalId": "462", + "sort": { + "tag": "ValueId" + } + }, + "589-31-36": { + "description": "HsVar", + "internalId": "463", + "sort": { + "tag": "ValueId" + } + }, + "589-37-41": { + "description": "HsVar", + "internalId": "464", + "sort": { + "tag": "ValueId" + } + }, + "59-5-12": { + "description": "IE", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "590-11-18": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "591-11-15": { + "description": "HsVar", + "internalId": "293", + "sort": { + "tag": "ValueId" + } + }, + "592-12-22": { + "description": "HsVar", + "internalId": "422", + "sort": { + "tag": "ValueId" + } + }, + "592-24-28": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "592-29-34": { + "description": "HsVar", + "internalId": "465", + "sort": { + "tag": "ValueId" + } + }, + "593-7-12": { + "description": "Match", + "internalId": "466", + "sort": { + "tag": "ValueId" + } + }, + "594-13-30": { + "description": "HsVar", + "internalId": "459", + "sort": { + "tag": "ValueId" + } + }, + "594-9-12": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "595-11-17": { + "description": "HsVar", + "internalId": "458", + "sort": { + "tag": "ValueId" + } + }, + "595-19-32": { + "description": "HsVar", + "internalId": "41", + "sort": { + "tag": "ValueId" + } + }, + "595-33-34": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "595-35-39": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "595-40-41": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "595-42-48": { + "description": "HsVar", + "internalId": "40", + "sort": { + "tag": "ValueId" + } + }, + "595-9-10": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "596-11-27": { + "description": "HsVar", + "internalId": "68", + "sort": { + "tag": "ValueId" + } + }, + "596-9-10": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "597-11-18": { + "description": "HsVar", + "internalId": "449", + "sort": { + "tag": "ValueId" + } + }, + "597-9-10": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "60-5-12": { + "description": "IE", + "internalId": "37", + "sort": { + "tag": "TypeId" + } + }, + "600-7-30": { + "description": "TypeSig", + "internalId": "467", + "sort": { + "tag": "ValueId" + } + }, + "601-12-24": { + "description": "HsTyVar", + "internalId": "58", + "sort": { + "tag": "TypeId" + } + }, + "601-25-30": { + "description": "HsTyVar", + "internalId": "14", + "sort": { + "tag": "TypeId" + } + }, + "601-34-49": { + "description": "HsTyVar", + "internalId": "421", + "sort": { + "tag": "TypeId" + } + }, + "602-7-30": { + "description": "Match", + "internalId": "467", + "sort": { + "tag": "ValueId" + } + }, + "603-13-17": { + "description": "Match", + "internalId": "468", + "sort": { + "tag": "ValueId" + } + }, + "603-20-25": { + "description": "HsVar", + "internalId": "51", + "sort": { + "tag": "ValueId" + } + }, + "603-26-27": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "603-36-38": { + "description": "HsVar", + "internalId": "469", + "sort": { + "tag": "ValueId" + } + }, + "604-12-27": { + "description": "HsVar", + "internalId": "440", + "sort": { + "tag": "ValueId" + } + }, + "605-13-21": { + "description": "HsVar", + "internalId": "470", + "sort": { + "tag": "ValueId" + } + }, + "606-14-20": { + "description": "HsVar", + "internalId": "374", + "sort": { + "tag": "ValueId" + } + }, + "606-21-25": { + "description": "HsVar", + "internalId": "468", + "sort": { + "tag": "ValueId" + } + }, + "607-14-22": { + "description": "HsVar", + "internalId": "427", + "sort": { + "tag": "ValueId" + } + }, + "607-23-27": { + "description": "HsVar", + "internalId": "468", + "sort": { + "tag": "ValueId" + } + }, + "608-13-17": { + "description": "HsVar", + "internalId": "293", + "sort": { + "tag": "ValueId" + } + }, + "609-14-24": { + "description": "HsVar", + "internalId": "422", + "sort": { + "tag": "ValueId" + } + }, + "609-26-30": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "609-31-36": { + "description": "HsVar", + "internalId": "472", + "sort": { + "tag": "ValueId" + } + }, + "61-5-9": { + "description": "IE", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "610-15-18": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "610-19-42": { + "description": "HsVar", + "internalId": "467", + "sort": { + "tag": "ValueId" + } + }, + "610-43-44": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "610-54-61": { + "description": "HsVar", + "internalId": "449", + "sort": { + "tag": "ValueId" + } + }, + "610-7-12": { + "description": "Match", + "internalId": "473", + "sort": { + "tag": "ValueId" + } + }, + "612-31-32": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "612-33-37": { + "description": "HsVar", + "internalId": "447", + "sort": { + "tag": "ValueId" + } + }, + "612-38-40": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "612-41-47": { + "description": "HsVar", + "internalId": "457", + "sort": { + "tag": "ValueId" + } + }, + "612-48-50": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "612-51-56": { + "description": "HsVar", + "internalId": "466", + "sort": { + "tag": "ValueId" + } + }, + "612-57-59": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "612-60-65": { + "description": "HsVar", + "internalId": "473", + "sort": { + "tag": "ValueId" + } + }, + "612-7-15": { + "description": "HsVar", + "internalId": "285", + "sort": { + "tag": "ValueId" + } + }, + "614-1-8": { + "description": "TypeSig", + "internalId": "206", + "sort": { + "tag": "ValueId" + } + }, + "614-12-21": { + "description": "HsTyVar", + "internalId": "2", + "sort": { + "tag": "TypeId" + } + }, + "614-25-36": { + "description": "HsTyVar", + "internalId": "474", + "sort": { + "tag": "TypeId" + } + }, + "614-40-57": { + "description": "HsTyVar", + "internalId": "39", + "sort": { + "tag": "TypeId" + } + }, + "614-61-71": { + "description": "HsTyVar", + "internalId": "238", + "sort": { + "tag": "TypeId" + } + }, + "615-1-8": { + "description": "Match", + "internalId": "206", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "616-13-20": { + "description": "AsPat", + "internalId": "475", + "sort": { + "tag": "ValueId" + } + }, + "617-23-40": { + "description": "HsVar", + "internalId": "476", + "sort": { + "tag": "ValueId" + } + }, + "617-9-22": { + "description": "HsVar", + "internalId": "48", + "sort": { + "tag": "ValueId" + } + }, + "618-7-20": { + "description": "Match", + "internalId": "477", + "sort": { + "tag": "ValueId" + } + }, + "619-18-27": { + "description": "HsVar", + "internalId": "480", + "sort": { + "tag": "ValueId" + } + }, + "619-28-36": { + "description": "HsVar", + "internalId": "481", + "sort": { + "tag": "ValueId" + } + }, + "619-37-44": { + "description": "HsVar", + "internalId": "482", + "sort": { + "tag": "ValueId" + } + }, + "619-45-57": { + "description": "HsVar", + "internalId": "105", + "sort": { + "tag": "ValueId" + } + }, + "619-58-65": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "619-66-77": { + "description": "HsVar", + "internalId": "483", + "sort": { + "tag": "ValueId" + } + }, + "619-78-80": { + "description": "HsVar", + "internalId": "198", + "sort": { + "tag": "ValueId" + } + }, + "619-9-17": { + "description": "HsVar", + "internalId": "478", + "sort": { + "tag": "ValueId" + } + }, + "62-5-22": { + "description": "IE", + "internalId": "39", + "sort": { + "tag": "TypeId" + } + }, + "620-17-19": { + "description": "FieldOcc", + "internalId": "484", + "sort": { + "tag": "ValueId" + } + }, + "621-9-18": { + "description": "HsVar", + "internalId": "3", + "sort": { + "tag": "ValueId" + } + }, + "622-12-33": { + "description": "HsVar", + "internalId": "485", + "sort": { + "tag": "ValueId" + } + }, + "622-34-35": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "622-58-75": { + "description": "HsVar", + "internalId": "476", + "sort": { + "tag": "ValueId" + } + }, + "623-11-24": { + "description": "HsVar", + "internalId": "477", + "sort": { + "tag": "ValueId" + } + }, + "625-9-17": { + "description": "HsVar", + "internalId": "187", + "sort": { + "tag": "ValueId" + } + }, + "626-12-31": { + "description": "HsVar", + "internalId": "486", + "sort": { + "tag": "ValueId" + } + }, + "626-32-43": { + "description": "HsVar", + "internalId": "483", + "sort": { + "tag": "ValueId" + } + }, + "626-44-64": { + "description": "HsVar", + "internalId": "488", + "sort": { + "tag": "ValueId" + } + }, + "627-12-20": { + "description": "HsVar", + "internalId": "252", + "sort": { + "tag": "ValueId" + } + }, + "627-22-38": { + "description": "HsVar", + "internalId": "489", + "sort": { + "tag": "ValueId" + } + }, + "628-12-34": { + "description": "HsVar", + "internalId": "490", + "sort": { + "tag": "ValueId" + } + }, + "628-35-42": { + "description": "HsVar", + "internalId": "475", + "sort": { + "tag": "ValueId" + } + }, + "629-27-38": { + "description": "HsVar", + "internalId": "483", + "sort": { + "tag": "ValueId" + } + }, + "629-7-12": { + "description": "Match", + "internalId": "491", + "sort": { + "tag": "ValueId" + } + }, + "63-5-11": { + "description": "IE", + "internalId": "40", + "sort": { + "tag": "ValueId" + } + }, + "630-32-43": { + "description": "HsVar", + "internalId": "483", + "sort": { + "tag": "ValueId" + } + }, + "630-7-16": { + "description": "Match", + "internalId": "492", + "sort": { + "tag": "ValueId" + } + }, + "631-31-42": { + "description": "HsVar", + "internalId": "483", + "sort": { + "tag": "ValueId" + } + }, + "631-7-13": { + "description": "Match", + "internalId": "493", + "sort": { + "tag": "ValueId" + } + }, + "632-7-22": { + "description": "Match", + "internalId": "494", + "sort": { + "tag": "ValueId" + } + }, + "633-9-12": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "635-17-24": { + "description": "HsVar", + "internalId": "495", + "sort": { + "tag": "ValueId" + } + }, + "636-17-21": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "636-22-25": { + "description": "HsVar", + "internalId": "496", + "sort": { + "tag": "ValueId" + } + }, + "637-17-35": { + "description": "HsVar", + "internalId": "497", + "sort": { + "tag": "ValueId" + } + }, + "638-19-28": { + "description": "HsVar", + "internalId": "498", + "sort": { + "tag": "ValueId" + } + }, + "639-19-24": { + "description": "HsVar", + "internalId": "491", + "sort": { + "tag": "ValueId" + } + }, + "64-5-18": { + "description": "IE", + "internalId": "41", + "sort": { + "tag": "ValueId" + } + }, + "640-37-48": { + "description": "HsVar", + "internalId": "483", + "sort": { + "tag": "ValueId" + } + }, + "641-19-28": { + "description": "HsVar", + "internalId": "492", + "sort": { + "tag": "ValueId" + } + }, + "642-19-25": { + "description": "HsVar", + "internalId": "493", + "sort": { + "tag": "ValueId" + } + }, + "643-19-26": { + "description": "HsVar", + "internalId": "495", + "sort": { + "tag": "ValueId" + } + }, + "643-29-30": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "644-21-22": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "644-23-28": { + "description": "HsVar", + "internalId": "51", + "sort": { + "tag": "ValueId" + } + }, + "644-30-31": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "645-17-20": { + "description": "HsVar", + "internalId": "228", + "sort": { + "tag": "ValueId" + } + }, + "645-21-22": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "645-38-39": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "645-49-50": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "645-51-56": { + "description": "HsVar", + "internalId": "51", + "sort": { + "tag": "ValueId" + } + }, + "645-59-60": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "645-9-15": { + "description": "HsVar", + "internalId": "458", + "sort": { + "tag": "ValueId" + } + }, + "646-9-20": { + "description": "HsVar", + "internalId": "499", + "sort": { + "tag": "ValueId" + } + }, + "647-7-22": { + "description": "Match", + "internalId": "500", + "sort": { + "tag": "ValueId" + } + }, + "648-14-24": { + "description": "HsVar", + "internalId": "501", + "sort": { + "tag": "ValueId" + } + }, + "65-5-32": { + "description": "IE", + "internalId": "42", + "sort": { + "tag": "ValueId" + } + }, + "650-13-21": { + "description": "HsVar", + "internalId": "13", + "sort": { + "tag": "ValueId" + } + }, + "652-22-24": { + "description": "HsVar", + "internalId": "502", + "sort": { + "tag": "ValueId" + } + }, + "654-21-25": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "655-25-32": { + "description": "HsVar", + "internalId": "503", + "sort": { + "tag": "ValueId" + } + }, + "656-25-29": { + "description": "HsVar", + "internalId": "33", + "sort": { + "tag": "ValueId" + } + }, + "656-30-33": { + "description": "HsVar", + "internalId": "504", + "sort": { + "tag": "ValueId" + } + }, + "657-25-43": { + "description": "HsVar", + "internalId": "497", + "sort": { + "tag": "ValueId" + } + }, + "658-27-36": { + "description": "HsVar", + "internalId": "498", + "sort": { + "tag": "ValueId" + } + }, + "659-27-32": { + "description": "HsVar", + "internalId": "491", + "sort": { + "tag": "ValueId" + } + }, + "66-5-21": { + "description": "IE", + "internalId": "43", + "sort": { + "tag": "ValueId" + } + }, + "660-45-56": { + "description": "HsVar", + "internalId": "483", + "sort": { + "tag": "ValueId" + } + }, + "661-27-36": { + "description": "HsVar", + "internalId": "492", + "sort": { + "tag": "ValueId" + } + }, + "662-27-33": { + "description": "HsVar", + "internalId": "493", + "sort": { + "tag": "ValueId" + } + }, + "663-27-34": { + "description": "HsVar", + "internalId": "503", + "sort": { + "tag": "ValueId" + } + }, + "664-24-31": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "665-15-23": { + "description": "HsVar", + "internalId": "505", + "sort": { + "tag": "ValueId" + } + }, + "666-22-24": { + "description": "HsVar", + "internalId": "198", + "sort": { + "tag": "ValueId" + } + }, + "667-7-46": { + "description": "TypeSig", + "internalId": "506", + "sort": { + "tag": "ValueId" + } + }, + "668-12-39": { + "description": "HsTyVar", + "internalId": "245", + "sort": { + "tag": "TypeId" + } + }, + "668-43-70": { + "description": "HsTyVar", + "internalId": "245", + "sort": { + "tag": "TypeId" + } + }, + "669-7-46": { + "description": "Match", + "internalId": "506", + "sort": { + "tag": "ValueId" + } + }, + "67-5-15": { + "description": "IE", + "internalId": "44", + "sort": { + "tag": "ValueId" + } + }, + "670-17-25": { + "description": "HsVar", + "internalId": "285", + "sort": { + "tag": "ValueId" + } + }, + "670-26-29": { + "description": "HsVar", + "internalId": "120", + "sort": { + "tag": "ValueId" + } + }, + "670-31-32": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "670-9-15": { + "description": "HsVar", + "internalId": "507", + "sort": { + "tag": "ValueId" + } + }, + "671-9-19": { + "description": "HsVar", + "internalId": "508", + "sort": { + "tag": "ValueId" + } + }, + "672-30-41": { + "description": "HsVar", + "internalId": "483", + "sort": { + "tag": "ValueId" + } + }, + "673-12-27": { + "description": "HsVar", + "internalId": "494", + "sort": { + "tag": "ValueId" + } + }, + "673-28-30": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "673-31-46": { + "description": "HsVar", + "internalId": "500", + "sort": { + "tag": "ValueId" + } + }, + "674-7-17": { + "description": "RecordCon", + "internalId": "239", + "sort": { + "tag": "ValueId" + } + }, + "675-11-28": { + "description": "FieldOcc", + "internalId": "205", + "sort": { + "tag": "ValueId" + } + }, + "675-31-50": { + "description": "HsVar", + "internalId": "510", + "sort": { + "tag": "ValueId" + } + }, + "676-11-26": { + "description": "FieldOcc", + "internalId": "242", + "sort": { + "tag": "ValueId" + } + }, + "676-29-38": { + "description": "HsVar", + "internalId": "511", + "sort": { + "tag": "ValueId" + } + }, + "677-11-29": { + "description": "FieldOcc", + "internalId": "244", + "sort": { + "tag": "ValueId" + } + }, + "677-32-71": { + "description": "HsVar", + "internalId": "506", + "sort": { + "tag": "ValueId" + } + }, + "677-72-80": { + "description": "HsVar", + "internalId": "512", + "sort": { + "tag": "ValueId" + } + }, + "678-11-31": { + "description": "FieldOcc", + "internalId": "246", + "sort": { + "tag": "ValueId" + } + }, + "678-34-52": { + "description": "HsVar", + "internalId": "513", + "sort": { + "tag": "ValueId" + } + }, + "68-5-21": { + "description": "IE", + "internalId": "45", + "sort": { + "tag": "ValueId" + } + }, + "683-1-20": { + "description": "TypeSig", + "internalId": "486", + "sort": { + "tag": "ValueId" + } + }, + "684-6-17": { + "description": "HsTyVar", + "internalId": "474", + "sort": { + "tag": "TypeId" + } + }, + "685-12-23": { + "description": "HsTyVar", + "internalId": "16", + "sort": { + "tag": "TypeId" + } + }, + "685-25-27": { + "description": "HsTyVar", + "internalId": "104", + "sort": { + "tag": "TypeId" + } + }, + "685-29-34": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "685-36-40": { + "description": "HsTyVar", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "685-43-47": { + "description": "HsTyVar", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "685-6-11": { + "description": "HsTyVar", + "internalId": "299", + "sort": { + "tag": "TypeId" + } + }, + "686-30-57": { + "description": "HsTyVar", + "internalId": "245", + "sort": { + "tag": "TypeId" + } + }, + "686-7-28": { + "description": "HsTyVar", + "internalId": "243", + "sort": { + "tag": "TypeId" + } + }, + "687-6-20": { + "description": "HsTyVar", + "internalId": "514", + "sort": { + "tag": "TypeId" + } + }, + "688-30-57": { + "description": "HsTyVar", + "internalId": "245", + "sort": { + "tag": "TypeId" + } + }, + "688-7-28": { + "description": "HsTyVar", + "internalId": "243", + "sort": { + "tag": "TypeId" + } + }, + "689-1-20": { + "description": "Match", + "internalId": "486", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "689-46-52": { + "description": "AsPat", + "internalId": "515", + "sort": { + "tag": "ValueId" + } + }, + "69-5-16": { + "description": "IE", + "internalId": "46", + "sort": { + "tag": "ValueId" + } + }, + "690-20-26": { + "description": "HsVar", + "internalId": "40", + "sort": { + "tag": "ValueId" + } + }, + "690-27-28": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "690-41-48": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "690-5-18": { + "description": "HsVar", + "internalId": "41", + "sort": { + "tag": "ValueId" + } + }, + "690-50-52": { + "description": "HsVar", + "internalId": "517", + "sort": { + "tag": "ValueId" + } + }, + "691-22-28": { + "description": "HsVar", + "internalId": "40", + "sort": { + "tag": "ValueId" + } + }, + "691-29-30": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "691-43-50": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "691-7-20": { + "description": "HsVar", + "internalId": "96", + "sort": { + "tag": "ValueId" + } + }, + "693-52-63": { + "description": "HsVar", + "internalId": "518", + "sort": { + "tag": "ValueId" + } + }, + "693-6-32": { + "description": "HsVar", + "internalId": "423", + "sort": { + "tag": "ValueId" + } + }, + "693-65-66": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "694-13-14": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "694-27-28": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "694-6-12": { + "description": "HsVar", + "internalId": "40", + "sort": { + "tag": "ValueId" + } + }, + "695-6-13": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "696-10-17": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "697-24-28": { + "description": "FieldOcc", + "internalId": "519", + "sort": { + "tag": "ValueId" + } + }, + "698-9-22": { + "description": "HsVar", + "internalId": "520", + "sort": { + "tag": "ValueId" + } + }, + "699-11-22": { + "description": "HsVar", + "internalId": "518", + "sort": { + "tag": "ValueId" + } + }, + "70-5-11": { + "description": "IE", + "internalId": "47", + "sort": { + "tag": "ValueId" + } + }, + "700-11-17": { + "description": "HsVar", + "internalId": "515", + "sort": { + "tag": "ValueId" + } + }, + "701-12-16": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "701-17-21": { + "description": "HsVar", + "internalId": "522", + "sort": { + "tag": "ValueId" + } + }, + "702-11-18": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "703-24-31": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "704-11-21": { + "description": "HsVar", + "internalId": "523", + "sort": { + "tag": "ValueId" + } + }, + "705-11-19": { + "description": "HsVar", + "internalId": "524", + "sort": { + "tag": "ValueId" + } + }, + "706-11-17": { + "description": "HsVar", + "internalId": "525", + "sort": { + "tag": "ValueId" + } + }, + "707-23-31": { + "description": "FieldOcc", + "internalId": "526", + "sort": { + "tag": "ValueId" + } + }, + "708-14-38": { + "description": "HsVar", + "internalId": "527", + "sort": { + "tag": "ValueId" + } + }, + "708-39-50": { + "description": "HsVar", + "internalId": "518", + "sort": { + "tag": "ValueId" + } + }, + "708-51-63": { + "description": "HsVar", + "internalId": "529", + "sort": { + "tag": "ValueId" + } + }, + "708-64-71": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "71-5-18": { + "description": "IE", + "internalId": "48", + "sort": { + "tag": "ValueId" + } + }, + "710-17-21": { + "description": "Match", + "internalId": "530", + "sort": { + "tag": "ValueId" + } + }, + "711-19-28": { + "description": "HsVar", + "internalId": "12", + "sort": { + "tag": "ValueId" + } + }, + "712-30-40": { + "description": "HsVar", + "internalId": "531", + "sort": { + "tag": "ValueId" + } + }, + "713-22-27": { + "description": "HsVar", + "internalId": "51", + "sort": { + "tag": "ValueId" + } + }, + "713-28-29": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "713-42-49": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "714-17-31": { + "description": "Match", + "internalId": "532", + "sort": { + "tag": "ValueId" + } + }, + "714-42-52": { + "description": "HsVar", + "internalId": "531", + "sort": { + "tag": "ValueId" + } + }, + "715-17-39": { + "description": "Match", + "internalId": "533", + "sort": { + "tag": "ValueId" + } + }, + "715-42-60": { + "description": "HsVar", + "internalId": "52", + "sort": { + "tag": "ValueId" + } + }, + "715-61-75": { + "description": "HsVar", + "internalId": "532", + "sort": { + "tag": "ValueId" + } + }, + "716-17-32": { + "description": "Match", + "internalId": "534", + "sort": { + "tag": "ValueId" + } + }, + "717-19-22": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "718-24-31": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "719-22-34": { + "description": "HsVar", + "internalId": "535", + "sort": { + "tag": "ValueId" + } + }, + "719-35-49": { + "description": "HsVar", + "internalId": "532", + "sort": { + "tag": "ValueId" + } + }, + "719-50-52": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "72-5-18": { + "description": "IE", + "internalId": "49", + "sort": { + "tag": "ValueId" + } + }, + "720-22-34": { + "description": "HsVar", + "internalId": "536", + "sort": { + "tag": "ValueId" + } + }, + "720-35-49": { + "description": "HsVar", + "internalId": "532", + "sort": { + "tag": "ValueId" + } + }, + "720-50-52": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "721-22-34": { + "description": "HsVar", + "internalId": "535", + "sort": { + "tag": "ValueId" + } + }, + "721-35-57": { + "description": "HsVar", + "internalId": "533", + "sort": { + "tag": "ValueId" + } + }, + "721-58-60": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "722-22-34": { + "description": "HsVar", + "internalId": "536", + "sort": { + "tag": "ValueId" + } + }, + "722-35-57": { + "description": "HsVar", + "internalId": "533", + "sort": { + "tag": "ValueId" + } + }, + "722-58-60": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "723-22-27": { + "description": "HsVar", + "internalId": "188", + "sort": { + "tag": "ValueId" + } + }, + "723-28-30": { + "description": "HsVar", + "internalId": "198", + "sort": { + "tag": "ValueId" + } + }, + "723-32-44": { + "description": "HsVar", + "internalId": "535", + "sort": { + "tag": "ValueId" + } + }, + "723-45-46": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "723-47-50": { + "description": "HsVar", + "internalId": "120", + "sort": { + "tag": "ValueId" + } + }, + "723-52-59": { + "description": "HsVar", + "internalId": "537", + "sort": { + "tag": "ValueId" + } + }, + "723-60-62": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "724-22-27": { + "description": "HsVar", + "internalId": "188", + "sort": { + "tag": "ValueId" + } + }, + "724-28-30": { + "description": "HsVar", + "internalId": "198", + "sort": { + "tag": "ValueId" + } + }, + "724-32-44": { + "description": "HsVar", + "internalId": "536", + "sort": { + "tag": "ValueId" + } + }, + "724-45-46": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "724-47-50": { + "description": "HsVar", + "internalId": "120", + "sort": { + "tag": "ValueId" + } + }, + "724-52-59": { + "description": "HsVar", + "internalId": "537", + "sort": { + "tag": "ValueId" + } + }, + "725-17-27": { + "description": "Match", + "internalId": "538", + "sort": { + "tag": "ValueId" + } + }, + "726-19-30": { + "description": "HsVar", + "internalId": "539", + "sort": { + "tag": "ValueId" + } + }, + "727-21-32": { + "description": "HsVar", + "internalId": "518", + "sort": { + "tag": "ValueId" + } + }, + "728-23-33": { + "description": "HsVar", + "internalId": "531", + "sort": { + "tag": "ValueId" + } + }, + "728-35-40": { + "description": "HsVar", + "internalId": "51", + "sort": { + "tag": "ValueId" + } + }, + "728-41-42": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "728-55-62": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "728-64-65": { + "description": "HsVar", + "internalId": "195", + "sort": { + "tag": "ValueId" + } + }, + "728-66-81": { + "description": "HsVar", + "internalId": "534", + "sort": { + "tag": "ValueId" + } + }, + "729-21-30": { + "description": "HsVar", + "internalId": "541", + "sort": { + "tag": "ValueId" + } + }, + "73-5-26": { + "description": "IE", + "internalId": "50", + "sort": { + "tag": "ValueId" + } + }, + "730-17-22": { + "description": "Match", + "internalId": "542", + "sort": { + "tag": "ValueId" + } + }, + "731-19-41": { + "description": "HsVar", + "internalId": "543", + "sort": { + "tag": "ValueId" + } + }, + "732-21-32": { + "description": "HsVar", + "internalId": "518", + "sort": { + "tag": "ValueId" + } + }, + "733-21-31": { + "description": "HsVar", + "internalId": "531", + "sort": { + "tag": "ValueId" + } + }, + "734-21-25": { + "description": "HsVar", + "internalId": "530", + "sort": { + "tag": "ValueId" + } + }, + "735-21-28": { + "description": "HsVar", + "internalId": "537", + "sort": { + "tag": "ValueId" + } + }, + "736-21-29": { + "description": "HsVar", + "internalId": "544", + "sort": { + "tag": "ValueId" + } + }, + "737-34-41": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "738-17-26": { + "description": "Match", + "internalId": "545", + "sort": { + "tag": "ValueId" + } + }, + "739-19-32": { + "description": "HsVar", + "internalId": "546", + "sort": { + "tag": "ValueId" + } + }, + "74-5-10": { + "description": "IE", + "internalId": "51", + "sort": { + "tag": "ValueId" + } + }, + "740-21-46": { + "description": "HsVar", + "internalId": "547", + "sort": { + "tag": "ValueId" + } + }, + "741-21-31": { + "description": "HsVar", + "internalId": "523", + "sort": { + "tag": "ValueId" + } + }, + "742-24-32": { + "description": "HsVar", + "internalId": "524", + "sort": { + "tag": "ValueId" + } + }, + "742-34-40": { + "description": "HsVar", + "internalId": "525", + "sort": { + "tag": "ValueId" + } + }, + "742-43-48": { + "description": "HsVar", + "internalId": "542", + "sort": { + "tag": "ValueId" + } + }, + "743-21-29": { + "description": "HsVar", + "internalId": "548", + "sort": { + "tag": "ValueId" + } + }, + "744-18-28": { + "description": "HsVar", + "internalId": "538", + "sort": { + "tag": "ValueId" + } + }, + "744-30-39": { + "description": "HsVar", + "internalId": "545", + "sort": { + "tag": "ValueId" + } + }, + "747-18-23": { + "description": "HsVar", + "internalId": "51", + "sort": { + "tag": "ValueId" + } + }, + "747-24-25": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "747-38-45": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "749-17-30": { + "description": "HsVar", + "internalId": "520", + "sort": { + "tag": "ValueId" + } + }, + "750-19-30": { + "description": "HsVar", + "internalId": "518", + "sort": { + "tag": "ValueId" + } + }, + "751-19-25": { + "description": "HsVar", + "internalId": "515", + "sort": { + "tag": "ValueId" + } + }, + "752-19-26": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "753-20-24": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "753-25-29": { + "description": "HsVar", + "internalId": "549", + "sort": { + "tag": "ValueId" + } + }, + "754-32-39": { + "description": "HsVar", + "internalId": "516", + "sort": { + "tag": "ValueId" + } + }, + "755-19-29": { + "description": "HsVar", + "internalId": "523", + "sort": { + "tag": "ValueId" + } + }, + "756-19-27": { + "description": "HsVar", + "internalId": "524", + "sort": { + "tag": "ValueId" + } + }, + "757-19-25": { + "description": "HsVar", + "internalId": "525", + "sort": { + "tag": "ValueId" + } + }, + "758-26-32": { + "description": "HsVar", + "internalId": "515", + "sort": { + "tag": "ValueId" + } + }, + "759-1-20": { + "description": "Match", + "internalId": "486", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "759-36-42": { + "description": "HsVar", + "internalId": "550", + "sort": { + "tag": "ValueId" + } + }, + "76-22-40": { + "description": "IE", + "internalId": "52", + "sort": { + "tag": "ValueId" + } + }, + "76-8-21": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Core.Type", + "name": "GHC.Core.Type", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "761-1-14": { + "description": "TypeSig", + "internalId": "520", + "sort": { + "tag": "ValueId" + } + }, + "762-6-17": { + "description": "HsTyVar", + "internalId": "474", + "sort": { + "tag": "TypeId" + } + }, + "763-30-57": { + "description": "HsTyVar", + "internalId": "245", + "sort": { + "tag": "TypeId" + } + }, + "763-7-28": { + "description": "HsTyVar", + "internalId": "243", + "sort": { + "tag": "TypeId" + } + }, + "764-12-16": { + "description": "HsTyVar", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "764-6-11": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "765-12-16": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "765-6-11": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "766-6-12": { + "description": "HsTyVar", + "internalId": "114", + "sort": { + "tag": "TypeId" + } + }, + "767-6-9": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "768-6-9": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "769-6-9": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "77-24-38": { + "description": "IE", + "internalId": "53", + "sort": { + "tag": "ValueId" + } + }, + "77-39-48": { + "description": "IE", + "internalId": "54", + "sort": { + "tag": "ValueId" + } + }, + "77-8-22": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Core.TyCon", + "name": "GHC.Core.TyCon", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "770-30-57": { + "description": "HsTyVar", + "internalId": "245", + "sort": { + "tag": "TypeId" + } + }, + "770-7-28": { + "description": "HsTyVar", + "internalId": "243", + "sort": { + "tag": "TypeId" + } + }, + "771-1-14": { + "description": "Match", + "internalId": "520", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "772-27-38": { + "description": "HsVar", + "internalId": "552", + "sort": { + "tag": "ValueId" + } + }, + "772-7-12": { + "description": "Match", + "internalId": "551", + "sort": { + "tag": "ValueId" + } + }, + "773-7-17": { + "description": "Match", + "internalId": "553", + "sort": { + "tag": "ValueId" + } + }, + "774-9-14": { + "description": "HsVar", + "internalId": "188", + "sort": { + "tag": "ValueId" + } + }, + "775-11-20": { + "description": "HsVar", + "internalId": "554", + "sort": { + "tag": "ValueId" + } + }, + "777-14-25": { + "description": "HsVar", + "internalId": "539", + "sort": { + "tag": "ValueId" + } + }, + "778-16-27": { + "description": "HsVar", + "internalId": "552", + "sort": { + "tag": "ValueId" + } + }, + "779-17-20": { + "description": "HsVar", + "internalId": "234", + "sort": { + "tag": "ValueId" + } + }, + "779-24-31": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "779-33-34": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "779-35-47": { + "description": "HsVar", + "internalId": "535", + "sort": { + "tag": "ValueId" + } + }, + "779-48-52": { + "description": "HsVar", + "internalId": "555", + "sort": { + "tag": "ValueId" + } + }, + "779-53-55": { + "description": "HsVar", + "internalId": "143", + "sort": { + "tag": "ValueId" + } + }, + "779-56-68": { + "description": "HsVar", + "internalId": "536", + "sort": { + "tag": "ValueId" + } + }, + "779-69-73": { + "description": "HsVar", + "internalId": "555", + "sort": { + "tag": "ValueId" + } + }, + "78-8-45": { + "description": "ImportDecl", + "sort": { + "contents": { + "endColumn": 1, + "endLine": 1, + "moduleName": "HaskellCodeExplorer.AST.RenamedSource", + "modulePath": "src/HaskellCodeExplorer/AST/RenamedSource.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 1, + "tag": "ExactLocation" + }, + "tag": "ModuleId" + } + }, + "780-16-25": { + "description": "HsVar", + "internalId": "554", + "sort": { + "tag": "ValueId" + } + }, + "781-11-17": { + "description": "HsVar", + "internalId": "556", + "sort": { + "tag": "ValueId" + } + }, + "782-7-12": { + "description": "Match", + "internalId": "557", + "sort": { + "tag": "ValueId" + } + }, + "783-9-33": { + "description": "RecordCon", + "internalId": "558", + "sort": { + "tag": "ValueId" + } + }, + "784-13-23": { + "description": "FieldOcc", + "internalId": "560", + "sort": { + "tag": "ValueId" + } + }, + "784-26-30": { + "description": "HsVar", + "internalId": "561", + "sort": { + "tag": "ValueId" + } + }, + "784-32-46": { + "description": "HsVar", + "internalId": "259", + "sort": { + "tag": "ValueId" + } + }, + "784-47-48": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "784-49-56": { + "description": "HsVar", + "internalId": "562", + "sort": { + "tag": "ValueId" + } + }, + "784-58-64": { + "description": "HsVar", + "internalId": "563", + "sort": { + "tag": "ValueId" + } + }, + "785-13-40": { + "description": "FieldOcc", + "internalId": "564", + "sort": { + "tag": "ValueId" + } + }, + "786-15-29": { + "description": "HsVar", + "internalId": "259", + "sort": { + "tag": "ValueId" + } + }, + "786-30-31": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "786-32-38": { + "description": "HsVar", + "internalId": "204", + "sort": { + "tag": "ValueId" + } + }, + "786-39-40": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "786-41-45": { + "description": "HsVar", + "internalId": "263", + "sort": { + "tag": "ValueId" + } + }, + "786-46-47": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "786-48-54": { + "description": "HsVar", + "internalId": "101", + "sort": { + "tag": "ValueId" + } + }, + "786-55-56": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "786-57-67": { + "description": "HsVar", + "internalId": "93", + "sort": { + "tag": "ValueId" + } + }, + "786-68-71": { + "description": "HsVar", + "internalId": "565", + "sort": { + "tag": "ValueId" + } + }, + "786-72-78": { + "description": "HsVar", + "internalId": "563", + "sort": { + "tag": "ValueId" + } + }, + "787-13-21": { + "description": "FieldOcc", + "internalId": "566", + "sort": { + "tag": "ValueId" + } + }, + "787-24-29": { + "description": "HsVar", + "internalId": "295", + "sort": { + "tag": "ValueId" + } + }, + "788-13-31": { + "description": "FieldOcc", + "internalId": "567", + "sort": { + "tag": "ValueId" + } + }, + "788-34-41": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "789-13-22": { + "description": "FieldOcc", + "internalId": "568", + "sort": { + "tag": "ValueId" + } + }, + "789-25-31": { + "description": "HsVar", + "internalId": "431", + "sort": { + "tag": "ValueId" + } + }, + "789-32-35": { + "description": "HsVar", + "internalId": "565", + "sort": { + "tag": "ValueId" + } + }, + "789-36-42": { + "description": "HsVar", + "internalId": "556", + "sort": { + "tag": "ValueId" + } + }, + "79-8-49": { + "description": "ImportDecl", + "sort": { + "contents": { + "endColumn": 1, + "endLine": 1, + "moduleName": "HaskellCodeExplorer.AST.TypecheckedSource", + "modulePath": "src/HaskellCodeExplorer/AST/TypecheckedSource.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 1, + "tag": "ExactLocation" + }, + "tag": "ModuleId" + } + }, + "790-13-26": { + "description": "FieldOcc", + "internalId": "569", + "sort": { + "tag": "ValueId" + } + }, + "790-29-36": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "791-13-24": { + "description": "FieldOcc", + "internalId": "570", + "sort": { + "tag": "ValueId" + } + }, + "791-27-32": { + "description": "HsVar", + "internalId": "571", + "sort": { + "tag": "ValueId" + } + }, + "792-13-17": { + "description": "FieldOcc", + "internalId": "572", + "sort": { + "tag": "ValueId" + } + }, + "793-15-20": { + "description": "HsVar", + "internalId": "188", + "sort": { + "tag": "ValueId" + } + }, + "794-17-27": { + "description": "HsVar", + "internalId": "573", + "sort": { + "tag": "ValueId" + } + }, + "796-25-41": { + "description": "HsVar", + "internalId": "353", + "sort": { + "tag": "ValueId" + } + }, + "796-42-43": { + "description": "HsVar", + "internalId": "119", + "sort": { + "tag": "ValueId" + } + }, + "796-44-55": { + "description": "HsVar", + "internalId": "91", + "sort": { + "tag": "ValueId" + } + }, + "796-56-57": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "796-58-62": { + "description": "HsVar", + "internalId": "575", + "sort": { + "tag": "ValueId" + } + }, + "797-37-48": { + "description": "HsVar", + "internalId": "576", + "sort": { + "tag": "ValueId" + } + }, + "798-38-49": { + "description": "HsVar", + "internalId": "576", + "sort": { + "tag": "ValueId" + } + }, + "799-27-37": { + "description": "HsVar", + "internalId": "573", + "sort": { + "tag": "ValueId" + } + }, + "80-8-36": { + "description": "ImportDecl", + "sort": { + "contents": { + "endColumn": 1, + "endLine": 1, + "moduleName": "HaskellCodeExplorer.GhcUtils", + "modulePath": "src/HaskellCodeExplorer/GhcUtils.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 1, + "tag": "ExactLocation" + }, + "tag": "ModuleId" + } + }, + "800-17-23": { + "description": "HsVar", + "internalId": "563", + "sort": { + "tag": "ValueId" + } + }, + "802-7-16": { + "description": "Match", + "internalId": "578", + "sort": { + "tag": "ValueId" + } + }, + "803-9-22": { + "description": "HsVar", + "internalId": "546", + "sort": { + "tag": "ValueId" + } + }, + "804-11-36": { + "description": "HsVar", + "internalId": "547", + "sort": { + "tag": "ValueId" + } + }, + "805-11-21": { + "description": "HsVar", + "internalId": "579", + "sort": { + "tag": "ValueId" + } + }, + "806-14-22": { + "description": "HsVar", + "internalId": "580", + "sort": { + "tag": "ValueId" + } + }, + "806-24-30": { + "description": "HsVar", + "internalId": "581", + "sort": { + "tag": "ValueId" + } + }, + "806-33-38": { + "description": "HsVar", + "internalId": "557", + "sort": { + "tag": "ValueId" + } + }, + "807-11-19": { + "description": "HsVar", + "internalId": "582", + "sort": { + "tag": "ValueId" + } + }, + "808-20-29": { + "description": "HsVar", + "internalId": "578", + "sort": { + "tag": "ValueId" + } + }, + "808-8-18": { + "description": "HsVar", + "internalId": "553", + "sort": { + "tag": "ValueId" + } + }, + "81-42-72": { + "description": "IE", + "internalId": "55", + "sort": { + "tag": "ValueId" + } + }, + "81-8-40": { + "description": "ImportDecl", + "sort": { + "contents": { + "endColumn": 1, + "endLine": 1, + "moduleName": "HaskellCodeExplorer.Preprocessor", + "modulePath": "src/HaskellCodeExplorer/Preprocessor.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 1, + "tag": "ExactLocation" + }, + "tag": "ModuleId" + } + }, + "810-1-25": { + "description": "TypeSig", + "internalId": "527", + "sort": { + "tag": "ValueId" + } + }, + "811-6-17": { + "description": "HsTyVar", + "internalId": "474", + "sort": { + "tag": "TypeId" + } + }, + "812-12-23": { + "description": "HsTyVar", + "internalId": "16", + "sort": { + "tag": "TypeId" + } + }, + "812-25-27": { + "description": "HsTyVar", + "internalId": "104", + "sort": { + "tag": "TypeId" + } + }, + "812-29-34": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "812-36-40": { + "description": "HsTyVar", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "812-43-47": { + "description": "HsTyVar", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "812-6-11": { + "description": "HsTyVar", + "internalId": "299", + "sort": { + "tag": "TypeId" + } + }, + "813-6-20": { + "description": "HsTyVar", + "internalId": "514", + "sort": { + "tag": "TypeId" + } + }, + "814-13-15": { + "description": "HsTyVar", + "internalId": "104", + "sort": { + "tag": "TypeId" + } + }, + "814-17-22": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "814-24-28": { + "description": "HsTyVar", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "814-31-35": { + "description": "HsTyVar", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "814-6-11": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "815-1-25": { + "description": "Match", + "internalId": "527", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "816-24-28": { + "description": "HsVar", + "internalId": "584", + "sort": { + "tag": "ValueId" + } + }, + "816-8-23": { + "description": "HsVar", + "internalId": "583", + "sort": { + "tag": "ValueId" + } + }, + "817-17-21": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "817-22-25": { + "description": "HsVar", + "internalId": "585", + "sort": { + "tag": "ValueId" + } + }, + "819-12-18": { + "description": "HsVar", + "internalId": "586", + "sort": { + "tag": "ValueId" + } + }, + "82-18-43": { + "description": "ImportDecl", + "sort": { + "contents": { + "endColumn": 1, + "endLine": 1, + "moduleName": "HaskellCodeExplorer.Types", + "modulePath": "src/HaskellCodeExplorer/Types.hs", + "packageId": { + "name": "haskell-code-explorer", + "version": "0.2.0.0" + }, + "startColumn": 1, + "startLine": 1, + "tag": "ExactLocation" + }, + "tag": "ModuleId" + } + }, + "821-16-31": { + "description": "HsVar", + "internalId": "583", + "sort": { + "tag": "ValueId" + } + }, + "821-33-44": { + "description": "HsVar", + "internalId": "92", + "sort": { + "tag": "ValueId" + } + }, + "821-45-49": { + "description": "HsVar", + "internalId": "587", + "sort": { + "tag": "ValueId" + } + }, + "822-25-29": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "822-30-33": { + "description": "HsVar", + "internalId": "588", + "sort": { + "tag": "ValueId" + } + }, + "825-20-37": { + "description": "HsVar", + "internalId": "197", + "sort": { + "tag": "ValueId" + } + }, + "825-50-61": { + "description": "HsVar", + "internalId": "589", + "sort": { + "tag": "ValueId" + } + }, + "825-63-67": { + "description": "HsVar", + "internalId": "587", + "sort": { + "tag": "ValueId" + } + }, + "826-28-32": { + "description": "HsVar", + "internalId": "146", + "sort": { + "tag": "ValueId" + } + }, + "826-34-35": { + "description": "HsVar", + "internalId": "590", + "sort": { + "tag": "ValueId" + } + }, + "826-37-44": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "827-28-35": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "828-20-27": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "83-22-30": { + "description": "IE", + "internalId": "9", + "sort": { + "tag": "TypeId" + } + }, + "83-8-20": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Hs.Binds", + "name": "GHC.Hs.Binds", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "830-24-31": { + "description": "HsTyVar", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "830-35-40": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "830-42-44": { + "description": "HsTyVar", + "internalId": "104", + "sort": { + "tag": "TypeId" + } + }, + "830-46-51": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "830-5-20": { + "description": "TypeSig", + "internalId": "583", + "sort": { + "tag": "ValueId" + } + }, + "830-53-57": { + "description": "HsTyVar", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "830-60-64": { + "description": "HsTyVar", + "internalId": "38", + "sort": { + "tag": "TypeId" + } + }, + "831-5-20": { + "description": "Match", + "internalId": "583", + "sort": { + "tag": "ValueId" + } + }, + "832-12-13": { + "description": "HsVar", + "internalId": "591", + "sort": { + "tag": "ValueId" + } + }, + "833-31-39": { + "description": "HsVar", + "internalId": "326", + "sort": { + "tag": "ValueId" + } + }, + "833-40-44": { + "description": "HsVar", + "internalId": "592", + "sort": { + "tag": "ValueId" + } + }, + "833-45-57": { + "description": "HsVar", + "internalId": "593", + "sort": { + "tag": "ValueId" + } + }, + "834-31-38": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "835-1-25": { + "description": "Match", + "internalId": "527", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "835-50-57": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "837-1-12": { + "description": "TypeSig", + "internalId": "539", + "sort": { + "tag": "ValueId" + } + }, + "838-6-17": { + "description": "HsTyVar", + "internalId": "474", + "sort": { + "tag": "TypeId" + } + }, + "839-12-17": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "839-18-22": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "839-8-10": { + "description": "HsTyVar", + "internalId": "104", + "sort": { + "tag": "TypeId" + } + }, + "84-8-20": { + "description": "ImportDecl", + "sort": { + "contents": { + "componentId": "lib", + "entity": "Mod", + "moduleName": "GHC.Hs.Decls", + "name": "GHC.Hs.Decls", + "packageId": { + "name": "ghc", + "version": "9.10.2" + }, + "tag": "ApproximateLocation" + }, + "tag": "ModuleId" + } + }, + "840-6-27": { + "description": "HsTyVar", + "internalId": "243", + "sort": { + "tag": "TypeId" + } + }, + "841-6-27": { + "description": "HsTyVar", + "internalId": "243", + "sort": { + "tag": "TypeId" + } + }, + "842-1-12": { + "description": "Match", + "internalId": "539", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "843-27-38": { + "description": "HsVar", + "internalId": "595", + "sort": { + "tag": "ValueId" + } + }, + "843-7-12": { + "description": "Match", + "internalId": "594", + "sort": { + "tag": "ValueId" + } + }, + "844-7-13": { + "description": "TypeSig", + "internalId": "596", + "sort": { + "tag": "ValueId" + } + }, + "845-12-33": { + "description": "HsTyVar", + "internalId": "243", + "sort": { + "tag": "TypeId" + } + }, + "845-38-40": { + "description": "HsTyVar", + "internalId": "104", + "sort": { + "tag": "TypeId" + } + }, + "845-42-47": { + "description": "HsTyVar", + "internalId": "307", + "sort": { + "tag": "TypeId" + } + }, + "845-48-52": { + "description": "HsTyVar", + "internalId": "88", + "sort": { + "tag": "TypeId" + } + }, + "845-57-78": { + "description": "HsTyVar", + "internalId": "243", + "sort": { + "tag": "TypeId" + } + }, + "846-7-13": { + "description": "Match", + "internalId": "596", + "sort": { + "tag": "ValueId" + } + }, + "847-13-17": { + "description": "Match", + "internalId": "597", + "sort": { + "tag": "ValueId" + } + }, + "847-20-36": { + "description": "HsVar", + "internalId": "192", + "sort": { + "tag": "ValueId" + } + }, + "847-37-48": { + "description": "HsVar", + "internalId": "595", + "sort": { + "tag": "ValueId" + } + }, + "847-49-59": { + "description": "HsVar", + "internalId": "598", + "sort": { + "tag": "ValueId" + } + }, + "847-60-66": { + "description": "HsVar", + "internalId": "599", + "sort": { + "tag": "ValueId" + } + }, + "848-13-26": { + "description": "HsVar", + "internalId": "236", + "sort": { + "tag": "ValueId" + } + }, + "849-16-20": { + "description": "HsVar", + "internalId": "600", + "sort": { + "tag": "ValueId" + } + }, + "849-21-26": { + "description": "HsVar", + "internalId": "601", + "sort": { + "tag": "ValueId" + } + }, + "85-5-16": { + "description": "IE", + "internalId": "56", + "sort": { + "tag": "TypeId" + } + }, + "850-16-30": { + "description": "HsVar", + "internalId": "259", + "sort": { + "tag": "ValueId" + } + }, + "850-31-32": { + "description": "HsVar", + "internalId": "121", + "sort": { + "tag": "ValueId" + } + }, + "850-33-46": { + "description": "HsVar", + "internalId": "602", + "sort": { + "tag": "ValueId" + } + }, + "850-47-52": { + "description": "HsVar", + "internalId": "594", + "sort": { + "tag": "ValueId" + } + }, + "850-53-63": { + "description": "HsVar", + "internalId": "598", + "sort": { + "tag": "ValueId" + } + }, + "851-15-19": { + "description": "HsVar", + "internalId": "597", + "sort": { + "tag": "ValueId" + } + }, + "852-15-20": { + "description": "HsVar", + "internalId": "603", + "sort": { + "tag": "ValueId" + } + }, + "853-16-22": { + "description": "HsVar", + "internalId": "596", + "sort": { + "tag": "ValueId" + } + }, + "853-23-37": { + "description": "HsVar", + "internalId": "604", + "sort": { + "tag": "ValueId" + } + }, + "853-38-41": { + "description": "HsVar", + "internalId": "605", + "sort": { + "tag": "ValueId" + } + }, + "853-7-15": { + "description": "HsVar", + "internalId": "187", + "sort": { + "tag": "ValueId" + } + }, + "855-1-11": { + "description": "TypeSig", + "internalId": "508", + "sort": { + "tag": "ValueId" + } + }, + "856-6-34": { + "description": "HsTyVar", + "internalId": "267", + "sort": { + "tag": "TypeId" + } + }, + "857-20-27": { + "description": "HsTyVar", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "857-29-45": { + "description": "HsTyVar", + "internalId": "308", + "sort": { + "tag": "TypeId" + } + }, + "857-8-18": { + "description": "HsTyVar", + "internalId": "36", + "sort": { + "tag": "TypeId" + } + }, + "858-6-33": { + "description": "HsTyVar", + "internalId": "245", + "sort": { + "tag": "TypeId" + } + }, + "859-6-33": { + "description": "HsTyVar", + "internalId": "245", + "sort": { + "tag": "TypeId" + } + }, + "86-5-11": { + "description": "IE", + "internalId": "57", + "sort": { + "tag": "TypeId" + } + }, + "860-1-11": { + "description": "Match", + "internalId": "508", + "isBinder": true, + "sort": { + "tag": "ValueId" + } + }, + "861-7-13": { + "description": "TypeSig", + "internalId": "606", + "sort": { + "tag": "ValueId" + } + }, + "862-12-21": { + "description": "HsTyVar", + "internalId": "607", + "sort": { + "tag": "TypeId" + } + }, + "862-25-28": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "862-30-33": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "862-36-60": { + "description": "HsTyVar", + "internalId": "608", + "sort": { + "tag": "TypeId" + } + }, + "863-13-14": { + "description": "HsTyVar", + "internalId": "609", + "sort": { + "tag": "TypeId" + } + }, + "863-16-23": { + "description": "HsTyVar", + "internalId": "15", + "sort": { + "tag": "TypeId" + } + }, + "863-25-41": { + "description": "HsTyVar", + "internalId": "308", + "sort": { + "tag": "TypeId" + } + }, + "864-12-21": { + "description": "HsTyVar", + "internalId": "607", + "sort": { + "tag": "TypeId" + } + }, + "864-25-28": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "864-30-33": { + "description": "HsTyVar", + "internalId": "254", + "sort": { + "tag": "TypeId" + } + }, + "864-36-60": { + "description": "HsTyVar", + "internalId": "608", + "sort": { + "tag": "TypeId" + } + }, + "865-7-13": { + "description": "Match", + "internalId": "606", + "sort": { + "tag": "ValueId" + } + }, + "867-12-38": { + "description": "HsVar", + "internalId": "423", + "sort": { + "tag": "ValueId" + } + }, + "867-39-53": { + "description": "HsVar", + "internalId": "610", + "sort": { + "tag": "ValueId" + } + }, + "867-54-58": { + "description": "HsVar", + "internalId": "611", + "sort": { + "tag": "ValueId" + } + }, + "868-15-20": { + "description": "Match", + "internalId": "612", + "sort": { + "tag": "ValueId" + } + }, + "869-17-41": { + "description": "RecordCon", + "internalId": "558", + "sort": { + "tag": "ValueId" + } + }, + "87-5-17": { + "description": "IE", + "internalId": "58", + "sort": { + "tag": "TypeId" + } + }, + "870-21-31": { + "description": "FieldOcc", + "internalId": "560", + "sort": { + "tag": "ValueId" + } + }, + "870-34-41": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "871-21-48": { + "description": "FieldOcc", + "internalId": "564", + "sort": { + "tag": "ValueId" + } + }, + "871-51-58": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "872-21-29": { + "description": "FieldOcc", + "internalId": "566", + "sort": { + "tag": "ValueId" + } + }, + "872-32-37": { + "description": "HsVar", + "internalId": "295", + "sort": { + "tag": "ValueId" + } + }, + "873-21-39": { + "description": "FieldOcc", + "internalId": "567", + "sort": { + "tag": "ValueId" + } + }, + "873-42-49": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "874-21-30": { + "description": "FieldOcc", + "internalId": "568", + "sort": { + "tag": "ValueId" + } + }, + "874-33-40": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "875-21-34": { + "description": "FieldOcc", + "internalId": "569", + "sort": { + "tag": "ValueId" + } + }, + "875-37-44": { + "description": "HsVar", + "internalId": "148", + "sort": { + "tag": "ValueId" + } + }, + "876-21-32": { + "description": "FieldOcc", + "internalId": "570", + "sort": { + "tag": "ValueId" + } + }, + "877-21-25": { + "description": "FieldOcc", + "internalId": "572", + "sort": { + "tag": "ValueId" + } + }, + "877-28-40": { + "description": "HsVar", + "internalId": "613", + "sort": { + "tag": "ValueId" + } + }, + "877-41-48": { + "description": "HsVar", + "internalId": "615", + "sort": { + "tag": "ValueId" + } + }, + "879-15-28": { + "description": "HsVar", + "internalId": "546", + "sort": { + "tag": "ValueId" + } + }, + "88-5-14": { + "description": "IE", + "internalId": "59", + "sort": { + "tag": "TypeId" + } + }, + "880-17-42": { + "description": "HsVar", + "internalId": "547", + "sort": { + "tag": "ValueId" + } + }, + "881-17-27": { + "description": "HsVar", + "internalId": "616", + "sort": { + "tag": "ValueId" + } + }, + "882-20-28": { + "description": "HsVar", + "internalId": "617", + "sort": { + "tag": "ValueId" + } + }, + "882-30-36": { + "description": "HsVar", + "internalId": "618", + "sort": { + "tag": "ValueId" + } + }, + "882-39-44": { + "description": "HsVar", + "internalId": "612", + "sort": { + "tag": "ValueId" + } + }, + "883-17-25": { + "description": "HsVar", + "internalId": "619", + "sort": { + "tag": "ValueId" + } + }, + "884-27-35": { + "description": "HsVar", + "internalId": "620", + "sort": { + "tag": "ValueId" + } + }, + "884-7-13": { + "description": "Match", + "internalId": "606", + "sort": { + "tag": "ValueId" + } + }, + "885-16-22": { + "description": "HsVar", + "internalId": "606", + "sort": { + "tag": "ValueId" + } + }, + "885-23-28": { + "description": "HsVar", + "internalId": "621", + "sort": { + "tag": "ValueId" + } + }, + "885-29-36": { + "description": "HsVar", + "internalId": "622", + "sort": { + "tag": "ValueId" + } + }, + "885-7-15": { + "description": "HsVar", + "internalId": "187", + "sort": { + "tag": "ValueId" + } + }, + "89-5-14": { + "description": "IE", + "internalId": "60", + "sort": { + "tag": "TypeId" + } + }, + "90-5-12": { + "description": "IE", + "internalId": "61", + "sort": { + "tag": "TypeId" + } + }, + "91-5-12": { + "description": "IE", + "internalId": "62", + "sort": { + "tag": "TypeId" + } + }, + "92-5-13": { + "description": "IE", + "internalId": "63", + "sort": { + "tag": "TypeId" + } + }, + "93-5-13": { + "description": "IE", + "internalId": "64", + "sort": { + "tag": "TypeId" + } + }, + "94-5-13": { + "description": "IE", + "internalId": "63", + "sort": { + "tag": "TypeId" + } + }, + "95-5-17": { + "description": "IE", + "internalId": "65", + "sort": { + "tag": "ValueId" + } + }, + "96-5-18": { + "description": "IE", + "internalId": "66", + "sort": { + "tag": "ValueId" + } + }, + "97-5-12": { + "description": "IE", + "internalId": "67", + "sort": { + "tag": "ValueId" + } + }, + "98-5-21": { + "description": "IE", + "internalId": "68", + "sort": { + "tag": "ValueId" + } + } + }, + "sourceCodeHtml": "
1{-# LANGUAGE CPP #-}
2{-# LANGUAGE TupleSections #-}
3{-# LANGUAGE LambdaCase #-}
4{-# LANGUAGE RecordWildCards #-}
5{-# LANGUAGE NamedFieldPuns #-}
6{-# LANGUAGE DuplicateRecordFields #-}
7{-# LANGUAGE ScopedTypeVariables #-}
8{-# LANGUAGE OverloadedStrings #-}
9{-# LANGUAGE FlexibleContexts #-}
10{-# LANGUAGE StrictData #-}
11{-# LANGUAGE TypeApplications #-}
12
13module HaskellCodeExplorer.ModuleInfo
14 ( createModuleInfo
15 , ModuleDependencies
16 ) where
17
18import qualified Data.Generics.Uniplate.Data as U
19import GHC.Unit.State (UnitState)
20import Control.Monad.State.Strict (execState,evalState,get,put,State)
21import qualified Data.Aeson as Aeson
22import Data.Aeson.Text(encodeToLazyText)
23import qualified Data.Vector as V
24import qualified Data.HashMap.Strict as HM
25import qualified Data.Map.Strict as M
26import qualified Data.IntMap.Strict as IM
27import qualified Data.IntervalMap.Strict as IVM
28import GHC.Hs.Binds (HsBindLR, LHsBindLR)
29import qualified Data.List as L hiding (span)
30import Data.Maybe (fromMaybe, mapMaybe)
31import GHC.Hs.Extension (GhcRn)
32import GHC.Types.SrcLoc
33 ( SrcSpan(..) -- 关键:带入 RealSrcSpan/UnhelpfulSpan 构造子
34 , RealSrcSpan
35 , srcSpanStartLine
36 , srcSpanStartCol
37 )
38import qualified Data.Set as S
39import GHC.Hs.Utils (collectHsBindBinders, CollectFlag(..))
40import qualified Data.Text as T
41import GHC.Driver.Env(hsc_unit_env, HscEnv)
42import GHC.Unit.Env (ue_units)
43import qualified Data.Text.Encoding as TE
44import GHC.Types.Unique.DFM ( eltsUDFM )
45import Data.Text.Lazy (toStrict)
46import Documentation.Haddock.Types (DocH)
47import GHC.Utils.Outputable (showSDocUnsafe)
48import GHC.Driver.Session
49 ( DynFlags
50 , targetPlatform )
51import GHC
52 ( GenLocated(..)
53 , pprParenSymName
54 , ModSummary
55 , locA
56 , getLocA
57 , ModuleInfo
58 , ModuleName
59 , SrcSpan
60 , TyThing(..)
61 , Type
62 , TypecheckedModule
63 , getLoc
64 , isGoodSrcSpan
65 , modInfoExportsWithSelectors
66 , modInfoInstances
67 , moduleInfo
68 , moduleNameString
69 , ms_hspp_buf
70 , ms_mod
71 , renamedSource
72 , tm_internals_
73 , tm_typechecked_source
74 , unLoc
75 )
76import GHC.Core.Type(expandTypeSynonyms)
77import GHC.Core.TyCon (isFamInstTyCon,tyConName)
78import HaskellCodeExplorer.AST.RenamedSource
79import HaskellCodeExplorer.AST.TypecheckedSource
80import HaskellCodeExplorer.GhcUtils
81import HaskellCodeExplorer.Preprocessor (createSourceCodeTransformation)
82import qualified HaskellCodeExplorer.Types as HCE
83import GHC.Hs.Binds (HsBindLR)
84import GHC.Hs.Decls
85 ( ForeignDecl(..)
86 , HsDecl(..)
87 , LForeignDecl(..)
88 , LInstDecl(..)
89 , LTyClDecl(..)
90 , LHsDecl
91 , HsGroup(..)
92 , InstDecl
93 , TyClDecl
94 , InstDecl(..)
95 , group_tyclds
96 , tyClDeclLName
97 , tcdName
98 , hsGroupInstDecls
99 )
100import GHC.Hs.Doc
101 ( HsDocString
102 , LHsDoc(..)
103 , WithHsDocIdentifiers(..) )
104import GHC.Hs.ImpExp (IE(..), ImportDecl(..), ideclImplicit)
105import GHC.Hs.Utils(collectHsBindBinders)
106import GHC.Unit.External
107 ( ExternalPackageState
108 , eps_PTE
109 , eps_inst_env)
110import GHC.Unit.Home.ModInfo
111 ( HomePackageTable
112 , hm_details)
113import GHC.Unit.Module.ModDetails
114 ( md_types )
115import GHC.Types.TypeEnv
116 ( TypeEnv
117 , mkTypeEnv
118 , typeEnvElts )
119import GHC.Core.InstEnv (InstEnvs(..), is_dfun)
120import GHC.Unit.Module(Module(..), moduleName)
121import GHC.Types.Name (Name, OccName, getSrcSpan, nameOccName, nameSrcSpan, nameUnique)
122import Prelude hiding(id,span)
123import GHC.Types.Name.Reader(GlobalRdrEnv)
124import GHC.Types.SrcLoc (isOneLineSpan, RealSrcSpan(..), srcSpanStartLine, srcSpanStartCol)
125import GHC.Tc.Types (tcVisibleOrphanMods, tcg_inst_env, tcg_rdr_env, tcg_type_env)
126import qualified Text.Blaze.Html5 as H
127import qualified Text.Blaze.Html5.Attributes as A
128import GHC.Types.Unique (getKey)
129import GHC.Types.Var (varName, varType,Id)
130import GHC.Types.Var.Env (emptyTidyEnv)
131
132type ModuleDependencies
133 = ( HM.HashMap HCE.HaskellFilePath HCE.HaskellModulePath
134 , HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap
135 , HM.HashMap HCE.HaskellModuleName (HM.HashMap HCE.ComponentId HCE.HaskellModulePath))
136
137type ModuleGhcData
138 = ( DynFlags
139 , TypecheckedModule
140 , HomePackageTable
141 , ExternalPackageState
142 , ModSummary)
143
144createModuleInfo ::
145 ModuleDependencies -- ^ Modules that have already been indexed
146 -> ModuleGhcData -- ^ Data types from GHC
147 -> HCE.HaskellModulePath -- ^ Current module path
148 -> HCE.PackageId -- ^ Current package id
149 -> HCE.ComponentId -- ^ Current build component id
150 -> (T.Text, HCE.SourceCodePreprocessing) -- ^ Source code
151 -> HscEnv
152 -> (HCE.ModuleInfo, ModuleDependencies, [TypeError])
153createModuleInfo (fileMap, defSiteMap, moduleNameMap) (flags, typecheckedModule, homePackageTable, externalPackageState, modSum) modulePath currentPackageId compId (originalSourceCode, sourceCodePreprocessing) hscEnv=
154 let globalRdrEnv = tcg_rdr_env . fst . tm_internals_ $ typecheckedModule
155 modInfo = moduleInfo typecheckedModule
156 (Just (hsGroup, _, _, _, _)) = renamedSource typecheckedModule
157 exportedNamesSet = S.fromList $ modInfoExportsWithSelectors modInfo
158 --------------------------------------------------------------------------------
159 -- Preprocessed source
160 --------------------------------------------------------------------------------
161 (transformation, sourceCode') =
162 prepareSourceCode
163 sourceCodePreprocessing
164 originalSourceCode
165 modSum
166 modulePath
167 includedFiles = HM.keys $ HCE.fileIndex transformation
168 --------------------------------------------------------------------------------
169 -- Type environment
170 --------------------------------------------------------------------------------
171 (tcGblEnv, _) = tm_internals_ typecheckedModule
172 currentModuleTyThings = typeEnvElts $ tcg_type_env tcGblEnv
173 homePackageTyThings =
174 concatMap (typeEnvElts . md_types . hm_details) $
175 eltsUDFM homePackageTable
176 externalPackagesTyThings = typeEnvElts $ eps_PTE externalPackageState
177 typeEnv =
178 mkTypeEnv
179 (currentModuleTyThings ++
180 homePackageTyThings ++ externalPackagesTyThings)
181 --------------------------------------------------------------------------------
182 -- Exported entities
183 --------------------------------------------------------------------------------
184 dataFamTyCons =
185 mapMaybe
186 (\\case
187 ATyCon tc
188 | isFamInstTyCon tc -> Just $ tyConName tc
189 _ -> Nothing)
190 currentModuleTyThings
191 (defSites, allNames) =
192 createDefinitionSiteMap
193 unitState
194 flags
195 currentPackageId
196 compId
197 defSiteMap
198 fileMap
199 globalRdrEnv
200 transformation
201 modInfo
202 dataFamTyCons
203 hsGroup
204 --------------------------------------------------------------------------------
205 -- Instance environment
206 --------------------------------------------------------------------------------
207 homeInstEnv = tcg_inst_env tcGblEnv
208 visOrphanModules = tcVisibleOrphanMods tcGblEnv
209 packageInstEnv = eps_inst_env externalPackageState
210 instEnv = InstEnvs packageInstEnv homeInstEnv visOrphanModules
211 --------------------------------------------------------------------------------
212 declarations =
213 createDeclarations flags hsGroup typeEnv exportedNamesSet transformation
214 unitState = ue_units (hsc_unit_env hscEnv)
215 environment =
216 Environment
217 { envDynFlags = flags
218 , envInstEnv = instEnv
219 , envTypeEnv = typeEnv
220 , envTransformation = transformation
221 , envCurrentModuleDefSites = defSites
222 , envFileMap = fileMap
223 , envDefSiteMap = defSiteMap
224 , envModuleNameMap = moduleNameMap
225 , envPackageId = currentPackageId
226 , envComponentId = compId
227 , envExportedNames = exportedNamesSet
228 , envUnitState = unitState
229 }
230 externalIds =
231 L.foldl'
232 (\\acc name ->
233 maybe
234 acc
235 (\\id -> (HCE.ExternalIdentifierInfo $ mkIdentifierInfo environment id (Just name)) : acc)
236 (lookupIdInTypeEnv typeEnv name))
237 []
238 allNames
239 currentModuleName =
240 HCE.HaskellModuleName . T.pack
241 . moduleNameString . moduleName . ms_mod
242 $ modSum
243 -- currentModuleName =
244 -- (\\(Module _ name) ->
245 -- HCE.HaskellModuleName . T.pack . moduleNameString $ name) .
246 -- ms_mod $
247 -- modSum
248 SourceInfo {..} = foldAST unitState environment typecheckedModule
249 in (tidyInternalIds HCE.ModuleInfo
250 { id = modulePath
251 , transformation = transformation
252 , name = currentModuleName
253 , declarations = declarations
254 , exprInfoMap = sourceInfoExprMap
255 , idInfoMap = sourceInfoIdMap
256 , idOccMap = sourceInfoIdOccMap
257 , definitionSiteMap = defSites
258 , source = V.fromList . T.splitOn "\\n" $ sourceCode'
259 , externalIds = externalIds
260 }
261 , if not $ isHsBoot modulePath
262 then (HM.union
263 (HM.fromList .
264 (( HCE.HaskellFilePath $ HCE.getHaskellModulePath modulePath
265 , modulePath) :) .
266 map (, modulePath) $
267 includedFiles)
268 fileMap
269 , HM.union (HM.singleton modulePath defSites) defSiteMap
270 , HM.insertWith HM.union currentModuleName
271 (HM.singleton compId modulePath) moduleNameMap)
272 else (fileMap, defSiteMap, moduleNameMap)
273 , sourceInfoTypeErrors)
274
275data SourceInfo = SourceInfo
276 { sourceInfoExprMap :: HCE.ExpressionInfoMap
277 , sourceInfoIdMap :: HCE.IdentifierInfoMap
278 , sourceInfoIdOccMap :: HCE.IdentifierOccurrenceMap
279 , sourceInfoTypeErrors :: [TypeError]
280 } deriving (Show, Eq)
281
282tidyInternalIds :: HCE.ModuleInfo -> HCE.ModuleInfo
283tidyInternalIds modInfo = evalState (U.transformBiM tidy modInfo) (HM.empty, 0)
284 where
285 tidy ::
286 HCE.InternalId -> State (HM.HashMap T.Text T.Text, Int) HCE.InternalId
287 tidy (HCE.InternalId text) = do
288 (hmap, number) <- get
289 case HM.lookup text hmap of
290 Just val -> return $ HCE.InternalId val
291 Nothing -> do
292 let nextInternalId = T.pack . show $ number
293 put (HM.insert text nextInternalId hmap, number + 1)
294 return $ HCE.InternalId nextInternalId
295
296prepareSourceCode ::
297 HCE.SourceCodePreprocessing
298 -> T.Text
299 -> ModSummary
300 -> HCE.HaskellModulePath
301 -> (HCE.SourceCodeTransformation, T.Text)
302prepareSourceCode sourceCodePreprocessing originalSourceCode modSum modulePath =
303 let sourceCodeAfterPreprocessing =
304 case TE.decodeUtf8' $
305 maybe
306 (error "ms_hspp_buf is Nothing")
307 stringBufferToByteString
308 (ms_hspp_buf modSum) of
309 Right text -> T.replace "\\t" " " text
310 Left err ->
311 error $
312 "decodeUtf8' : " ++ show err ++ " , file : " ++ show modulePath
313 in case sourceCodePreprocessing of
314 HCE.BeforePreprocessing ->
315 let sourceCodeLines = T.splitOn "\\n" originalSourceCode
316 in ( HCE.SourceCodeTransformation
317 (length sourceCodeLines)
318 modulePath
319 S.empty
320 HM.empty
321 , originalSourceCode)
322 HCE.AfterPreprocessing ->
323 createSourceCodeTransformation
324 modulePath
325 originalSourceCode
326 sourceCodeAfterPreprocessing
327
328createDefinitionSiteMap ::
329 UnitState
330 -> DynFlags
331 -> HCE.PackageId
332 -> HCE.ComponentId
333 -> HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap
334 -> HM.HashMap HCE.HaskellFilePath HCE.HaskellModulePath
335 -> GlobalRdrEnv
336 -> HCE.SourceCodeTransformation
337 -> ModuleInfo
338 -> [Name]
339 -> HsGroup GhcRn
340 -> (HCE.DefinitionSiteMap, [Name])
341createDefinitionSiteMap unitState flags currentPackageId compId defSiteMap fileMap globalRdrEnv transformation modInfo dataFamTyCons hsGroup =
342 let
343 --------------------------------------------------------------------------------
344 -- Collect declarations
345 --------------------------------------------------------------------------------
346 allDecls :: [LHsDecl GhcRn]
347 allDecls =
348 L.sortOn
349 (\\d -> case locA (getLocA d) of
350 RealSrcSpan r _ -> (srcSpanStartLine r, srcSpanStartCol r)
351 _ -> (maxBound :: Int, maxBound :: Int))
352 (ungroup hsGroup)
353
354 (instanceDeclsWithDocs, valueAndTypeDeclsWithDocs) =
355 L.partition
356 (\\(L _ decl, _) ->
357 case decl of
358 InstD {} -> True
359 _ -> False)
360 (collectDocs allDecls)
361
362 --------------------------------------------------------------------------------
363 -- Instances
364 --------------------------------------------------------------------------------
365 instanceDocMap :: M.Map RealSrcSpan [LHsDoc GhcRn]
366 instanceDocMap =
367 M.fromList $
368 mapMaybe
369 (\\(L nSpan decl, docs) ->
370 case decl of
371 InstD _ (ClsInstD _ _inst) ->
372 case locA nSpan of
373 RealSrcSpan r _ -> Just (r, docs)
374 _ -> Nothing
375 _ -> Nothing)
376 instanceDeclsWithDocs
377
378 nameLocation :: Maybe SrcSpan -> Name -> HCE.LocationInfo
379 nameLocation mbSrcSpan name =
380 nameLocationInfo
381 unitState
382 flags
383 currentPackageId
384 compId
385 transformation
386 fileMap
387 defSiteMap
388 Nothing
389 Nothing
390 name
391
392 docHToHtml :: DocH (ModuleName, OccName) Name -> HCE.HTML
393 docHToHtml =
394 docWithNamesToHtml
395 unitState
396 flags
397 currentPackageId
398 compId
399 transformation
400 fileMap
401 defSiteMap
402
403 instancesWithDocumentation =
404 HM.fromList $
405 map
406 (\\clsInst ->
407 ( instanceToText flags clsInst
408 , let location = nameLocation Nothing (varName . is_dfun $ clsInst)
409 in case getSrcSpan clsInst of
410 RealSrcSpan r _ ->
411 case M.lookup r instanceDocMap of
412 Just hsDocs ->
413 let hsDocStrings = [ s | L _ (WithHsDocIdentifiers s _) <- hsDocs ]
414 doc = hsDocsToDocH unitState flags globalRdrEnv hsDocStrings
415 in HCE.DefinitionSite location (Just (docHToHtml doc))
416 Nothing -> HCE.DefinitionSite location Nothing
417 _ -> HCE.DefinitionSite location Nothing
418 ))
419 (modInfoInstances modInfo)
420
421 --------------------------------------------------------------------------------
422 -- Values and types
423 --------------------------------------------------------------------------------
424 mainDeclNamesWithDocumentation =
425 concatMap
426 (\\(L spanA decl, docs) -> map (, docs, locA spanA) $ getMainDeclBinder decl)
427 valueAndTypeDeclsWithDocs
428
429 dataFamTyConsWithoutDocs =
430 map (\\name -> (name, [], nameSrcSpan name)) dataFamTyCons
431
432 allDeclsSrc :: [GenLocated SrcSpan (HsDecl GhcRn)]
433 allDeclsSrc = map (\\(L la d) -> L (locA la) d) allDecls
434
435 allNamesWithDocumentation =
436 mainDeclNamesWithDocumentation
437 ++ subordinateNamesWithDocs allDeclsSrc
438 ++ dataFamTyConsWithoutDocs
439
440 (valuesWithDocumentation, typesWithDocumentation) =
441 L.partition
442 (\\(name, _, _) ->
443 case occNameNameSpace . nameOccName $ name of
444 HCE.VarName -> True
445 HCE.DataName -> True
446 _ -> False)
447 allNamesWithDocumentation
448
449 toHashMap ::
450 [(Name, [LHsDoc GhcRn], SrcSpan)]
451 -> HM.HashMap HCE.OccName HCE.DefinitionSite
452 toHashMap =
453 HM.fromListWith
454 (\\(HCE.DefinitionSite loc newDoc) (HCE.DefinitionSite _ oldDoc) ->
455 HCE.DefinitionSite loc (mappend newDoc oldDoc)) .
456 map
457 (\\(name, docs, srcSpan) ->
458 let location = nameLocation (Just srcSpan) name
459 htmlDoc =
460 if not (null docs)
461 then let hsDocStrings = [ s | L _ (WithHsDocIdentifiers s _) <- docs ]
462 doc = hsDocsToDocH unitState flags globalRdrEnv hsDocStrings
463 in Just (docHToHtml doc)
464 else Nothing
465 in (HCE.OccName $ toText name, HCE.DefinitionSite location htmlDoc))
466
467
468 in ( HCE.DefinitionSiteMap
469 { HCE.values = toHashMap valuesWithDocumentation
470 , HCE.types = toHashMap (typesWithDocumentation ++ dataFamTyConsWithoutDocs)
471 , HCE.instances = instancesWithDocumentation
472 }
473 , map (\\(n, _, _) -> n) allNamesWithDocumentation
474 )
475
476
477occNameToHtml ::
478 DynFlags
479 -> HCE.PackageId
480 -> HCE.ComponentId
481 -> (ModuleName, OccName)
482 -> H.Html
483occNameToHtml flags packageId compId (modName, occName) =
484 let location =
485 H.textValue . toStrict . encodeToLazyText . Aeson.toJSON $
486 occNameLocationInfo flags packageId compId (modName, occName)
487 in (H.span H.! H.dataAttribute "location" location) H.! A.class_ "link" $
488 H.toHtml (toText occName)
489
490nameToHtml ::
491 UnitState
492 -> DynFlags
493 -> HCE.PackageId
494 -> HCE.ComponentId
495 -> HCE.SourceCodeTransformation
496 -> HM.HashMap HCE.HaskellFilePath HCE.HaskellModulePath
497 -> HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap
498 -> Name
499 -> H.Html
500nameToHtml unitState flags packageId compId transformation files defSiteMap name =
501 let location =
502 H.textValue . toStrict . encodeToLazyText . Aeson.toJSON $
503 nameLocationInfo
504 unitState
505 flags
506 packageId
507 compId
508 transformation
509 files
510 defSiteMap
511 Nothing
512 Nothing
513 name
514 in H.span H.! H.dataAttribute "location" location H.! A.class_ "link" $
515 H.toHtml (nameToText name)
516
517docWithNamesToHtml ::
518 UnitState
519 -> DynFlags
520 -> HCE.PackageId
521 -> HCE.ComponentId
522 -> HCE.SourceCodeTransformation
523 -> HM.HashMap HCE.HaskellFilePath HCE.HaskellModulePath
524 -> HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap
525 -> DocH (ModuleName, OccName) Name
526 -> HCE.HTML
527docWithNamesToHtml unitState flags packageId compId transformation fileMap defSiteMap =
528 HCE.docToHtml
529 (occNameToHtml flags packageId compId)
530 (nameToHtml unitState flags packageId compId transformation fileMap defSiteMap)
531
532createDeclarations ::
533 DynFlags
534 -> HsGroup GhcRn
535 -> TypeEnv
536 -> S.Set Name
537 -> HCE.SourceCodeTransformation
538 -> [HCE.Declaration]
539createDeclarations flags hsGroup typeEnv exportedSet transformation =
540 let lineNumber :: SrcSpan -> Int
541 lineNumber srcSpan =
542 case srcSpanToLineAndColNumbers transformation srcSpan of
543 Just (_file,(lineNum, _), (_, _)) -> lineNum
544 Nothing -> 1
545 nameType :: Name -> Maybe HCE.Type
546 nameType n =
547 case lookupIdInTypeEnv typeEnv n of
548 Just i -> Just . mkType . varType $ i
549 Nothing -> Nothing
550 valToDeclarations :: LHsBindLR GhcRn GhcRn -> [HCE.Declaration]
551 valToDeclarations (L locAnn bind) =
552 let
553 names :: [Name]
554 names = collectHsBindBinders CollNoDictBinders bind
555 loc :: SrcSpan
556 loc = locA locAnn
557 in
558 map
559 (\\name ->
560 HCE.Declaration
561 HCE.ValD
562 (toText name)
563 (nameType name)
564 (S.member name exportedSet)
565 (lineNumber loc))
566 names
567 vals = concatMap valToDeclarations $ hsGroupVals hsGroup
568 -- | Data, newtype, type, type family, data family or class declaration
569 --------------------------------------------------------------------------------
570 tyClToDeclaration :: LTyClDecl GhcRn -> HCE.Declaration
571 tyClToDeclaration (L locA' tyClDecl) =
572 HCE.Declaration
573 HCE.TyClD
574 (T.append (tyClDeclPrefix tyClDecl) (toText $ tcdName tyClDecl))
575 (nameType $ tcdName tyClDecl)
576 (S.member (unLoc $ tyClDeclLName tyClDecl) exportedSet)
577 (lineNumber (locA locA'))
578 tyclds =
579 map tyClToDeclaration
580 . filter (isGoodSrcSpan . locA . getLocA)
581 . concatMap group_tyclds . hs_tyclds
582 $ hsGroup
583 -- | Instances
584 --------------------------------------------------------------------------------
585 instToDeclaration :: LInstDecl GhcRn -> HCE.Declaration
586 instToDeclaration (L locA' inst) =
587 HCE.Declaration
588 HCE.InstD
589 (instanceDeclToText flags inst)
590 Nothing
591 True
592 (lineNumber (locA locA'))
593 insts =
594 map instToDeclaration
595 . filter (isGoodSrcSpan . locA . getLoc)
596 . hsGroupInstDecls
597 $ hsGroup
598 -- | Foreign functions
599 --------------------------------------------------------------------------------
600 foreignFunToDeclaration ::
601 LForeignDecl GhcRn -> HCE.Declaration
602 foreignFunToDeclaration (L locA' fd) =
603 let name = unLoc $ fd_name fd
604 in HCE.Declaration
605 HCE.ForD
606 (toText name)
607 (nameType name)
608 True
609 (lineNumber (locA locA'))
610 fords = map foreignFunToDeclaration $ hs_fords hsGroup
611 --------------------------------------------------------------------------------
612 in L.sortOn HCE.lineNumber $ vals ++ tyclds ++ insts ++ fords
613
614foldAST :: UnitState -> Environment -> TypecheckedModule -> SourceInfo
615foldAST unitState environment typecheckedModule =
616 let (Just renamed@(_hsGroupRn, importDecls, mbExported, _mbTopDoc, _mbModuleName)) =
617 renamedSource typecheckedModule
618 emptyASTState =
619 ASTState IVM.empty IM.empty M.empty emptyTidyEnv Nothing environment []
620 ASTState {..} =
621 execState
622 (foldTypecheckedSource $ tm_typechecked_source typecheckedModule)
623 emptyASTState
624 (idInfoMap, idOccMap) =
625 L.foldl'
626 (addIdentifierToMaps environment astStateIdSrcSpanMap)
627 (HM.empty, astStateIdOccMap)
628 (namesFromRenamedSource renamed)
629 flags = envDynFlags environment
630 packageId = envPackageId environment
631 compId = envComponentId environment
632 importedModules =
633 map
634 ((\\(L ann modName) ->
635 ( modName
636 , locA ann
637 , moduleLocationInfo
638 unitState
639 flags
640 (envModuleNameMap environment)
641 packageId
642 compId
643 modName)) .
644 ideclName . unLoc) .
645 filter (not . (ideclImplicit . ideclExt . unLoc)) $
646 importDecls
647 exportedModules =
648 case mbExported of
649 Just lieNames ->
650 mapMaybe
651 (\\(L ann ie, _) ->
652 case ie of
653 IEModuleContents _ (L _ modName) ->
654 Just
655 ( modName
656 , locA ann
657 , moduleLocationInfo
658 unitState
659 flags
660 (envModuleNameMap environment)
661 packageId
662 compId
663 modName)
664 _ -> Nothing)
665 lieNames
666 Nothing -> []
667 addImportedAndExportedModulesToIdOccMap ::
668 HCE.IdentifierOccurrenceMap -> HCE.IdentifierOccurrenceMap
669 addImportedAndExportedModulesToIdOccMap =
670 IM.map (L.sortOn fst) .
671 addModules
672 (envTransformation environment)
673 (importedModules ++ exportedModules)
674 in SourceInfo
675 { sourceInfoExprMap = astStateExprInfoMap
676 , sourceInfoIdMap = idInfoMap
677 , sourceInfoIdOccMap = addImportedAndExportedModulesToIdOccMap idOccMap
678 , sourceInfoTypeErrors = astStateTypeErrors
679 }
680
681-- | Updates 'IdentifierOccurrenceMap' and 'IdentifierInfoMap' using information
682-- from typechecked source and renamed source
683addIdentifierToMaps ::
684 Environment
685 -> M.Map RealSrcSpan (Id, Maybe (Type, [Type]))
686 -> (HCE.IdentifierInfoMap, HCE.IdentifierOccurrenceMap)
687 -> NameOccurrence
688 -> (HCE.IdentifierInfoMap, HCE.IdentifierOccurrenceMap)
689addIdentifierToMaps environment idSrcSpanMap idMaps@(idInfoMap, idOccMap) nameOcc
690 | isGoodSrcSpan (getLoc $ locatedName nameOcc) &&
691 isOneLineSpan (getLoc $ locatedName nameOcc)
692 , Just (_, (lineNumber, startCol), (_, endCol)) <-
693 srcSpanToLineAndColNumbers (envTransformation environment) .
694 getLoc . locatedName $
695 nameOcc =
696 case nameOcc of
697 TyLitOccurrence {kind = kind} ->
698 addNameToMaps
699 environment
700 idMaps
701 (Just kind)
702 Nothing
703 (description nameOcc)
704 lineNumber
705 startCol
706 endCol
707 NameOccurrence {isBinder = isBinder} ->
708 case lookupIdByNameOccurrence environment idSrcSpanMap nameOcc of
709 Just (identifier, mbTypes) ->
710 let name =
711 fromMaybe
712 (varName identifier)
713 (unLoc $ locatedName nameOcc)
714 identifierType = varType identifier
715 identifierTypeExpanded = expandTypeSynonyms identifierType
716 tyConsAndTyVars =
717 map
718 (, Nothing)
719 (tyConsOfType identifierType ++
720 tyVarsOfType identifierType ++
721 tyConsOfType identifierTypeExpanded ++
722 tyVarsOfType identifierTypeExpanded ++
723 maybe [] (tyConsOfType . fst) mbTypes ++
724 maybe [] (tyVarsOfType . fst) mbTypes)
725 idInfoMap' =
726 updateIdMap
727 environment
728 ((identifier, unLoc $ locatedName nameOcc) : tyConsAndTyVars)
729 idInfoMap
730 idOcc =
731 mkIdentifierOccurrence
732 environment
733 identifier
734 name
735 mbTypes
736 isBinder
737 (description nameOcc)
738 idOccMap' =
739 IM.insertWith
740 removeOverlappingInterval
741 lineNumber
742 [((startCol, endCol), idOcc)]
743 idOccMap
744 in (idInfoMap', idOccMap')
745 Nothing -- type variable or an internal identifier in a pattern synonym
746 ->
747 case unLoc $ locatedName nameOcc of
748 Just name ->
749 addNameToMaps
750 environment
751 idMaps
752 Nothing
753 (Just name)
754 (description nameOcc)
755 lineNumber
756 startCol
757 endCol
758 Nothing -> idMaps
759addIdentifierToMaps _ _ idMaps _ = idMaps
760
761addNameToMaps ::
762 Environment
763 -> (HCE.IdentifierInfoMap, HCE.IdentifierOccurrenceMap)
764 -> Maybe Type
765 -> Maybe Name
766 -> T.Text
767 -> Int
768 -> Int
769 -> Int
770 -> (HCE.IdentifierInfoMap, HCE.IdentifierOccurrenceMap)
771addNameToMaps environment (idInfoMap, idOccMap) mbKind mbName descr lineNumber colStart colEnd =
772 let flags = envDynFlags environment
773 idInfoMap' =
774 maybe
775 idInfoMap
776 (\\kind ->
777 updateIdMap
778 environment
779 (map (, Nothing) $ tyConsOfType kind ++ tyVarsOfType kind)
780 idInfoMap)
781 mbKind
782 idOcc =
783 HCE.IdentifierOccurrence
784 { internalId = fmap (HCE.InternalId . nameKey) mbName
785 , internalIdFromRenamedSource =
786 HCE.InternalId . T.pack . show . getKey . nameUnique <$> mbName
787 , isBinder = False
788 , instanceResolution = Nothing
789 , idOccType = mkType <$> mbKind
790 , typeArguments = Nothing
791 , description = descr
792 , sort =
793 maybe
794 HCE.TypeId
795 (\\name ->
796 case occNameNameSpace . nameOccName $ name of
797 HCE.VarName -> HCE.ValueId
798 HCE.DataName -> HCE.ValueId
799 _ -> HCE.TypeId)
800 mbName
801 }
802 idOccMap' =
803 IM.insertWith
804 removeOverlappingInterval
805 lineNumber
806 [((colStart, colEnd), idOcc)]
807 idOccMap
808 in (idInfoMap', idOccMap')
809
810lookupIdByNameOccurrence ::
811 Environment
812 -> M.Map RealSrcSpan (Id, Maybe (Type, [Type]))
813 -> NameOccurrence
814 -> Maybe (Id, Maybe (Type, [Type]))
815lookupIdByNameOccurrence environment idSrcSpanMap (NameOccurrence (L span mbName) _ _) =
816 case lookupBySrcSpan span of
817 Just hit -> Just hit
818 Nothing ->
819 case mbName of
820 Just name ->
821 case lookupBySrcSpan (nameSrcSpan name) of
822 Just hit -> Just hit -- LHS of a Match 等
823 Nothing ->
824 -- 不在 typechecked 源里的名字,退回 TypeEnv
825 case lookupIdInTypeEnv (envTypeEnv environment) name of
826 Just t -> Just (t, Nothing)
827 Nothing -> Nothing
828 Nothing -> Nothing
829 where
830 lookupBySrcSpan :: SrcSpan -> Maybe (Id, Maybe (Type, [Type]))
831 lookupBySrcSpan s =
832 case s of
833 RealSrcSpan real _ -> M.lookup real idSrcSpanMap
834 _ -> Nothing
835lookupIdByNameOccurrence _ _ TyLitOccurrence{} = Nothing
836
837updateIdMap ::
838 Environment
839 -> [(Id, Maybe Name)]
840 -> HCE.IdentifierInfoMap
841 -> HCE.IdentifierInfoMap
842updateIdMap environment ids identifiersMap =
843 let flags = envDynFlags environment
844 update ::
845 HCE.IdentifierInfoMap -> (Id, Maybe Name) -> HCE.IdentifierInfoMap
846 update idMap (identifier, mbName) =
847 let info = mkIdentifierInfo environment identifier mbName
848 in HM.insertWith
849 (flip const)
850 (HCE.InternalId $ identifierKey flags identifier)
851 info
852 idMap
853 in L.foldl' update identifiersMap ids
854
855addModules ::
856 HCE.SourceCodeTransformation
857 -> [(ModuleName, SrcSpan, HCE.LocationInfo)]
858 -> HCE.IdentifierOccurrenceMap
859 -> HCE.IdentifierOccurrenceMap
860addModules transformation modules idMap =
861 let update ::
862 IM.IntMap [((Int, Int), HCE.IdentifierOccurrence)]
863 -> (a, SrcSpan, HCE.LocationInfo)
864 -> IM.IntMap [((Int, Int), HCE.IdentifierOccurrence)]
865 update idOccMap (_modInfo, span, locInfo)
866 | Just (_file,(lineNumber, colStart), (_, colEnd)) <-
867 srcSpanToLineAndColNumbers transformation span =
868 let idOcc =
869 HCE.IdentifierOccurrence
870 { internalId = Nothing
871 , internalIdFromRenamedSource = Nothing
872 , isBinder = False
873 , instanceResolution = Nothing
874 , idOccType = Nothing
875 , typeArguments = Nothing
876 , description = "ImportDecl"
877 , sort = HCE.ModuleId locInfo
878 }
879 in IM.insertWith
880 removeOverlappingInterval
881 lineNumber
882 [((colStart, colEnd), idOcc)]
883 idOccMap
884 update idOccMap _ = idOccMap
885 in L.foldl' update idMap modules
886
" +} \ No newline at end of file diff --git a/haskell-code-explorer.cabal b/haskell-code-explorer.cabal index c7cbf07..bc887df 100644 --- a/haskell-code-explorer.cabal +++ b/haskell-code-explorer.cabal @@ -20,8 +20,7 @@ library , HaskellCodeExplorer.AST.TypecheckedSource hs-source-dirs: src ghc-options: -Wall -O2 -funbox-strict-fields - build-depends: IntervalMap - , aeson + build-depends: aeson , attoparsec , base , blaze-html @@ -34,22 +33,23 @@ library , directory , directory-tree , exceptions + , extra + , fast-logger , filemanip , filepath , haddock-library , hashable + , IntervalMap , ghc , ghc-paths + , monad-logger , mtl , process , syb - , uniplate , text + , uniplate , unordered-containers , vector - , fast-logger - , monad-logger - , extra executable haskell-code-indexer main-is: Indexer.hs @@ -58,8 +58,7 @@ executable haskell-code-indexer autogen-modules: Paths_haskell_code_explorer hs-source-dirs: app default-extensions: MonoLocalBinds - build-depends: IntervalMap - , aeson + build-depends: aeson , base , bytestring , Cabal @@ -74,6 +73,7 @@ executable haskell-code-indexer , ghc , haskell-code-explorer , hspec + , IntervalMap , monad-logger , optparse-applicative , os-string @@ -90,44 +90,44 @@ executable haskell-code-server ghc-options: -Wall -O2 -rtsopts -funbox-strict-fields hs-source-dirs: app,src other-modules: HaskellCodeExplorer.Types, Store - build-depends: IntervalMap - , aeson + build-depends: aeson , base + , blaze-html , bytestring , cereal , containers + , data-default , deepseq , directory , exceptions + , fast-logger + , file-embed , filemanip , filepath - , blaze-html + , IntervalMap , text - , unordered-containers - , hashable - , vector - , wai - , syb , haddock-library - , servant - , servant-server - , mime-types - , mtl - , wai-extra - , wai-middleware-static - , warp + , hashable , http-types , http-api-data - , fast-logger + , lens , monad-logger , optparse-applicative - , data-default , pagination - , file-embed + , mime-types , mmap - , lens - , uri-encode + , mtl , lens-aeson + , servant + , servant-server + , syb + , unordered-containers + , uri-encode + , vector + , wai + , wai-extra + , wai-middleware-static + , warp , wreq build-depends: ghc-compact @@ -136,20 +136,21 @@ test-suite test ghc-options: -Wall hs-source-dirs: test main-is: Main.hs - build-depends: IntervalMap - , QuickCheck + build-depends: , attoparsec , base , bytestring , containers , directory , filepath + , haskell-code-explorer , hspec + , IntervalMap + , monad-logger + , process + , QuickCheck + , syb , text , uniplate , unordered-containers - , monad-logger - , process , vector - , syb - , haskell-code-explorer diff --git a/indexer b/indexer new file mode 100755 index 0000000..7b64243 --- /dev/null +++ b/indexer @@ -0,0 +1,72 @@ +#!/usr/bin/env bash + +set -euo pipefail + +stack build +stack install + +rm -rf ./.haskell-code-explorer +stack --stack-yaml ../haskell-code-explorer/stack.yaml exec -- haskell-code-indexer -v --dist .stack-work/dist/aarch64-osx/ghc-9.10.2/ -p . --before-preprocessing + +rm -rf ../hakyll/.haskell-code-explorer +stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v --dist ../hakyll/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../hakyll --before-preprocessing + +# rm -rf ../lrucache/.haskell-code-explorer +# stack --stack-yaml ../lrucache/stack.yaml exec -- haskell-code-indexer -v --dist ../lrucache/dist-newstyles/dist/aarch64-osx/ghc-9.10.2/ -p ../lrucache --before-preprocessing + +# rm -rf ../attoparsec/haskell-code-explorer +# stack --stack-yaml ../attoparsec/stack.yaml exec -- haskell-code-indexer -v --dist ../attoparsec/dist-newstyles/dist/aarch64-osx/ghc-9.10.2/ -p ../attoparsec --before-preprocessing + +# rm -rf ../pandoc/.haskell-code-explorer +# stack --stack-yaml ../pandoc/stack.yaml exec -- haskell-code-indexer -v --dist ../pandoc/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../pandoc --before-preprocessing + +# rm -rf ../parsec/.haskell-code-explorer +# stack --stack-yaml ../parsec/stack.yaml exec -- haskell-code-indexer -v --dist ../parsec/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../parsec --before-preprocessing + +# rm -rf ../hakyll/.haskell-code-explorer +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-client/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-client --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-docs/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-docs --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-server/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-server --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-swagger/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-swagger --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-client/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-client --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-client-core/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-client-core --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-client-ghcjs/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-client-ghcjs --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-conduit/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-conduit --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-docs/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-docs --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-foreign/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-foreign --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-http-streams/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-http-streams --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-machines/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-machines --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-pipes/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-pipes --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-quickcheck/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-quickcheck --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-server/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-server --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-swagger/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-swagger --before-preprocessing + +# rm -rf ../wai/.haskell-code-explorer +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/auto-update/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/auto-update --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/mime-types/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/mime-types --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/recv/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/recv --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/time-manager/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/time-manager --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-app-static/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-app-stat --before-preprocessingic +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-conduit/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-conduit --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-extra/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-extra --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-frontend-monadcgi/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-frontend-mona --before-preprocessingdcgi +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-http2-extra/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-http2-extra --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-websockets/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-websockets --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/warp/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/warp --ghc "-fno-allow-sendfilefd" --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/warp-quic/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/warp-quic --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/warp-tls/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/warp-tls --before-preprocessing + +# rm -rf ../cabal/.haskell-code-explorer +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-syntax/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-syntax --ghc "-i./.stack-work/dist/aarch64-osx/ghc-9.10.2/build" --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-described/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-described --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-QuickCheck/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-QuickCheck --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-tests/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-tests --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-tree-diff/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-tree-diff --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-benchmarks/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-benchmarks --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-install-solver/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-install-solver --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-install/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-install --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-testsuite/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-testsuite --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/solver-benchmarks/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/solver-benchmarks --before-preprocessing \ No newline at end of file diff --git a/javascript/package-lock.json b/javascript/package-lock.json new file mode 100644 index 0000000..4ad61ad --- /dev/null +++ b/javascript/package-lock.json @@ -0,0 +1,14904 @@ +{ + "name": "haskell-code-explorer", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + } + }, + "@babel/compat-data": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "dev": true + }, + "@babel/core": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "dependencies": { + "debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true + }, + "@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "requires": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + } + }, + "@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "dev": true + }, + "@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true + }, + "@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "dev": true, + "requires": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + } + }, + "@babel/parser": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "dev": true, + "requires": { + "@babel/types": "^7.28.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + } + }, + "@babel/polyfill": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz", + "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==", + "dev": true, + "requires": { + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + } + }, + "@babel/traverse": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" + }, + "dependencies": { + "debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + } + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "dev": true + }, + "@dabh/diagnostics": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.8.tgz", + "integrity": "sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q==", + "dev": true, + "requires": { + "@so-ric/colorspace": "^1.1.6", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } + }, + "@ember/test-helpers": { + "version": "0.7.27", + "resolved": "https://registry.npmjs.org/@ember/test-helpers/-/test-helpers-0.7.27.tgz", + "integrity": "sha512-AQESk0FTFxRY6GyZ8PharR4SC7Fju0rXqNkfNYIntAjzefZ8xEqEM4iXDj5h7gAvfx/8dA69AQ9+p7ubc+KvJg==", + "dev": true, + "requires": { + "broccoli-funnel": "^2.0.1", + "ember-assign-polyfill": "~2.4.0", + "ember-cli-babel": "^6.12.0", + "ember-cli-htmlbars-inline-precompile": "^1.0.0" + }, + "dependencies": { + "broccoli-funnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.2.tgz", + "integrity": "sha512-/vDTqtv7ipjEZQOVqO4vGDVAOZyuYzQ/EgGoyewfOgh1M7IQAToBKZI0oAQPgMBeFPPlIbfMuAngk+ohPBuaHQ==", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + } + } + } + }, + "@glimmer/di": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@glimmer/di/-/di-0.2.1.tgz", + "integrity": "sha512-0D53YVuEgGdHfTl9LGWDZqVzGhn4cT0CXqyAuOYkKFLvqboJXz6SnkRhQNPhhA2hLVrPnvUz3+choQmPhHLGGQ==", + "dev": true + }, + "@glimmer/resolver": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@glimmer/resolver/-/resolver-0.4.3.tgz", + "integrity": "sha512-UhX6vlZbWRMq6pCquSC3wfWLM9kO0PhQPD1dZ3XnyZkmsvEE94Cq+EncA9JalUuevKoJrfUFRvrZ0xaz+yar3g==", + "dev": true, + "requires": { + "@glimmer/di": "^0.2.0" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@octokit/rest": { + "version": "15.2.6", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-15.2.6.tgz", + "integrity": "sha512-KcqG0zjnjzUqn7wczz/fKiueNpTLiAI7erhUG6bXWAsYKJJlqnwYonFSXrMW/nmes5y+qOk4uSyHBh1mdRXdVQ==", + "requires": { + "before-after-hook": "^1.1.0", + "btoa-lite": "^1.0.0", + "debug": "^3.1.0", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.0", + "lodash": "^4.17.4", + "node-fetch": "^2.1.1", + "url-template": "^2.0.8" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + }, + "dependencies": { + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + } + } + }, + "@sinonjs/formatio": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.2.tgz", + "integrity": "sha512-B8SEsgd8gArBLMD6zpRw3juQ2FVSsmdd7qlevyDqzS9WTCtvF55/gAL+h6gue8ZvPYcdiPdvueM/qm//9XzyTQ==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1", + "@sinonjs/samsam": "^3.1.0" + } + }, + "@sinonjs/samsam": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.3.3.tgz", + "integrity": "sha512-bKCMKZvWIjYD0BLGnNrxVuw4dkWCYsLqFOUWw8VgKF/+5Y+mE7LfHWPIYoDXowH+3a9LsWDMo0uAP8YDosPvHQ==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.3.0", + "array-from": "^2.1.1", + "lodash": "^4.17.15" + } + }, + "@sinonjs/text-encoding": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.3.tgz", + "integrity": "sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==", + "dev": true + }, + "@so-ric/colorspace": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@so-ric/colorspace/-/colorspace-1.1.6.tgz", + "integrity": "sha512-/KiKkpHNOBgkFJwu9sh48LkHSMYGyuTcSFK/qMBdnOAlrRJzRSXAOFB5qwzaVQuDl8wAvHVMkaASQDReTahxuw==", + "dev": true, + "requires": { + "color": "^5.0.2", + "text-hex": "1.0.x" + } + }, + "@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "dev": true + }, + "@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/chai": { + "version": "4.3.20", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.20.tgz", + "integrity": "sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==", + "dev": true + }, + "@types/chai-as-promised": { + "version": "7.1.8", + "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz", + "integrity": "sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==", + "dev": true, + "requires": { + "@types/chai": "*" + } + }, + "@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/cors": { + "version": "2.8.19", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", + "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/express": { + "version": "4.17.24", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.24.tgz", + "integrity": "sha512-Mbrt4SRlXSTWryOnHAh2d4UQ/E7n9lZyGSi6KgX+4hkuL9soYbLOVXVhnk/ODp12YsGc95f4pOvqywJ6kngUwg==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.19.7", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.7.tgz", + "integrity": "sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "@types/fs-extra": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.5.tgz", + "integrity": "sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/glob": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-9.0.0.tgz", + "integrity": "sha512-00UxlRaIUvYm4R4W9WYkN8/J+kV8fmOQ7okeH6YFtGWFMt3odD45tpG5yA5wnL7HE6lLgjaTW5n14ju2hl2NNA==", + "dev": true, + "requires": { + "glob": "*" + } + }, + "@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "dev": true + }, + "@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "@types/node": { + "version": "24.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.1.tgz", + "integrity": "sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg==", + "dev": true, + "requires": { + "undici-types": "~7.16.0" + } + }, + "@types/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true + }, + "@types/rimraf": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-2.0.5.tgz", + "integrity": "sha512-YyP+VfeaqAyFmXoTh3HChxOQMyjByRMsHU7kc5KOJkSlXudhMhQIALbYV7rHh/l8d2lX3VUQzprrcAgWdRuU8g==", + "dev": true, + "requires": { + "@types/glob": "*", + "@types/node": "*" + } + }, + "@types/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/serve-static": { + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", + "dev": true, + "requires": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "<1" + }, + "dependencies": { + "@types/send": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + } + } + }, + "@types/symlink-or-copy": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/symlink-or-copy/-/symlink-or-copy-1.2.2.tgz", + "integrity": "sha512-MQ1AnmTLOncwEf9IVU+B2e4Hchrku5N67NkgcAHW0p3sdzPe0FNMANxEm6OJUzPniEQGkeT3OROLlCwZJLWFZA==", + "dev": true + }, + "@types/triple-beam": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", + "dev": true + }, + "@xmldom/xmldom": { + "version": "0.8.11", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.11.tgz", + "integrity": "sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "dependencies": { + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true + } + } + }, + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha512-AU7pnZkguthwBjKgCg6998ByQNIMjbuDQZ8bb78QAFZwPfmKia8AIzgY/gWgqCjnht8JLdXmB4YxA0KaV60ncQ==", + "dev": true, + "requires": { + "acorn": "^3.0.4" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw==", + "dev": true + } + } + }, + "after-all-results": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/after-all-results/-/after-all-results-2.0.0.tgz", + "integrity": "sha512-2zHEyuhSJOuCrmas9YV0YL/MFCWLxe1dS6k/ENhgYrb/JqyMnadLN4iIAc9kkZrbElMDyyAGH/0J18OPErOWLg==" + }, + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==", + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha512-ZFztHzVRdGLAzJmpUT9LNFLe1YiVOEylcaNpEutM26PVTCtOD919IMfD01CgbRouB42Dd9atjx1HseC15DgOZA==", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "alter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/alter/-/alter-0.2.0.tgz", + "integrity": "sha512-Wuss6JIZ6h4j2+NgU2t+9mSwS7gBSZJbU4Dg8xETguAD2veJUSuCrvTIiC78QgZE7/zX7h6OnXw2PiiCBirEGw==", + "dev": true, + "requires": { + "stable": "~0.1.3" + } + }, + "amd-name-resolver": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/amd-name-resolver/-/amd-name-resolver-1.3.1.tgz", + "integrity": "sha512-26qTEWqZQ+cxSYygZ4Cf8tsjDBLceJahhtewxtKZA3SRa4PluuqYCuheemDQD+7Mf5B7sr+zhTDWAHDh02a1Dw==", + "dev": true, + "requires": { + "ensure-posix-path": "^1.0.1", + "object-hash": "^1.3.1" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", + "dev": true + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha512-JoAxEa1DfP9m2xfB/y2r/aKcwXNlltr4+0QSBC4TrLfcxyvepX2Pv0t/xpgGV5bGsDzCYV8SzjWgyCW0T9yYbA==", + "dev": true + }, + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "ansicolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz", + "integrity": "sha512-tOIuy1/SK/dr94ZA0ckDohKXNeBNqZ4us6PjMVLs5h1w2GBB6uPtOknp2+VF4F/zcy9LI70W+Z+pE2Soajky1w==", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "aot-test-generators": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/aot-test-generators/-/aot-test-generators-0.1.0.tgz", + "integrity": "sha512-PKyBQsPgkrCbUZS0PexdnyS3pVfYe4U1dLLQOf3is5RcYSaxbA7fsnnj6i8hcubsz+iS0miGPSJlONv/tXjfiA==", + "dev": true, + "requires": { + "jsesc": "^2.5.0" + }, + "dependencies": { + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + } + } + }, + "aproba": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.1.0.tgz", + "integrity": "sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==", + "dev": true + }, + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + } + } + }, + "args": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/args/-/args-4.0.0.tgz", + "integrity": "sha512-4b7lVF58nlo7sNtq8s2OueroOY/UHn0Nt/NVjsx9zn28u6yDVb9bQ/uy/5jKtHCbUDil4MlMyDLF5+OHEgnTug==", + "requires": { + "camelcase": "5.0.0", + "chalk": "2.3.2", + "leven": "2.1.0", + "mri": "1.1.0" + }, + "dependencies": { + "camelcase": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", + "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==" + }, + "chalk": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==" + } + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true + }, + "array-equal": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.2.tgz", + "integrity": "sha512-gUHx76KtnhEgB3HOuFYiCm3FIdEs6ocM2asHvNTkfu/Y09qQVrrVVaOKENmS2KkSaGoxgXNqC+ZVtR/n0MOkSA==", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "array-from": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", + "integrity": "sha512-GQTc6Uupx1FCavi5mPzBvVT7nEOeWMmUA9P95wpfpW1XwMSKs+KaymD5C2Up7KAUKg/mYwbsUYzdZWcoajlNZg==", + "dev": true + }, + "array-to-error": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-to-error/-/array-to-error-1.1.1.tgz", + "integrity": "sha512-kqcQ8s7uQfg3UViYON3kCMcck3A9exxgq+riVuKy08Mx00VN4EJhK30L2VpjE58LQHKhcE/GRpvbVUhqTvqzGQ==", + "dev": true, + "requires": { + "array-to-sentence": "^1.1.0" + } + }, + "array-to-sentence": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-to-sentence/-/array-to-sentence-1.1.0.tgz", + "integrity": "sha512-YkwkMmPA2+GSGvXj1s9NZ6cc2LBtR+uSeWTy2IGi5MR1Wag4DdrcjTxA/YV/Fw+qKlBeXomneZgThEbm/wvZbw==", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true + }, + "ast-traverse": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ast-traverse/-/ast-traverse-0.1.1.tgz", + "integrity": "sha512-CPuE4BWIhJjsNMvFkrzjiBgOl56NJTuBPBkBqyRyfq/nZtx1Z1f5I+qx7G/Zt+FAOS+ABhghkEuWJrfW9Njjog==", + "dev": true + }, + "ast-types": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", + "integrity": "sha512-qEdtR2UH78yyHX/AUNfXmJTlM48XoFZKBdwi1nzkI1mJL21cmbu0cvjxjpkXJ5NENMq42H+hNs8VLJcqXLerBQ==", + "dev": true + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-disk-cache": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/async-disk-cache/-/async-disk-cache-1.3.5.tgz", + "integrity": "sha512-VZpqfR0R7CEOJZ/0FOTgWq70lCrZyS1rkI8PXugDUkTKyyAUgZ2zQ09gLhMkEn+wN8LYeUTPxZdXtlX/kmbXKQ==", + "dev": true, + "requires": { + "debug": "^2.1.3", + "heimdalljs": "^0.2.3", + "istextorbinary": "2.1.0", + "mkdirp": "^0.5.0", + "rimraf": "^2.5.3", + "rsvp": "^3.0.18", + "username-sync": "^1.0.2" + } + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==", + "dev": true + }, + "async-promise-queue": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/async-promise-queue/-/async-promise-queue-1.0.5.tgz", + "integrity": "sha512-xi0aQ1rrjPWYmqbwr18rrSKbSaXIeIwSd1J4KAgVfkq8utNbdZoht7GfvfY6swFUAMJ9obkc4WPJmtGwl+B8dw==", + "dev": true, + "requires": { + "async": "^2.4.1", + "debug": "^2.6.8" + } + }, + "async-retry": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.2.1.tgz", + "integrity": "sha512-FadV8UDcyZDjzb6eV7MCJj0bfrNjwKw7/X0QHPFCbYP6T20FXgZCYXpJKlQC8RxEQP1E6Xs8pNHdh3bcrZAuAw==", + "requires": { + "retry": "0.10.1" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true + }, + "aws4": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", + "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true + } + } + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + }, + "dependencies": { + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha512-gCtfYORSG1fUMX4kKraymq607FWgMWg+j42IFPc18kFQEsmtaibP4UrqsXt8FlEJle25HUd4tsoDR7H2wDhe9Q==", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ==", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha512-bHkmjcC9lM1kmZcVpA5t2om2nzT/xiZpo6TJq7UlZ3wqKfzia4veeXbIhKvJXAMzhhEBd3cR1IElL5AenWEUpA==", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha512-qe5csbhbvq6ccry9G7tkXbzNtcDiH4r51rrPUbwwoTzZ18AqxWYRZT6AOmxrpxKnQBW0pYlBI/8vh73Z//78nQ==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q==", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha512-VlPiWmqmGJp0x0oK27Out1D+71nVVCTSdlbhIVoaBAj2lUgrNjBCRR9+llO4lTSb2O4r7PJg+RobRkhBrf6ofg==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha512-RYqaPD0mQyQIFRu7Ho5wE2yvA/5jxqCIj/Lv4BXNq23mHYu/vxikOy2JueLiBxQknwapwrJeNCesvY0ZcfnlHg==", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw==", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-constant-folding": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-constant-folding/-/babel-plugin-constant-folding-1.0.1.tgz", + "integrity": "sha512-Rvhz9+o8/Bbqq6qTCO7FUPYxhrzqd/XkIY482DdYrXpFbhhqDu/xZZUd5/vYHV3oEE1poW+M10pjRZELDepwyQ==", + "dev": true + }, + "babel-plugin-dead-code-elimination": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-dead-code-elimination/-/babel-plugin-dead-code-elimination-1.0.2.tgz", + "integrity": "sha512-wbVXBByKqaaIL3+3a9bRSLAL0GYhQWYmQCWTaGTXOsqqe1Jhi+qaj8/H+yQ5GMiJhvYEQiawzOCjCS1dmjvE5g==", + "dev": true + }, + "babel-plugin-debug-macros": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-debug-macros/-/babel-plugin-debug-macros-0.2.0.tgz", + "integrity": "sha512-Wpmw4TbhR3Eq2t3W51eBAQSdKlr+uAyF0GI4GtPfMCD12Y4cIdpKC9l0RjNTH/P9isFypSqqewMPm7//fnZlNA==", + "dev": true, + "requires": { + "semver": "^5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "babel-plugin-ember-modules-api-polyfill": { + "version": "2.13.4", + "resolved": "https://registry.npmjs.org/babel-plugin-ember-modules-api-polyfill/-/babel-plugin-ember-modules-api-polyfill-2.13.4.tgz", + "integrity": "sha512-uxQPkEQAzCYdwhZk16O9m1R4xtCRNy4oEUTBrccOPfzlIahRZJic/JeP/ZEL0BC6Mfq6r55eOg6gMF/zdFoCvA==", + "dev": true, + "requires": { + "ember-rfc176-data": "^0.3.13" + } + }, + "babel-plugin-eval": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-eval/-/babel-plugin-eval-1.0.1.tgz", + "integrity": "sha512-Yu9H5PbQKGVp/O/BFXUUbHVIUzBeZtEL+Yk+Io8ND4NobQYW8eg/ztToMkn+1/dQrQjaOeFtiBKtkYBwWLvFhw==", + "dev": true + }, + "babel-plugin-htmlbars-inline-precompile": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/babel-plugin-htmlbars-inline-precompile/-/babel-plugin-htmlbars-inline-precompile-0.2.6.tgz", + "integrity": "sha512-H4H75TKGUFij8ukwEYWEERAgrUf16R8NSK1uDPe3QwxT8mnE1K8+/s6DVjUqbM5Pv6lSIcE4XufXdlSX+DTB6g==", + "dev": true + }, + "babel-plugin-inline-environment-variables": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-inline-environment-variables/-/babel-plugin-inline-environment-variables-1.0.1.tgz", + "integrity": "sha512-upNlt2GMmPkLMtJEQEqJB+Y1OeNs78W5+toLTYD/zotypPg0K2w79fFfmiee34ehvLwOZL7khxtkPU54IS1Kvw==", + "dev": true + }, + "babel-plugin-jscript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-jscript/-/babel-plugin-jscript-1.0.4.tgz", + "integrity": "sha512-eMT10ilWqWvBtGL70fFVciexOcjfPaeOHsyfp5OuumTFPSxla2kJTZuDzIpTbKspHVFyzCGxY6NpGJolfVywgQ==", + "dev": true + }, + "babel-plugin-member-expression-literals": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-member-expression-literals/-/babel-plugin-member-expression-literals-1.0.1.tgz", + "integrity": "sha512-Ql/UCGOaA0nQP/9H0MfhFSn2U1m2mLsJFo76NDVBQry5uCDbF8++Uv4VyAtyQ8s6UHcoIKxepzRbZGl//X569w==", + "dev": true + }, + "babel-plugin-module-resolver": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.1.0.tgz", + "integrity": "sha512-MlX10UDheRr3lb3P0WcaIdtCSRlxdQsB1sBqL7W0raF070bGl1HQQq5K3T2vf2XAYie+ww+5AKC/WrkjRO2knA==", + "dev": true, + "requires": { + "find-babel-config": "^1.2.0", + "glob": "^7.1.6", + "pkg-up": "^3.1.0", + "reselect": "^4.0.0", + "resolve": "^1.13.1" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "babel-plugin-property-literals": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-property-literals/-/babel-plugin-property-literals-1.0.1.tgz", + "integrity": "sha512-ZS1JuVJuo0j8IW2RRk8xA6MR/i14KIAhmDNHkipFn51uXe1S/hCH6u+V7TweF9aroT07F9PoxtENmuhFfVvq4g==", + "dev": true + }, + "babel-plugin-proto-to-assign": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-proto-to-assign/-/babel-plugin-proto-to-assign-1.0.4.tgz", + "integrity": "sha512-VY0VnODP15n5ORbJNFIQ0lzewhf+XqkcwbA5UpeeJ96/wIFmbvHK8fNAJoddHUuxl6b5hZtygVdSs3qwPAa/0A==", + "dev": true, + "requires": { + "lodash": "^3.9.3" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha512-9mDDwqVIma6OZX79ZlDACZl8sBm0TEnkf99zV3iMA4GzkIT/9hiqP5mY0HoT1iNLCrKc/R1HByV+yJfRWVJryQ==", + "dev": true + } + } + }, + "babel-plugin-react-constant-elements": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/babel-plugin-react-constant-elements/-/babel-plugin-react-constant-elements-1.0.3.tgz", + "integrity": "sha512-5vv5DJ8NB5kKzjD5tqnkbm0znmKBzDDKFz82zJKn4hFxs1Vwk3WolLN8RypRzlDsddNQPLuDS/0xHq/u/J6i7w==", + "dev": true + }, + "babel-plugin-react-display-name": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/babel-plugin-react-display-name/-/babel-plugin-react-display-name-1.0.3.tgz", + "integrity": "sha512-IMO+IEvFKzZgLbmO+lGcoPKeD+pBg48T9p+ZgMbKkXyFvHk1pKeHsnhjV45GRxVBQC+SLYkmG7EHbXDWxfThOA==", + "dev": true + }, + "babel-plugin-remove-console": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-console/-/babel-plugin-remove-console-1.0.1.tgz", + "integrity": "sha512-dNNqqYeRa0HpJbL+bXgSXeNnkgHbpLuU9o3040iyQjzHoTrIRUwltRWy1ZZgluuw/P0j1ukUOZsiudLLVRCmKw==", + "dev": true + }, + "babel-plugin-remove-debugger": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-debugger/-/babel-plugin-remove-debugger-1.0.1.tgz", + "integrity": "sha512-/rGQc8sgCVpTEeWQhHZShzQjANqWxpwxPlY3RkG9keK5+NKdA2U6ukfC/cySoSa1XmFwM6NBO67QWuOGR/DHrg==", + "dev": true + }, + "babel-plugin-runtime": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/babel-plugin-runtime/-/babel-plugin-runtime-1.0.7.tgz", + "integrity": "sha512-tDVsSImhImOPIszO/6O4FhGW+o+PirMt53fkuBQ/plT41i2SRzTSnGvisrKtV/2jaAVSRnCiFwhN7v8dQ1Ymag==", + "dev": true + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha512-4Zp4unmHgw30A1eWI5EpACji2qMocisdXhAftfhXoSV9j0Tvj6nRFE3tOmRY912E0FMRm/L5xWE7MGVT2FoLnw==", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha512-Z/flU+T9ta0aIEKl1tGEmN/pZiI1uXmCiGFRegKacQfEJzp7iNsKloZmyJlQr+75FCJtiFfGIK03SiCvCt9cPQ==", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha512-Gx9CH3Q/3GKbhs07Bszw5fPTlU+ygrOGfAhEt7W2JICwufpC4SuO0mG0+4NykPBSYPMJhqvVlDBU17qB1D+hMQ==", + "dev": true + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha512-7BgYJujNCg0Ti3x0c/DL3tStvnKS6ktIYOmo9wginv/dfZOrbSZ+qG4IRRHMBOzZ5Awb1skTiAsQXg/+IWkZYw==", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha512-PCqwwzODXW7JMrzu+yZIaYbPQSKjDTAsNNlK2l5Gg9g4rz2VzLnZsStvp/3c46GfXpwkyufb3NCyG9+50FF1Vg==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha512-2+ujAT2UMBzYFm7tidUsYh+ZoIutxJ3pN9IYrF1/H6dCKtECfhmB8UkHVpyxDwkj0CYbQG35ykoz925TUnBc3A==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag==", + "dev": true, + "requires": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg==", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha512-tjFl0cwMPpDYyoqYA9li1/7mGFit39XiNX5DKC/uCNjBctMxyL1/PT/l4rSlbvBG1pOKI88STRdUsWXB3/Q9hQ==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha512-LnIIdGWIKdw7zwckqx+eGjcS8/cl8D74A3BpJbGjKTFFNJSMrjN4bIh22HY1AlkUbeLG6X6OZj56BDvWD+OeFA==", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg==", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw==", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA==", + "dev": true, + "requires": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ==", + "dev": true, + "requires": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ==", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ==", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha512-LzXDmbMkklvNhprr20//RStKVcT8Cu+SQtX18eMHLhjHf2yFzwtQ0S2f0jQ+89rokoNdmwoSqYzAhq86FxlLSQ==", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg==", + "dev": true, + "requires": { + "regenerator-transform": "^0.10.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-undeclared-variables-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-undeclared-variables-check/-/babel-plugin-undeclared-variables-check-1.0.2.tgz", + "integrity": "sha512-NytRjvfh0DMsjUNaxOIROntf5c03PktIBQlTK6texdQZR7KhpeFxc2W8wGfF5LoJY13bHr2WnRY5xLZp6JXKOg==", + "dev": true, + "requires": { + "leven": "^1.0.2" + } + }, + "babel-plugin-undefined-to-void": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/babel-plugin-undefined-to-void/-/babel-plugin-undefined-to-void-1.1.6.tgz", + "integrity": "sha512-YAi+mWX+Al08e6Isbv8g2UigZUoVnZuuF/JFmG5uAZKQ+6EYILBCFmS28BedM7Ts4QbAIpSqwXdMBzej+9tHUg==", + "dev": true + }, + "babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha512-F2rZGQnAdaHWQ8YAoeRbukc7HS9QgdgeyJ0rQDd485v9opwuPvjpPFcOOT/WmkKTdgy9ESgSPXDcTNpzrGr6iQ==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "regenerator-runtime": "^0.10.5" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==", + "dev": true + } + } + }, + "babel-preset-env": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", + "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^3.2.6", + "invariant": "^2.2.2", + "semver": "^5.3.0" + }, + "dependencies": { + "browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==", + "dev": true, + "requires": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + } + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "backbone": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.6.1.tgz", + "integrity": "sha512-YQzWxOrIgL6BoFnZjThVN99smKYhyEXXFyJJ2lsF1wJLyo4t+QjmkLrH8/fN22FZ4ykF70Xq7PgTugJVR4zS9Q==", + "dev": true, + "requires": { + "underscore": ">=1.8.3" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + } + } + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true + }, + "baseline-browser-mapping": { + "version": "2.8.20", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.20.tgz", + "integrity": "sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==", + "dev": true + }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "before-after-hook": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-1.4.0.tgz", + "integrity": "sha512-l5r9ir56nda3qu14nAXIlyq1MmUSs0meCIaFAh8HwkFwP1F8eToOuS3ah2VAHHcY04jaYD7FpJC5JTXHYRbkzg==" + }, + "binaryextensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.3.0.tgz", + "integrity": "sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "blank-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/blank-object/-/blank-object-1.0.2.tgz", + "integrity": "sha512-kXQ19Xhoghiyw66CUiGypnuRpWlbHAzY/+NyvqTEdTfhfQGH1/dbEMYiXju7fYKIFePpzp/y9dsu5Cu/PkmawQ==", + "dev": true + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha512-OorbnJVPII4DuUKbjARAe8u8EfqOmkEEaSFIyoQ7OjTHn6kafxWl0wLgoZ2rXaYd7MyLcDaU4TmhfxtwgcccMQ==", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "body": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", + "integrity": "sha512-chUsBxGRtuElD6fmw1gHLpvnKdVLK302peeFa9ZqAEk8TyzZ3fygLyUEDDPTJvL9+Bor0dIwn6ePOsRM2y0zQQ==", + "dev": true, + "requires": { + "continuable-cache": "^0.3.1", + "error": "^7.0.0", + "raw-body": "~1.1.0", + "safe-json-parse": "~1.0.1" + }, + "dependencies": { + "bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", + "integrity": "sha512-/x68VkHLeTl3/Ll8IvxdwzhrT+IyKc52e/oyHhA2RwqPqswSnjVbSddfPRwAsJtbilMAPSRWwAlpxdYsSWOTKQ==", + "dev": true + }, + "raw-body": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz", + "integrity": "sha512-WmJJU2e9Y6M5UzTOkHaM7xJGAPQD8PNzx3bAd2+uhZAim6wDk6dAZxPVYLF67XhbR4hmKGh33Lpmh4XWrCH5Mg==", + "dev": true, + "requires": { + "bytes": "1", + "string_decoder": "0.10" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + } + } + }, + "body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } + } + }, + "bootstrap": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.2.tgz", + "integrity": "sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ==", + "dev": true + }, + "bower-config": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/bower-config/-/bower-config-1.4.3.tgz", + "integrity": "sha512-MVyyUk3d1S7d2cl6YISViwJBc2VXCkxF5AUFykvN0PQj5FsUiMNSgAYTso18oRFfyZ6XEtjrgg9MAaufHbOwNw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.3", + "minimist": "^0.2.1", + "mout": "^1.0.0", + "osenv": "^0.1.3", + "untildify": "^2.1.0", + "wordwrap": "^0.0.3" + }, + "dependencies": { + "minimist": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.2.4.tgz", + "integrity": "sha512-Pkrrm8NjyQ8yVt8Am9M+yUt74zE3iokhzbG1bFVNjLB92vwM71hf40RkEsryg98BujhVOncKm/C1xROxZ030LQ==", + "dev": true + } + } + }, + "bower-endpoint-parser": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/bower-endpoint-parser/-/bower-endpoint-parser-0.2.2.tgz", + "integrity": "sha512-YWZHhWkPdXtIfH3VRu3QIV95sa75O9vrQWBOHjexWCLBCTy5qJvRr36LXTqFwTchSXVlzy5piYJOjzHr7qhsNg==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "requires": { + "fill-range": "^7.1.1" + } + }, + "breakable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/breakable/-/breakable-1.0.0.tgz", + "integrity": "sha512-+ityJqcjhozQNrezzTd2dtH/lkIXmE52HL+FohK2TOLQDl3QURTNkim+2C0xcso4Zehq/HM4Wkumcdz7Ue+XmA==", + "dev": true + }, + "broccoli": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/broccoli/-/broccoli-3.5.2.tgz", + "integrity": "sha512-sWi3b3fTUSVPDsz5KsQ5eCQNVAtLgkIE/HYFkEZXR/07clqmd4E/gFiuwSaqa9b+QTXc1Uemfb7TVWbEIURWDg==", + "dev": true, + "requires": { + "@types/chai": "^4.2.9", + "@types/chai-as-promised": "^7.1.2", + "@types/express": "^4.17.2", + "ansi-html": "^0.0.7", + "broccoli-node-info": "^2.1.0", + "broccoli-slow-trees": "^3.0.1", + "broccoli-source": "^3.0.0", + "commander": "^4.1.1", + "connect": "^3.6.6", + "console-ui": "^3.0.4", + "esm": "^3.2.4", + "findup-sync": "^4.0.0", + "handlebars": "^4.7.3", + "heimdalljs": "^0.2.6", + "heimdalljs-logger": "^0.1.9", + "https": "^1.0.0", + "mime-types": "^2.1.26", + "resolve-path": "^1.4.0", + "rimraf": "^3.0.2", + "sane": "^4.0.0", + "tmp": "^0.0.33", + "tree-sync": "^2.0.0", + "underscore.string": "^3.2.2", + "watch-detector": "^1.0.0" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "broccoli-amd-funnel": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/broccoli-amd-funnel/-/broccoli-amd-funnel-2.0.1.tgz", + "integrity": "sha512-VRE+0PYAN4jQfkIq3GKRj4U/4UV9rVpLan5ll6fVYV4ziVg4OEfR5GUnILEg++QtR4xSaugRxCPU5XJLDy3bNQ==", + "dev": true, + "requires": { + "broccoli-plugin": "^1.3.0", + "symlink-or-copy": "^1.2.0" + } + }, + "broccoli-asset-rev": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/broccoli-asset-rev/-/broccoli-asset-rev-2.7.0.tgz", + "integrity": "sha512-GZ7gU3Qo6HMAUqDeh1q+4UVCQPJPjCyGcpIY5s9Qp58a244FT4nZSiy8qYkVC4LLIWTZt59G7jFFsUcj/13IPQ==", + "dev": true, + "requires": { + "broccoli-asset-rewrite": "^1.1.0", + "broccoli-filter": "^1.2.2", + "broccoli-persistent-filter": "^1.4.3", + "json-stable-stringify": "^1.0.0", + "minimatch": "^3.0.4", + "rsvp": "^3.0.6" + } + }, + "broccoli-asset-rewrite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/broccoli-asset-rewrite/-/broccoli-asset-rewrite-1.1.0.tgz", + "integrity": "sha512-DLFMXCnaflEssBLEA1x6hzABOz8Zj7BXCHQkA/jVnpVzJcoHJaN1rn3AfZ2Hahrp4er9LMJAGxm8OI4lCXLBEQ==", + "dev": true, + "requires": { + "broccoli-filter": "^1.2.3" + } + }, + "broccoli-babel-transpiler": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/broccoli-babel-transpiler/-/broccoli-babel-transpiler-7.8.1.tgz", + "integrity": "sha512-6IXBgfRt7HZ61g67ssBc6lBb3Smw3DPZ9dEYirgtvXWpRZ2A9M22nxy6opEwJDgDJzlu/bB7ToppW33OFkA1gA==", + "dev": true, + "requires": { + "@babel/core": "^7.12.0", + "@babel/polyfill": "^7.11.5", + "broccoli-funnel": "^2.0.2", + "broccoli-merge-trees": "^3.0.2", + "broccoli-persistent-filter": "^2.2.1", + "clone": "^2.1.2", + "hash-for-dep": "^1.4.7", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.9", + "json-stable-stringify": "^1.0.1", + "rsvp": "^4.8.4", + "workerpool": "^3.1.1" + }, + "dependencies": { + "broccoli-funnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.2.tgz", + "integrity": "sha512-/vDTqtv7ipjEZQOVqO4vGDVAOZyuYzQ/EgGoyewfOgh1M7IQAToBKZI0oAQPgMBeFPPlIbfMuAngk+ohPBuaHQ==", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + } + }, + "broccoli-persistent-filter": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/broccoli-persistent-filter/-/broccoli-persistent-filter-2.3.1.tgz", + "integrity": "sha512-hVsmIgCDrl2NFM+3Gs4Cr2TA6UPaIZip99hN8mtkaUPgM8UeVnCbxelCvBjUBHo0oaaqP5jzqqnRVvb568Yu5g==", + "dev": true, + "requires": { + "async-disk-cache": "^1.2.1", + "async-promise-queue": "^1.0.3", + "broccoli-plugin": "^1.0.0", + "fs-tree-diff": "^2.0.0", + "hash-for-dep": "^1.5.0", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "mkdirp": "^0.5.1", + "promise-map-series": "^0.2.1", + "rimraf": "^2.6.1", + "rsvp": "^4.7.0", + "symlink-or-copy": "^1.0.1", + "sync-disk-cache": "^1.3.3", + "walk-sync": "^1.0.0" + }, + "dependencies": { + "fs-tree-diff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-2.0.1.tgz", + "integrity": "sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A==", + "dev": true, + "requires": { + "@types/symlink-or-copy": "^1.2.0", + "heimdalljs-logger": "^0.1.7", + "object-assign": "^4.1.0", + "path-posix": "^1.0.0", + "symlink-or-copy": "^1.1.8" + } + }, + "walk-sync": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-1.1.4.tgz", + "integrity": "sha512-nowc9thB/Jg0KW4TgxoRjLLYRPvl3DB/98S89r4ZcJqq2B0alNcKDh6pzLkBSkPMzRSMsJghJHQi79qw0YWEkA==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "ensure-posix-path": "^1.1.0", + "matcher-collection": "^1.1.1" + } + } + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, + "workerpool": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-3.1.2.tgz", + "integrity": "sha512-WJFA0dGqIK7qj7xPTqciWBH5DlJQzoPjsANvc3Y4hNB0SScT+Emjvt0jPPkDBUjBNngX1q9hHgt1Gfwytu6pug==", + "dev": true, + "requires": { + "@babel/core": "^7.3.4", + "object-assign": "4.1.1", + "rsvp": "^4.8.4" + } + } + } + }, + "broccoli-builder": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/broccoli-builder/-/broccoli-builder-0.18.14.tgz", + "integrity": "sha512-YoUHeKnPi4xIGZ2XDVN9oHNA9k3xF5f5vlA+1wvrxIIDXqQU97gp2FxVAF503Zxdtt0C5CRB5n+47k2hlkaBzA==", + "dev": true, + "requires": { + "broccoli-node-info": "^1.1.0", + "heimdalljs": "^0.2.0", + "promise-map-series": "^0.2.1", + "quick-temp": "^0.1.2", + "rimraf": "^2.2.8", + "rsvp": "^3.0.17", + "silent-error": "^1.0.1" + }, + "dependencies": { + "broccoli-node-info": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/broccoli-node-info/-/broccoli-node-info-1.1.0.tgz", + "integrity": "sha512-DUohSZCdfXli/3iN6SmxPbck1OVG8xCkrLx47R25his06xVc1ZmmrOsrThiM8BsCWirwyocODiYJqNP5W2Hg1A==", + "dev": true + } + } + }, + "broccoli-caching-writer": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/broccoli-caching-writer/-/broccoli-caching-writer-3.0.3.tgz", + "integrity": "sha512-g644Kb5uBPsy+6e2DvO3sOc+/cXZQQNgQt64QQzjA9TSdP0dl5qvetpoNIx4sy/XIjrPYG1smEidq9Z9r61INw==", + "dev": true, + "requires": { + "broccoli-kitchen-sink-helpers": "^0.3.1", + "broccoli-plugin": "^1.2.1", + "debug": "^2.1.1", + "rimraf": "^2.2.8", + "rsvp": "^3.0.17", + "walk-sync": "^0.3.0" + } + }, + "broccoli-clean-css": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/broccoli-clean-css/-/broccoli-clean-css-1.1.0.tgz", + "integrity": "sha512-S7/RWWX+lL42aGc5+fXVLnwDdMtS0QEWUFalDp03gJ9Na7zj1rWa351N2HZ687E2crM9g+eDWXKzD17cbcTepg==", + "dev": true, + "requires": { + "broccoli-persistent-filter": "^1.1.6", + "clean-css-promise": "^0.1.0", + "inline-source-map-comment": "^1.0.5", + "json-stable-stringify": "^1.0.0" + } + }, + "broccoli-concat": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/broccoli-concat/-/broccoli-concat-4.2.5.tgz", + "integrity": "sha512-dFB5ATPwOyV8S2I7a07HxCoutoq23oY//LhM6Mou86cWUTB174rND5aQLR7Fu8FjFFLxoTbkk7y0VPITJ1IQrw==", + "dev": true, + "requires": { + "broccoli-debug": "^0.6.5", + "broccoli-kitchen-sink-helpers": "^0.3.1", + "broccoli-plugin": "^4.0.2", + "ensure-posix-path": "^1.0.2", + "fast-sourcemap-concat": "^2.1.0", + "find-index": "^1.1.0", + "fs-extra": "^8.1.0", + "fs-tree-diff": "^2.0.1", + "lodash.merge": "^4.6.2", + "lodash.omit": "^4.1.0", + "lodash.uniq": "^4.2.0" + }, + "dependencies": { + "broccoli-plugin": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-4.0.7.tgz", + "integrity": "sha512-a4zUsWtA1uns1K7p9rExYVYG99rdKeGRymW0qOCNkvDPHQxVi3yVyJHhQbM3EZwdt2E0mnhr5e0c/bPpJ7p3Wg==", + "dev": true, + "requires": { + "broccoli-node-api": "^1.7.0", + "broccoli-output-wrapper": "^3.2.5", + "fs-merger": "^3.2.1", + "promise-map-series": "^0.3.0", + "quick-temp": "^0.1.8", + "rimraf": "^3.0.2", + "symlink-or-copy": "^1.3.1" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-tree-diff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-2.0.1.tgz", + "integrity": "sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A==", + "dev": true, + "requires": { + "@types/symlink-or-copy": "^1.2.0", + "heimdalljs-logger": "^0.1.7", + "object-assign": "^4.1.0", + "path-posix": "^1.0.0", + "symlink-or-copy": "^1.1.8" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "promise-map-series": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/promise-map-series/-/promise-map-series-0.3.0.tgz", + "integrity": "sha512-3npG2NGhTc8BWBolLLf8l/92OxMGaRLbqvIh9wjCHhDXNvk4zsxaTaCpiCunW09qWPrN2zeNSNwRLVBrQQtutA==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "broccoli-config-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/broccoli-config-loader/-/broccoli-config-loader-1.0.1.tgz", + "integrity": "sha512-MDKYQ50rxhn+g17DYdfzfEM9DjTuSGu42Db37A8TQHQe8geYEcUZ4SQqZRgzdAI3aRQNlA1yBHJfOeGmOjhLIg==", + "dev": true, + "requires": { + "broccoli-caching-writer": "^3.0.3" + } + }, + "broccoli-config-replace": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/broccoli-config-replace/-/broccoli-config-replace-1.1.2.tgz", + "integrity": "sha512-qLlEY3V7p3ZWJNRPdPgwIM77iau1qR03S9BupMMFngjzBr7S6RSzcg96HbCYXmW9gfTbjRm9FC4CQT81SBusZg==", + "dev": true, + "requires": { + "broccoli-kitchen-sink-helpers": "^0.3.1", + "broccoli-plugin": "^1.2.0", + "debug": "^2.2.0", + "fs-extra": "^0.24.0" + }, + "dependencies": { + "fs-extra": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.24.0.tgz", + "integrity": "sha512-w1RvhdLZdU9V3vQdL+RooGlo6b9R9WVoBanOfoJvosWlqSKvrjFlci2oVhwvLwZXBtM7khyPvZ8r3fwsim3o0A==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + } + } + }, + "broccoli-debug": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/broccoli-debug/-/broccoli-debug-0.6.5.tgz", + "integrity": "sha512-RIVjHvNar9EMCLDW/FggxFRXqpjhncM/3qq87bn/y+/zR9tqEkHvTqbyOc4QnB97NO2m6342w4wGkemkaeOuWg==", + "dev": true, + "requires": { + "broccoli-plugin": "^1.2.1", + "fs-tree-diff": "^0.5.2", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "symlink-or-copy": "^1.1.8", + "tree-sync": "^1.2.2" + }, + "dependencies": { + "tree-sync": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/tree-sync/-/tree-sync-1.4.0.tgz", + "integrity": "sha512-YvYllqh3qrR5TAYZZTXdspnIhlKAYezPYw11ntmweoceu4VK+keN356phHRIIo1d+RDmLpHZrUlmxga2gc9kSQ==", + "dev": true, + "requires": { + "debug": "^2.2.0", + "fs-tree-diff": "^0.5.6", + "mkdirp": "^0.5.1", + "quick-temp": "^0.1.5", + "walk-sync": "^0.3.3" + } + } + } + }, + "broccoli-file-creator": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/broccoli-file-creator/-/broccoli-file-creator-1.2.0.tgz", + "integrity": "sha512-l9zthHg6bAtnOfRr/ieZ1srRQEsufMZID7xGYRW3aBDv3u/3Eux+Iawl10tAGYE5pL9YB4n5X4vxkp6iNOoZ9g==", + "dev": true, + "requires": { + "broccoli-plugin": "^1.1.0", + "mkdirp": "^0.5.1" + } + }, + "broccoli-filter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/broccoli-filter/-/broccoli-filter-1.3.0.tgz", + "integrity": "sha512-VXJXw7eBfG82CFxaBDjYmyN7V72D4In2zwLVQJd/h3mBfF3CMdRTsv2L20lmRTtCv1sAHcB+LgMso90e/KYiLw==", + "dev": true, + "requires": { + "broccoli-kitchen-sink-helpers": "^0.3.1", + "broccoli-plugin": "^1.0.0", + "copy-dereference": "^1.0.0", + "debug": "^2.2.0", + "mkdirp": "^0.5.1", + "promise-map-series": "^0.2.1", + "rsvp": "^3.0.18", + "symlink-or-copy": "^1.0.1", + "walk-sync": "^0.3.1" + } + }, + "broccoli-funnel": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-3.0.8.tgz", + "integrity": "sha512-ng4eIhPYiXqMw6SyGoxPHR3YAwEd2lr9FgBI1CyTbspl4txZovOsmzFkMkGAlu88xyvYXJqHiM2crfLa65T1BQ==", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "broccoli-plugin": "^4.0.7", + "debug": "^4.1.1", + "fs-tree-diff": "^2.0.1", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "walk-sync": "^2.0.2" + }, + "dependencies": { + "broccoli-plugin": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-4.0.7.tgz", + "integrity": "sha512-a4zUsWtA1uns1K7p9rExYVYG99rdKeGRymW0qOCNkvDPHQxVi3yVyJHhQbM3EZwdt2E0mnhr5e0c/bPpJ7p3Wg==", + "dev": true, + "requires": { + "broccoli-node-api": "^1.7.0", + "broccoli-output-wrapper": "^3.2.5", + "fs-merger": "^3.2.1", + "promise-map-series": "^0.3.0", + "quick-temp": "^0.1.8", + "rimraf": "^3.0.2", + "symlink-or-copy": "^1.3.1" + } + }, + "debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + }, + "fs-tree-diff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-2.0.1.tgz", + "integrity": "sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A==", + "dev": true, + "requires": { + "@types/symlink-or-copy": "^1.2.0", + "heimdalljs-logger": "^0.1.7", + "object-assign": "^4.1.0", + "path-posix": "^1.0.0", + "symlink-or-copy": "^1.1.8" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "matcher-collection": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-2.0.1.tgz", + "integrity": "sha512-daE62nS2ZQsDg9raM0IlZzLmI2u+7ZapXBwdoeBUKAYERPDDIc0qNqA8E0Rp2D+gspKR7BgIFP52GeujaGXWeQ==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "minimatch": "^3.0.2" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "promise-map-series": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/promise-map-series/-/promise-map-series-0.3.0.tgz", + "integrity": "sha512-3npG2NGhTc8BWBolLLf8l/92OxMGaRLbqvIh9wjCHhDXNvk4zsxaTaCpiCunW09qWPrN2zeNSNwRLVBrQQtutA==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "walk-sync": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-2.2.0.tgz", + "integrity": "sha512-IC8sL7aB4/ZgFcGI2T1LczZeFWZ06b3zoHH7jBPyHxOtIIz1jppWHjjEXkOFvFojBVAK9pV7g47xOZ4LW3QLfg==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "ensure-posix-path": "^1.1.0", + "matcher-collection": "^2.0.0", + "minimatch": "^3.0.4" + } + } + } + }, + "broccoli-funnel-reducer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/broccoli-funnel-reducer/-/broccoli-funnel-reducer-1.0.0.tgz", + "integrity": "sha512-SaOCEdh+wnt2jFUV2Qb32m7LXyElvFwW3NKNaEJyi5PGQNwxfqpkc0KI6AbQANKgdj/40U2UC0WuGThFwuEUaA==", + "dev": true + }, + "broccoli-kitchen-sink-helpers": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/broccoli-kitchen-sink-helpers/-/broccoli-kitchen-sink-helpers-0.3.1.tgz", + "integrity": "sha512-gqYnKSJxBSjj/uJqeuRAzYVbmjWhG0mOZ8jrp6+fnUIOgLN6MvI7XxBECDHkYMIFPJ8Smf4xaI066Q2FqQDnXg==", + "dev": true, + "requires": { + "glob": "^5.0.10", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "broccoli-lint-eslint": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/broccoli-lint-eslint/-/broccoli-lint-eslint-4.2.1.tgz", + "integrity": "sha512-Jvm06UvuMPa5gEH+9/Sb+QpoIodDAYzbyIUEqxniPCdA6JJooa91hQDCTJc32RUV46JNMcLhb3Dl55BdA8v5mw==", + "dev": true, + "requires": { + "aot-test-generators": "^0.1.0", + "broccoli-concat": "^3.2.2", + "broccoli-persistent-filter": "^1.4.3", + "eslint": "^4.0.0", + "json-stable-stringify": "^1.0.1", + "lodash.defaultsdeep": "^4.6.0", + "md5-hex": "^2.0.0" + }, + "dependencies": { + "broccoli-concat": { + "version": "3.7.5", + "resolved": "https://registry.npmjs.org/broccoli-concat/-/broccoli-concat-3.7.5.tgz", + "integrity": "sha512-rDs1Mej3Ej0Cy5yIO9oIQq5+BCv0opAwS2NW7M0BeCsAMeFM42Z/zacDUC6jKc5OV5wiHvGTyCPLnZkMe0h6kQ==", + "dev": true, + "requires": { + "broccoli-debug": "^0.6.5", + "broccoli-kitchen-sink-helpers": "^0.3.1", + "broccoli-plugin": "^1.3.0", + "ensure-posix-path": "^1.0.2", + "fast-sourcemap-concat": "^1.4.0", + "find-index": "^1.1.0", + "fs-extra": "^4.0.3", + "fs-tree-diff": "^0.5.7", + "lodash.merge": "^4.6.2", + "lodash.omit": "^4.1.0", + "lodash.uniq": "^4.2.0", + "walk-sync": "^0.3.2" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "fast-sourcemap-concat": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/fast-sourcemap-concat/-/fast-sourcemap-concat-1.4.0.tgz", + "integrity": "sha512-x90Wlx/2C83lfyg7h4oguTZN4MyaVfaiUSJQNpU+YEA0Odf9u659Opo44b0LfoVg9G/bOE++GdID/dkyja+XcA==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "fs-extra": "^5.0.0", + "heimdalljs-logger": "^0.1.9", + "memory-streams": "^0.1.3", + "mkdirp": "^0.5.0", + "source-map": "^0.4.2", + "source-map-url": "^0.3.0", + "sourcemap-validator": "^1.1.0" + }, + "dependencies": { + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha512-Y8nIfcb1s/7DcobUz1yOO1GSp7gyL+D9zLHDehT7iRESqGSxjJ448Sg7rvfgsRJCnKLdSl11uGf0s9X80cH0/A==", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + }, + "source-map-url": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz", + "integrity": "sha512-QU4fa0D6aSOmrT+7OHpUXw+jS84T0MLaQNtFs8xzLNe6Arj44Magd7WEbyVW5LNYoAPVV35aKs4azxIfVJrToQ==", + "dev": true + } + } + }, + "broccoli-merge-trees": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-3.0.2.tgz", + "integrity": "sha512-ZyPAwrOdlCddduFbsMyyFzJUrvW6b04pMvDiAQZrCwghlvgowJDY+EfoXn+eR1RRA5nmGHJ+B68T63VnpRiT1A==", + "dev": true, + "requires": { + "broccoli-plugin": "^1.3.0", + "merge-trees": "^2.0.0" + } + }, + "broccoli-middleware": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/broccoli-middleware/-/broccoli-middleware-2.1.1.tgz", + "integrity": "sha512-BK8aPhQpOLsHWiftrqXQr84XsvzUqeaN4PlCQOYg5yM0M+WKAHtX2WFXmicSQZOVgKDyh5aeoNTFkHjBAEBzwQ==", + "dev": true, + "requires": { + "ansi-html": "^0.0.7", + "handlebars": "^4.0.4", + "has-ansi": "^3.0.0", + "mime-types": "^2.1.18" + } + }, + "broccoli-node-api": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/broccoli-node-api/-/broccoli-node-api-1.7.0.tgz", + "integrity": "sha512-QIqLSVJWJUVOhclmkmypJJH9u9s/aWH4+FH6Q6Ju5l+Io4dtwqdPUNmDfw40o6sxhbZHhqGujDJuHTML1wG8Yw==", + "dev": true + }, + "broccoli-node-info": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/broccoli-node-info/-/broccoli-node-info-2.2.0.tgz", + "integrity": "sha512-VabSGRpKIzpmC+r+tJueCE5h8k6vON7EIMMWu6d/FyPdtijwLQ7QvzShEw+m3mHoDzUaj/kiZsDYrS8X2adsBg==", + "dev": true + }, + "broccoli-output-wrapper": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/broccoli-output-wrapper/-/broccoli-output-wrapper-3.2.5.tgz", + "integrity": "sha512-bQAtwjSrF4Nu0CK0JOy5OZqw9t5U0zzv2555EA/cF8/a8SLDTIetk9UgrtMVw7qKLKdSpOZ2liZNeZZDaKgayw==", + "dev": true, + "requires": { + "fs-extra": "^8.1.0", + "heimdalljs-logger": "^0.1.10", + "symlink-or-copy": "^1.2.0" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "broccoli-persistent-filter": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/broccoli-persistent-filter/-/broccoli-persistent-filter-1.4.6.tgz", + "integrity": "sha512-0RejLwoC95kv4kta8KAa+FmECJCK78Qgm8SRDEK7YyU0N9Cx6KpY3UCDy9WELl3mCXLN8TokNxc7/hp3lL4lfw==", + "dev": true, + "requires": { + "async-disk-cache": "^1.2.1", + "async-promise-queue": "^1.0.3", + "broccoli-plugin": "^1.0.0", + "fs-tree-diff": "^0.5.2", + "hash-for-dep": "^1.0.2", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "mkdirp": "^0.5.1", + "promise-map-series": "^0.2.1", + "rimraf": "^2.6.1", + "rsvp": "^3.0.18", + "symlink-or-copy": "^1.0.1", + "walk-sync": "^0.3.1" + } + }, + "broccoli-plugin": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-1.3.1.tgz", + "integrity": "sha512-DW8XASZkmorp+q7J4EeDEZz+LoyKLAd2XZULXyD9l4m9/hAKV3vjHmB1kiUshcWAYMgTP1m2i4NnqCE/23h6AQ==", + "dev": true, + "requires": { + "promise-map-series": "^0.2.1", + "quick-temp": "^0.1.3", + "rimraf": "^2.3.4", + "symlink-or-copy": "^1.1.8" + } + }, + "broccoli-sass-source-maps": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/broccoli-sass-source-maps/-/broccoli-sass-source-maps-2.2.0.tgz", + "integrity": "sha512-X1yTOGQcjQxYebP+hjeAI286x63VZ0WfgFxqHsr4eimgNNL2TPxkJKKgOaDKJ3nE8pszbJWgHrWpEVXuwgsUzw==", + "dev": true, + "requires": { + "broccoli-caching-writer": "^3.0.3", + "include-path-searcher": "^0.1.0", + "mkdirp": "^0.3.5", + "node-sass": "^4.7.2", + "object-assign": "^2.0.0", + "rsvp": "^3.0.6" + }, + "dependencies": { + "mkdirp": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", + "integrity": "sha512-8OCq0De/h9ZxseqzCH8Kw/Filf5pF/vMI6+BH7Lu0jXz2pqYCjTAQRolSxRIi+Ax+oCCjlxoJMP0YQ4XlrQNHg==", + "dev": true + }, + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==", + "dev": true + } + } + }, + "broccoli-slow-trees": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/broccoli-slow-trees/-/broccoli-slow-trees-3.1.0.tgz", + "integrity": "sha512-FRI7mRTk2wjIDrdNJd6znS7Kmmne4VkAkl8Ix1R/VoePFMD0g0tEl671xswzFqaRjpT9Qu+CC4hdXDLDJBuzMw==", + "dev": true, + "requires": { + "heimdalljs": "^0.2.1" + } + }, + "broccoli-source": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/broccoli-source/-/broccoli-source-3.0.1.tgz", + "integrity": "sha512-ZbGVQjivWi0k220fEeIUioN6Y68xjMy0xiLAc0LdieHI99gw+tafU8w0CggBDYVNsJMKUr006AZaM7gNEwCxEg==", + "dev": true, + "requires": { + "broccoli-node-api": "^1.6.0" + } + }, + "broccoli-sri-hash": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/broccoli-sri-hash/-/broccoli-sri-hash-2.1.2.tgz", + "integrity": "sha512-toLD/v7ut2ajcH8JsdCMG2Bpq2qkwTcKM6CMzVMSAJjaz/KpK69fR+gSqe1dsjh+QTdxG0yVvkq3Sij/XMzV6A==", + "dev": true, + "requires": { + "broccoli-caching-writer": "^2.2.0", + "mkdirp": "^0.5.1", + "rsvp": "^3.1.0", + "sri-toolbox": "^0.2.0", + "symlink-or-copy": "^1.0.1" + }, + "dependencies": { + "broccoli-caching-writer": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/broccoli-caching-writer/-/broccoli-caching-writer-2.3.1.tgz", + "integrity": "sha512-lfoDx98VaU8tG4mUXCxKdKyw2Lr+iSIGUjCgV83KC2zRC07SzYTGuSsMqpXFiOQlOGuoJxG3NRoyniBa1BWOqA==", + "dev": true, + "requires": { + "broccoli-kitchen-sink-helpers": "^0.2.5", + "broccoli-plugin": "1.1.0", + "debug": "^2.1.1", + "rimraf": "^2.2.8", + "rsvp": "^3.0.17", + "walk-sync": "^0.2.5" + } + }, + "broccoli-kitchen-sink-helpers": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/broccoli-kitchen-sink-helpers/-/broccoli-kitchen-sink-helpers-0.2.9.tgz", + "integrity": "sha512-C+oEqivDofZv/h80rgN4WJkbZkbfwkrIeu8vFn4bb4m4jPd3ICNNplhkXGl3ps439pzc2yjZ1qIwz0yy8uHcQg==", + "dev": true, + "requires": { + "glob": "^5.0.10", + "mkdirp": "^0.5.1" + } + }, + "broccoli-plugin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-1.1.0.tgz", + "integrity": "sha512-dY1QsA20of9wWEto8yhN7JQjpfjySmgeIMsvnQ9aBAv1wEJJCe04B0ekdgq7Bduyx9yWXdoC5CngGy81swmp2w==", + "dev": true, + "requires": { + "promise-map-series": "^0.2.1", + "quick-temp": "^0.1.3", + "rimraf": "^2.3.4", + "symlink-or-copy": "^1.0.1" + } + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "walk-sync": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.2.7.tgz", + "integrity": "sha512-OH8GdRMowEFr0XSHQeX5fGweO6zSVHo7bG/0yJQx6LAj9Oukz0C8heI3/FYectT66gY0IPGe89kOvU410/UNpg==", + "dev": true, + "requires": { + "ensure-posix-path": "^1.0.0", + "matcher-collection": "^1.0.0" + } + } + } + }, + "broccoli-stew": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/broccoli-stew/-/broccoli-stew-3.0.0.tgz", + "integrity": "sha512-NXfi+Vas24n3Ivo21GvENTI55qxKu7OwKRnCLWXld8MiLiQKQlWIq28eoARaFj0lTUFwUa4jKZeA7fW9PiWQeg==", + "dev": true, + "requires": { + "broccoli-debug": "^0.6.5", + "broccoli-funnel": "^2.0.0", + "broccoli-merge-trees": "^3.0.1", + "broccoli-persistent-filter": "^2.3.0", + "broccoli-plugin": "^2.1.0", + "chalk": "^2.4.1", + "debug": "^4.1.1", + "ensure-posix-path": "^1.0.1", + "fs-extra": "^8.0.1", + "minimatch": "^3.0.4", + "resolve": "^1.11.1", + "rsvp": "^4.8.5", + "symlink-or-copy": "^1.2.0", + "walk-sync": "^1.1.3" + }, + "dependencies": { + "broccoli-funnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.2.tgz", + "integrity": "sha512-/vDTqtv7ipjEZQOVqO4vGDVAOZyuYzQ/EgGoyewfOgh1M7IQAToBKZI0oAQPgMBeFPPlIbfMuAngk+ohPBuaHQ==", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + }, + "dependencies": { + "broccoli-plugin": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-1.3.1.tgz", + "integrity": "sha512-DW8XASZkmorp+q7J4EeDEZz+LoyKLAd2XZULXyD9l4m9/hAKV3vjHmB1kiUshcWAYMgTP1m2i4NnqCE/23h6AQ==", + "dev": true, + "requires": { + "promise-map-series": "^0.2.1", + "quick-temp": "^0.1.3", + "rimraf": "^2.3.4", + "symlink-or-copy": "^1.1.8" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "walk-sync": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.3.4.tgz", + "integrity": "sha512-ttGcuHA/OBnN2pcM6johpYlEms7XpO5/fyKIr48541xXedan4roO8cS1Q2S/zbbjGH/BarYDAMeS2Mi9HE5Tig==", + "dev": true, + "requires": { + "ensure-posix-path": "^1.0.0", + "matcher-collection": "^1.0.0" + } + } + } + }, + "broccoli-persistent-filter": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/broccoli-persistent-filter/-/broccoli-persistent-filter-2.3.1.tgz", + "integrity": "sha512-hVsmIgCDrl2NFM+3Gs4Cr2TA6UPaIZip99hN8mtkaUPgM8UeVnCbxelCvBjUBHo0oaaqP5jzqqnRVvb568Yu5g==", + "dev": true, + "requires": { + "async-disk-cache": "^1.2.1", + "async-promise-queue": "^1.0.3", + "broccoli-plugin": "^1.0.0", + "fs-tree-diff": "^2.0.0", + "hash-for-dep": "^1.5.0", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "mkdirp": "^0.5.1", + "promise-map-series": "^0.2.1", + "rimraf": "^2.6.1", + "rsvp": "^4.7.0", + "symlink-or-copy": "^1.0.1", + "sync-disk-cache": "^1.3.3", + "walk-sync": "^1.0.0" + }, + "dependencies": { + "broccoli-plugin": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-1.3.1.tgz", + "integrity": "sha512-DW8XASZkmorp+q7J4EeDEZz+LoyKLAd2XZULXyD9l4m9/hAKV3vjHmB1kiUshcWAYMgTP1m2i4NnqCE/23h6AQ==", + "dev": true, + "requires": { + "promise-map-series": "^0.2.1", + "quick-temp": "^0.1.3", + "rimraf": "^2.3.4", + "symlink-or-copy": "^1.1.8" + } + }, + "fs-tree-diff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-2.0.1.tgz", + "integrity": "sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A==", + "dev": true, + "requires": { + "@types/symlink-or-copy": "^1.2.0", + "heimdalljs-logger": "^0.1.7", + "object-assign": "^4.1.0", + "path-posix": "^1.0.0", + "symlink-or-copy": "^1.1.8" + } + } + } + }, + "broccoli-plugin": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-2.1.0.tgz", + "integrity": "sha512-ElE4caljW4slapyEhSD9jU9Uayc8SoSABWdmY9SqbV8DHNxU6xg1jJsPcMm+cXOvggR3+G+OXAYQeFjWVnznaw==", + "dev": true, + "requires": { + "promise-map-series": "^0.2.1", + "quick-temp": "^0.1.3", + "rimraf": "^2.3.4", + "symlink-or-copy": "^1.1.8" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "requires": { + "ms": "^2.1.3" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, + "walk-sync": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-1.1.4.tgz", + "integrity": "sha512-nowc9thB/Jg0KW4TgxoRjLLYRPvl3DB/98S89r4ZcJqq2B0alNcKDh6pzLkBSkPMzRSMsJghJHQi79qw0YWEkA==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "ensure-posix-path": "^1.1.0", + "matcher-collection": "^1.1.1" + } + } + } + }, + "broccoli-uglify-sourcemap": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/broccoli-uglify-sourcemap/-/broccoli-uglify-sourcemap-1.5.2.tgz", + "integrity": "sha512-LO01NPTTwWoFBRrPCwJv0dXp/xeFLhsFhHoUgr8ETa9ZwE2q0be5/lLJae/M2nCMhwyFiBpiDhB9NG1zbMoYSA==", + "dev": true, + "requires": { + "broccoli-plugin": "^1.2.1", + "debug": "^2.2.0", + "lodash.merge": "^4.5.1", + "matcher-collection": "^1.0.0", + "mkdirp": "^0.5.0", + "source-map-url": "^0.3.0", + "symlink-or-copy": "^1.0.1", + "uglify-js": "^2.7.0", + "walk-sync": "^0.1.3" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==", + "dev": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + }, + "source-map-url": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz", + "integrity": "sha512-QU4fa0D6aSOmrT+7OHpUXw+jS84T0MLaQNtFs8xzLNe6Arj44Magd7WEbyVW5LNYoAPVV35aKs4azxIfVJrToQ==", + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==", + "dev": true, + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + } + }, + "walk-sync": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.1.3.tgz", + "integrity": "sha512-TxkEYAjyjVCrye/AjyV7NOb/Ww3jnf/MXQJxFanxJb6KhHGKja1S2H8sVEe/zKFJCIYegtZbFMrPm0XxU8CBmQ==", + "dev": true + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==", + "dev": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==", + "dev": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==", + "dev": true, + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } + }, + "browserslist": { + "version": "4.27.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.27.0.tgz", + "integrity": "sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==", + "dev": true, + "requires": { + "baseline-browser-mapping": "^2.8.19", + "caniuse-lite": "^1.0.30001751", + "electron-to-chromium": "^1.5.238", + "node-releases": "^2.0.26", + "update-browserslist-db": "^1.1.4" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "btoa-lite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", + "integrity": "sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA==" + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "build": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/build/-/build-0.1.4.tgz", + "integrity": "sha512-KwbDJ/zrsU8KZRRMfoURG14cKIAStUlS8D5jBDvtrZbwO5FEkYqc3oB8HIhRiyD64A48w1lc+sOmQ+mmBw5U/Q==", + "dev": true, + "requires": { + "cssmin": "0.3.x", + "jsmin": "1.x", + "jxLoader": "*", + "moo-server": "*", + "promised-io": "*", + "timespan": "2.x", + "uglify-js": "1.x", + "walker": "1.x", + "winston": "*", + "wrench": "1.3.x" + }, + "dependencies": { + "uglify-js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.5.tgz", + "integrity": "sha512-YPX1DjKtom8l9XslmPFQnqWzTBkvI4N0pbkzLuPZZ4QTyig0uQqvZz9NgUdfEV+qccJzi7fVcGWdESvRIjWptQ==", + "dev": true + } + } + }, + "builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", + "dev": true + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "calculate-cache-key-for-tree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/calculate-cache-key-for-tree/-/calculate-cache-key-for-tree-2.0.0.tgz", + "integrity": "sha512-Quw8a6y8CPmRd6eU+mwypktYCwUcf8yVFIRbNZ6tPQEckX9yd+EBVEPC/GSZZrMWH9e7Vz4pT7XhpmyApRByLQ==", + "dev": true, + "requires": { + "json-stable-stringify": "^1.0.1" + } + }, + "call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "requires": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + } + }, + "call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + } + }, + "call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "requires": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + } + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha512-UJiE1otjXPF5/x+T3zTnSFiTOEmJoGTD9HmBoxnCUwho61a2eSNn/VwtwuIBDAo2SEOv1AJ7ARI5gCmohFLu/g==", + "dev": true, + "requires": { + "callsites": "^0.2.0" + }, + "dependencies": { + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha512-Zv4Dns9IbXXmPkgRRUjAaJQgfN4xX5p6+RQFhWUqscdvvK2xK/ZL8b3IXIJsj+4sD+f24NwnWy2BY8AJ82JB0A==", + "dev": true + } + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "can-symlink": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/can-symlink/-/can-symlink-1.0.0.tgz", + "integrity": "sha512-RbsNrFyhwkx+6psk/0fK/Q9orOUr9VMxohGd8vTa4djf4TGLfblBgUfqZChrZuW0Q+mz2eBPFLusw9Jfukzmhg==", + "dev": true, + "requires": { + "tmp": "0.0.28" + }, + "dependencies": { + "tmp": { + "version": "0.0.28", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz", + "integrity": "sha512-c2mmfiBmND6SOVxzogm1oda0OJ1HZVIk/5n26N59dDTh80MUeavpiCls4PGAdkX1PFkKokLpcf7prSjCeXLsJg==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.1" + } + } + } + }, + "caniuse-lite": { + "version": "1.0.30001751", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001751.tgz", + "integrity": "sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==", + "dev": true + }, + "capitalize": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/capitalize/-/capitalize-1.0.0.tgz", + "integrity": "sha512-ZvPF27zRh4ZiRbWYfSktO+t7xi4RPfqL9w6gfPAWGT5pT9TjB0rlP8cKHmKWHYYCR8QHKDDebX3HVHcfw6K3GQ==" + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "requires": { + "rsvp": "^4.8.4" + }, + "dependencies": { + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + } + } + }, + "cardinal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-1.0.0.tgz", + "integrity": "sha512-INsuF4GyiFLk8C91FPokbKTc/rwHqV4JnfatVZ6GPhguP1qmkRWX2dp5tepYboYdPpGWisLVLI+KsXoXFPRSMg==", + "dev": true, + "requires": { + "ansicolors": "~0.2.1", + "redeyed": "~1.0.0" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==", + "dev": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "charm": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/charm/-/charm-1.0.2.tgz", + "integrity": "sha512-wqW3VdPnlSWT4eRiYX+hcs+C6ViBPUWk1qTCd+37qw9kEm/a5n2qcyQDMBWvSYKN/ctqZzeXNQaeBjOetJJUkw==", + "dev": true, + "requires": { + "inherits": "^2.0.1" + } + }, + "child-process-promise": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/child-process-promise/-/child-process-promise-2.2.1.tgz", + "integrity": "sha512-Fi4aNdqBsr0mv+jgWxcZ/7rAIC2mgihrptyVI4foh/rrjY/3BNjfP9+oaiFx/fzim+1ZyCNBae0DlyfQhSugog==", + "requires": { + "cross-spawn": "^4.0.2", + "node-version": "^1.0.0", + "promise-polyfill": "^6.0.1" + }, + "dependencies": { + "cross-spawn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha512-yAXz/pA1tD8Gtg2S98Ekf/sewp3Lcp3YoFKJ4Hkp5h5yLWnKVTDU0kwjKJ8NDCYcfTLfyGkzTikst+jWypT1iA==", + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + } + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-base-url": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clean-base-url/-/clean-base-url-1.0.0.tgz", + "integrity": "sha512-9q6ZvUAhbKOSRFY7A/irCQ/rF0KIpa3uXpx6izm8+fp7b2H4hLeUJ+F1YYk9+gDQ/X8Q0MEyYs+tG3cht//HTg==", + "dev": true + }, + "clean-css": { + "version": "3.4.28", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", + "integrity": "sha512-aTWyttSdI2mYi07kWqHi24NUU9YlELFKGOAgFzZjDN1064DMAOy2FBuoyGmkKRlXkbpXd0EVHmiVkbKhKoirTw==", + "dev": true, + "requires": { + "commander": "2.8.x", + "source-map": "0.4.x" + }, + "dependencies": { + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "integrity": "sha512-+pJLBFVk+9ZZdlAOB5WuIElVPPth47hILFkmGym57aq8kwxsowvByvB0DHs1vQAhyMZzdcpTtF0VDKGkSDR4ZQ==", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha512-Y8nIfcb1s/7DcobUz1yOO1GSp7gyL+D9zLHDehT7iRESqGSxjJ448Sg7rvfgsRJCnKLdSl11uGf0s9X80cH0/A==", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "clean-css-promise": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/clean-css-promise/-/clean-css-promise-0.1.1.tgz", + "integrity": "sha512-tzWkANXMD70ETa/wAu2TXAAxYWS0ZjVUFM2dVik8RQBoAbGMFJv4iVluz3RpcoEbo++fX4RV/BXfgGoOjp8o3Q==", + "dev": true, + "requires": { + "array-to-error": "^1.0.0", + "clean-css": "^3.4.5", + "pinkie-promise": "^2.0.0" + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "clean-up-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clean-up-path/-/clean-up-path-1.0.0.tgz", + "integrity": "sha512-PHGlEF0Z6976qQyN6gM7kKH6EH0RdfZcc8V+QhFe36eRxV0SMH5OUBZG7Bxa9YcreNzyNbK63cGiZxdSZgosRw==", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true + }, + "cli-table": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz", + "integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==", + "dev": true, + "requires": { + "colors": "1.0.3" + } + }, + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/color/-/color-5.0.2.tgz", + "integrity": "sha512-e2hz5BzbUPcYlIRHo8ieAhYgoajrJr+hWoceg6E345TPsATMUKqDgzt8fSXZJJbxfpiPzkWyphz8yn8At7q3fA==", + "dev": true, + "requires": { + "color-convert": "^3.0.1", + "color-string": "^2.0.0" + }, + "dependencies": { + "color-convert": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.2.tgz", + "integrity": "sha512-UNqkvCDXstVck3kdowtOTWROIJQwafjOfXSmddoDrXo4cewMKmusCeF22Q24zvjR8nwWib/3S/dfyzPItPEiJg==", + "dev": true, + "requires": { + "color-name": "^2.0.0" + } + }, + "color-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", + "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", + "dev": true + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "color-string": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-2.1.2.tgz", + "integrity": "sha512-RxmjYxbWemV9gKu4zPgiZagUxbH3RQpEIO77XoSSX0ivgABDZ+h8Zuash/EMFLTI4N9QgFPOJ6JQpPZKFxa+dA==", + "dev": true, + "requires": { + "color-name": "^2.0.0" + }, + "dependencies": { + "color-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", + "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", + "dev": true + } + } + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true + }, + "commoner": { + "version": "0.10.8", + "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", + "integrity": "sha512-3/qHkNMM6o/KGXHITA14y78PcfmXh4+AOCJpSoF73h4VY1JpdGv3CHMS5+JW6SwLhfJt4RhNmLAa7+RRX/62EQ==", + "dev": true, + "requires": { + "commander": "^2.5.0", + "detective": "^4.3.1", + "glob": "^5.0.15", + "graceful-fs": "^4.1.2", + "iconv-lite": "^0.4.5", + "mkdirp": "^0.5.0", + "private": "^0.1.6", + "q": "^1.1.2", + "recast": "^0.11.17" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha512-AWwVMNxwhN8+NIPQzAQZCm7RkLC4RbM3B1OobMuyp3i+w73X57KCKaVIxaRZb+DYCojq7rspo+fmuQfAboyhFg==", + "dev": true + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "recast": { + "version": "0.11.23", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", + "integrity": "sha512-+nixG+3NugceyR8O1bLU45qs84JgI3+8EauyRZafLgC9XbdAOIVgwV1Pe2da0YzGo62KzWoZwUpVEQf6qNAXWA==", + "dev": true, + "requires": { + "ast-types": "0.9.6", + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } + } + }, + "component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + } + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + } + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "console-ui": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/console-ui/-/console-ui-3.1.2.tgz", + "integrity": "sha512-+5j3R4wZJcEYZeXk30whc4ZU/+fWW9JMTNntVuMYpjZJ9n26Cxr0tUBXco1NRjVZRpRVvZ4DDKKKIHNYeUG9Dw==", + "dev": true, + "requires": { + "chalk": "^2.1.0", + "inquirer": "^6", + "json-stable-stringify": "^1.0.1", + "ora": "^3.4.0", + "through2": "^3.0.1" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "consolidate": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz", + "integrity": "sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==", + "dev": true, + "requires": { + "bluebird": "^3.7.2" + } + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true + }, + "continuable-cache": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz", + "integrity": "sha512-TF30kpKhTH8AGCG3dut0rdd/19B7Z+qCnrMoBLpyQu/2drZdNrrpcjPEoJeSVsQM+8KmWG5O56oPDjSSUsuTyA==", + "dev": true + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "copy-dereference": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/copy-dereference/-/copy-dereference-1.0.0.tgz", + "integrity": "sha512-40TSLuhhbiKeszZhK9LfNdazC67Ue4kq/gGwN5sdxEUWPXTIMmKmGmgD9mPfNKVAeecEW+NfEIpBaZoACCQLLw==", + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true + }, + "core-object": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/core-object/-/core-object-3.1.5.tgz", + "integrity": "sha512-sA2/4+/PZ/KV6CKgjrVrrUVBKCkdDO02CUlQ0YKTQoYUwPYNOtOAcWlbYhd5v/1JqYaA6oZ4sDlOU4ppVw6Wbg==", + "dev": true, + "requires": { + "chalk": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cross-spawn": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", + "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true + }, + "cssmin": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/cssmin/-/cssmin-0.3.2.tgz", + "integrity": "sha512-bynxGIAJ8ybrnFobjsQotIjA8HFDDgPwbeUWNXXXfR+B4f9kkxdcUyagJoQCSUOfMV+ZZ6bMn8bvbozlCzUGwQ==", + "dev": true + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cwd": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/cwd/-/cwd-0.9.1.tgz", + "integrity": "sha512-4+0D+ojEasdLndYX4Cqff057I/Jp6ysXpwKkdLQLnZxV8f6IYZmZtTP5uqD91a/kWqejoc0sSqK4u8wpTKCh8A==", + "requires": { + "find-pkg": "^0.1.0" + } + }, + "dag-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dag-map/-/dag-map-2.0.2.tgz", + "integrity": "sha512-xnsprIzYuDeiyu5zSKwilV/ajRHxnoMlAhEREfyfTgTSViMVY2fGP1ZcHJbtwup26oCkofySU/m6oKJ3HrkW7w==", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "requires": { + "clone": "^1.0.2" + } + }, + "define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + } + } + }, + "defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true + }, + "defs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/defs/-/defs-1.1.1.tgz", + "integrity": "sha512-KgGV1vmSa2UPKeDXaWE5FiXjix8BOtYMgiPGpYhd/42wxiC6YGwtscj/zU9gD5/xk4K2iLDpyGhGA5puZxaeMg==", + "dev": true, + "requires": { + "alter": "~0.2.0", + "ast-traverse": "~0.1.1", + "breakable": "~1.0.0", + "esprima-fb": "~15001.1001.0-dev-harmony-fb", + "simple-fmt": "~0.1.0", + "simple-is": "~0.2.0", + "stringmap": "~0.2.2", + "stringset": "~0.2.1", + "tryor": "~0.1.2", + "yargs": "~3.27.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==", + "dev": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "esprima-fb": { + "version": "15001.1001.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz", + "integrity": "sha512-m7OsYzocA8OQ3+9CxmhIv7NPHtyDR2ixaLCO7kLZ+YH+xQ/BpaZmll9EXmc+kBxzWA8BRBXbNEuEQqQ6vfsgDw==", + "dev": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==", + "dev": true + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true + }, + "yargs": { + "version": "3.27.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.27.0.tgz", + "integrity": "sha512-6atYjGACjX/OYWico7LwdBx9eiGlkMnIw6OwqfBb+uJQpaT82tQ7oI+BI6Dvq62qZvSbzGzQCVLQdMd59tR2eA==", + "dev": true, + "requires": { + "camelcase": "^1.2.1", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "os-locale": "^1.4.0", + "window-size": "^0.1.2", + "y18n": "^3.2.0" + } + } + } + }, + "delay": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/delay/-/delay-4.3.0.tgz", + "integrity": "sha512-Lwaf3zVFDMBop1yDuFZ19F9WyGcZcGacsbdlZtWjQmM50tOcMntm1njF/Nb/Vjij3KaSvCF+sEYGKrrjObu2NA==" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true + }, + "detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "detective": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", + "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", + "dev": true, + "requires": { + "acorn": "^5.2.1", + "defined": "^1.0.0" + } + }, + "diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "requires": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + } + }, + "duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "editions": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz", + "integrity": "sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==", + "dev": true + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.5.240", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.240.tgz", + "integrity": "sha512-OBwbZjWgrCOH+g6uJsA2/7Twpas2OlepS9uvByJjR2datRDuKGYeD+nP8lBBks2qnB7bGJNHDUx7c/YLaT3QMQ==", + "dev": true + }, + "ember-assign-polyfill": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ember-assign-polyfill/-/ember-assign-polyfill-2.4.0.tgz", + "integrity": "sha512-0SnGQb9CenRqbZdIa1KFsEjT+1ijGWfAbCSaDbg5uVa5l6HPdppuTzOXK6sfEQMsd2nbrp27QWFy7W5VX6l4Ag==", + "dev": true, + "requires": { + "ember-cli-babel": "^6.6.0", + "ember-cli-version-checker": "^2.0.0" + } + }, + "ember-cli": { + "version": "3.28.6", + "resolved": "https://registry.npmjs.org/ember-cli/-/ember-cli-3.28.6.tgz", + "integrity": "sha512-aGHIDXM5KujhU+tHyfp1X5bUp3yj47sIWI0zgybyIw6vv6ErAu/eKWWMSib5PF8cQDdXG9vttBcXnvQ4QBNIPQ==", + "dev": true, + "requires": { + "@babel/core": "^7.13.8", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "amd-name-resolver": "^1.3.1", + "babel-plugin-module-resolver": "^4.1.0", + "bower-config": "^1.4.3", + "bower-endpoint-parser": "0.2.2", + "broccoli": "^3.5.1", + "broccoli-amd-funnel": "^2.0.1", + "broccoli-babel-transpiler": "^7.8.0", + "broccoli-builder": "^0.18.14", + "broccoli-concat": "^4.2.5", + "broccoli-config-loader": "^1.0.1", + "broccoli-config-replace": "^1.1.2", + "broccoli-debug": "^0.6.5", + "broccoli-funnel": "^3.0.5", + "broccoli-funnel-reducer": "^1.0.0", + "broccoli-merge-trees": "^3.0.2", + "broccoli-middleware": "^2.1.1", + "broccoli-slow-trees": "^3.1.0", + "broccoli-source": "^3.0.0", + "broccoli-stew": "^3.0.0", + "calculate-cache-key-for-tree": "^2.0.0", + "capture-exit": "^2.0.0", + "chalk": "^4.1.0", + "ci-info": "^2.0.0", + "clean-base-url": "^1.0.0", + "compression": "^1.7.4", + "configstore": "^5.0.1", + "console-ui": "^3.1.2", + "core-object": "^3.1.5", + "dag-map": "^2.0.2", + "diff": "^5.0.0", + "ember-cli-is-package-missing": "^1.0.0", + "ember-cli-lodash-subset": "^2.0.1", + "ember-cli-normalize-entity-name": "^1.0.0", + "ember-cli-preprocess-registry": "^3.3.0", + "ember-cli-string-utils": "^1.1.0", + "ember-source-channel-url": "^3.0.0", + "ensure-posix-path": "^1.1.1", + "execa": "^5.0.0", + "exit": "^0.1.2", + "express": "^4.17.1", + "filesize": "^6.1.0", + "find-up": "^5.0.0", + "find-yarn-workspace-root": "^2.0.0", + "fixturify-project": "^2.1.1", + "fs-extra": "^9.1.0", + "fs-tree-diff": "^2.0.1", + "get-caller-file": "^2.0.5", + "git-repo-info": "^2.1.1", + "glob": "^7.1.6", + "heimdalljs": "^0.2.6", + "heimdalljs-fs-monitor": "^1.1.0", + "heimdalljs-graph": "^1.0.0", + "heimdalljs-logger": "^0.1.10", + "http-proxy": "^1.18.1", + "inflection": "^1.12.0", + "is-git-url": "^1.0.0", + "is-language-code": "^2.0.0", + "isbinaryfile": "^4.0.6", + "js-yaml": "^3.14.0", + "json-stable-stringify": "^1.0.1", + "leek": "0.0.24", + "lodash.template": "^4.5.0", + "markdown-it": "^12.0.4", + "markdown-it-terminal": "0.2.1", + "minimatch": "^3.0.4", + "morgan": "^1.10.0", + "nopt": "^3.0.6", + "npm-package-arg": "^8.1.1", + "p-defer": "^3.0.0", + "portfinder": "^1.0.28", + "promise-map-series": "^0.3.0", + "promise.hash.helper": "^1.0.7", + "quick-temp": "^0.1.8", + "resolve": "^1.20.0", + "resolve-package-path": "^3.1.0", + "sane": "^4.1.0", + "semver": "^7.3.4", + "silent-error": "^1.1.1", + "sort-package-json": "^1.49.0", + "symlink-or-copy": "^1.3.1", + "temp": "0.9.4", + "testem": "^3.2.0", + "tiny-lr": "^2.0.0", + "tree-sync": "^2.1.0", + "uuid": "^8.3.2", + "walk-sync": "^2.2.0", + "watch-detector": "^1.0.0", + "workerpool": "^6.1.4", + "yam": "^1.0.0" + }, + "dependencies": { + "fs-tree-diff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-2.0.1.tgz", + "integrity": "sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A==", + "dev": true, + "requires": { + "@types/symlink-or-copy": "^1.2.0", + "heimdalljs-logger": "^0.1.7", + "object-assign": "^4.1.0", + "path-posix": "^1.0.0", + "symlink-or-copy": "^1.1.8" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "matcher-collection": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-2.0.1.tgz", + "integrity": "sha512-daE62nS2ZQsDg9raM0IlZzLmI2u+7ZapXBwdoeBUKAYERPDDIc0qNqA8E0Rp2D+gspKR7BgIFP52GeujaGXWeQ==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "minimatch": "^3.0.2" + } + }, + "promise-map-series": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/promise-map-series/-/promise-map-series-0.3.0.tgz", + "integrity": "sha512-3npG2NGhTc8BWBolLLf8l/92OxMGaRLbqvIh9wjCHhDXNvk4zsxaTaCpiCunW09qWPrN2zeNSNwRLVBrQQtutA==", + "dev": true + }, + "resolve-package-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-3.1.0.tgz", + "integrity": "sha512-2oC2EjWbMJwvSN6Z7DbDfJMnD8MYEouaLn5eIX0j8XwPsYCVIyY9bbnX88YHVkbr8XHqvZrYbxaLPibfTYKZMA==", + "dev": true, + "requires": { + "path-root": "^0.1.1", + "resolve": "^1.17.0" + } + }, + "walk-sync": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-2.2.0.tgz", + "integrity": "sha512-IC8sL7aB4/ZgFcGI2T1LczZeFWZ06b3zoHH7jBPyHxOtIIz1jppWHjjEXkOFvFojBVAK9pV7g47xOZ4LW3QLfg==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "ensure-posix-path": "^1.1.0", + "matcher-collection": "^2.0.0", + "minimatch": "^3.0.4" + } + } + } + }, + "ember-cli-app-version": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ember-cli-app-version/-/ember-cli-app-version-3.2.0.tgz", + "integrity": "sha512-fHWOJElSw8JL03FNCHrT0RdWhGpWEQ4VQ10unEwwhVZ+OANNcOLz8O2dA3D5iuB4bb0fMLwjEwYZGM62+TBs1Q==", + "dev": true, + "requires": { + "ember-cli-babel": "^6.12.0", + "git-repo-version": "^1.0.2" + } + }, + "ember-cli-babel": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/ember-cli-babel/-/ember-cli-babel-6.18.0.tgz", + "integrity": "sha512-7ceC8joNYxY2wES16iIBlbPSxwKDBhYwC8drU3ZEvuPDMwVv1KzxCNu1fvxyFEBWhwaRNTUxSCsEVoTd9nosGA==", + "dev": true, + "requires": { + "amd-name-resolver": "1.2.0", + "babel-plugin-debug-macros": "^0.2.0-beta.6", + "babel-plugin-ember-modules-api-polyfill": "^2.6.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.0", + "babel-polyfill": "^6.26.0", + "babel-preset-env": "^1.7.0", + "broccoli-babel-transpiler": "^6.5.0", + "broccoli-debug": "^0.6.4", + "broccoli-funnel": "^2.0.0", + "broccoli-source": "^1.1.0", + "clone": "^2.0.0", + "ember-cli-version-checker": "^2.1.2", + "semver": "^5.5.0" + }, + "dependencies": { + "amd-name-resolver": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/amd-name-resolver/-/amd-name-resolver-1.2.0.tgz", + "integrity": "sha512-hlSTWGS1t6/xq5YCed7YALg7tKZL3rkl7UwEZ/eCIkn8JxmM6fU6Qs/1hwtjQqfuYxlffuUcgYEm0f5xP4YKaA==", + "dev": true, + "requires": { + "ensure-posix-path": "^1.0.1" + } + }, + "broccoli-babel-transpiler": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/broccoli-babel-transpiler/-/broccoli-babel-transpiler-6.5.1.tgz", + "integrity": "sha512-w6GcnkxvHcNCte5FcLGEG1hUdQvlfvSN/6PtGWU/otg69Ugk8rUk51h41R0Ugoc+TNxyeFG1opRt2RlA87XzNw==", + "dev": true, + "requires": { + "babel-core": "^6.26.0", + "broccoli-funnel": "^2.0.1", + "broccoli-merge-trees": "^2.0.0", + "broccoli-persistent-filter": "^1.4.3", + "clone": "^2.0.0", + "hash-for-dep": "^1.2.3", + "heimdalljs-logger": "^0.1.7", + "json-stable-stringify": "^1.0.0", + "rsvp": "^4.8.2", + "workerpool": "^2.3.0" + } + }, + "broccoli-funnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.2.tgz", + "integrity": "sha512-/vDTqtv7ipjEZQOVqO4vGDVAOZyuYzQ/EgGoyewfOgh1M7IQAToBKZI0oAQPgMBeFPPlIbfMuAngk+ohPBuaHQ==", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + } + }, + "broccoli-merge-trees": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.1.tgz", + "integrity": "sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==", + "dev": true, + "requires": { + "broccoli-plugin": "^1.3.0", + "merge-trees": "^1.0.1" + } + }, + "broccoli-source": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/broccoli-source/-/broccoli-source-1.1.0.tgz", + "integrity": "sha512-ahvqmwF6Yvh6l+sTJJdey4o4ynwSH8swSSBSGmUXGSPPCqBWvquWB/4rWN65ZArKilBFq/29O0yQnZNIf//sTg==", + "dev": true + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true + }, + "merge-trees": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-trees/-/merge-trees-1.0.1.tgz", + "integrity": "sha512-O7TWwipLHhc9tErjq3WBvNP7I1g7Wgudl1ZkLqpT7F2MZy1yEdgnI9cpZZxBaqk+wJZu+2b9FE7D3ubUmGFHFA==", + "dev": true, + "requires": { + "can-symlink": "^1.0.0", + "fs-tree-diff": "^0.5.4", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + }, + "workerpool": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-2.3.4.tgz", + "integrity": "sha512-c2EWrgB9IKHi1jbf4LG9sxKgHYOY+Ej5li6siEGtFecCXWG7eQOqATPEJ0rg1KFETXROEkErc1t5XiNrLG666Q==", + "dev": true, + "requires": { + "object-assign": "4.1.1" + } + } + } + }, + "ember-cli-bootstrap-4": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/ember-cli-bootstrap-4/-/ember-cli-bootstrap-4-0.5.9.tgz", + "integrity": "sha512-qA6WjRVAG/WDnAOm8SPOxkMM6JGMEvCjUi402+WVve9mnmsPTvZQyF6sZ4mIVTHAeErAd6FFrvh6Phy4Q86n6A==", + "dev": true, + "requires": { + "bootstrap": "^4.1.0", + "broccoli-funnel": "^2.0.1", + "broccoli-merge-trees": "^3.0.0", + "ember-cli-babel": "^6.6.0", + "ember-cli-sass": "^7.0.0", + "fastboot-transform": "^0.1.2", + "popper.js": "^1.14.0" + }, + "dependencies": { + "broccoli-funnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.2.tgz", + "integrity": "sha512-/vDTqtv7ipjEZQOVqO4vGDVAOZyuYzQ/EgGoyewfOgh1M7IQAToBKZI0oAQPgMBeFPPlIbfMuAngk+ohPBuaHQ==", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + } + } + } + }, + "ember-cli-dependency-checker": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ember-cli-dependency-checker/-/ember-cli-dependency-checker-1.4.0.tgz", + "integrity": "sha512-yTalfITxZKkQrnopBh7pawez8Z6ZY2/5O2sv84SOvBDBNGNARYkeohpG8jAAKeQcvfU3hvbMoeclTRMr/N0Uyw==", + "dev": true, + "requires": { + "chalk": "^0.5.1", + "is-git-url": "^0.2.0", + "semver": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha512-sGwIGMjhYdW26/IhwK2gkWWI8DRCVO6uj3hYgHT+zD+QL1pa37tM3ujhyfcJIYSbsxp7Gxhy7zrRW/1AHm4BmA==", + "dev": true + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha512-f2PKUkN5QngiSemowa6Mrk9MPCdtFiOSmibjZ+j1qhLGHHYsqZwmBMRF3IRMVXo8sybDqx2fJl2d/8OphBoWkA==", + "dev": true + }, + "chalk": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha512-bIKA54hP8iZhyDT81TOsJiQvR1gW+ZYSXFaZUAvoD4wCHdbHY2actmpTE4x344ZlFqHbvoxKOaESULTZN2gstg==", + "dev": true, + "requires": { + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" + } + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha512-1YsTg1fk2/6JToQhtZkArMkurq8UoWU1Qe0aR3VUHjgij4nOylSWLWAtBXoZ4/dXOmugfLGm1c+QhuD0JyedFA==", + "dev": true, + "requires": { + "ansi-regex": "^0.2.0" + } + }, + "is-git-url": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/is-git-url/-/is-git-url-0.2.3.tgz", + "integrity": "sha512-UEWwpSpBBqQB6lYMJUHHCxJMPBKV8fxcmdbA5GNDq7SApnMyyRVNF9QeBtCs3+56elwkix5QEGsN9O669XnEYw==", + "dev": true + }, + "semver": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha512-IrpJ+yoG4EOH8DFWuVg+8H1kW1Oaof0Wxe7cPcXW3x9BjkN/eVo54F15LyqemnDIUYskQWr9qvl/RihmSy6+xQ==", + "dev": true + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha512-DerhZL7j6i6/nEnVG0qViKXI0OKouvvpsAiaj7c+LfqZZZxdwZtv8+UiA/w4VUJpT8UzX0pR1dcHOii1GbmruQ==", + "dev": true, + "requires": { + "ansi-regex": "^0.2.1" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha512-tdCZ28MnM7k7cJDJc7Eq80A9CsRFAAOZUy41npOZCs++qSjfIy7o5Rh46CBk+Dk5FbKJ33X3Tqg4YrV07N5RaA==", + "dev": true + } + } + }, + "ember-cli-eslint": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/ember-cli-eslint/-/ember-cli-eslint-4.2.3.tgz", + "integrity": "sha512-1fqRz9QVLTT790Zr07aDFmAprZ1vVsaBGJOGQgDEFmBpogq8BeaQopaxogWFp748hol8nGC4QP5tbzhVD6KQHw==", + "dev": true, + "requires": { + "broccoli-lint-eslint": "^4.2.1", + "ember-cli-version-checker": "^2.1.0", + "rsvp": "^4.6.1", + "walk-sync": "^0.3.0" + }, + "dependencies": { + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + } + } + }, + "ember-cli-get-component-path-option": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-get-component-path-option/-/ember-cli-get-component-path-option-1.0.0.tgz", + "integrity": "sha512-k47TDwcJ2zPideBCZE8sCiShSxQSpebY2BHcX2DdipMmBox5gsfyVrbKJWIHeSTTKyEUgmBIvQkqTOozEziCZA==", + "dev": true + }, + "ember-cli-htmlbars": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/ember-cli-htmlbars/-/ember-cli-htmlbars-2.0.5.tgz", + "integrity": "sha512-3f3PAxdnQ/fhQa8XP/3z4RLRgLHxV8j4Ln75aHbRdemOCjBa048KxL9l+acRLhCulbGQCMnLiIUIC89PAzLrcA==", + "dev": true, + "requires": { + "broccoli-persistent-filter": "^1.4.3", + "hash-for-dep": "^1.2.3", + "json-stable-stringify": "^1.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + } + } + }, + "ember-cli-htmlbars-inline-precompile": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/ember-cli-htmlbars-inline-precompile/-/ember-cli-htmlbars-inline-precompile-1.0.5.tgz", + "integrity": "sha512-/CNEqPxroIcbY6qejrt704ZaghHLCntZKYLizFfJ2esirXoJx6fuYKBY1YyJ8GOgjfbHHKjBZuK4vFFJpkGqkQ==", + "dev": true, + "requires": { + "babel-plugin-htmlbars-inline-precompile": "^0.2.5", + "ember-cli-version-checker": "^2.1.2", + "hash-for-dep": "^1.2.3", + "heimdalljs-logger": "^0.1.9", + "silent-error": "^1.1.0" + } + }, + "ember-cli-inject-live-reload": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/ember-cli-inject-live-reload/-/ember-cli-inject-live-reload-1.10.2.tgz", + "integrity": "sha512-yFvZE4WFyWjzMJ6MTYIyjCXpcJNFMTaZP61JXITMkXhSkhuDkzMD/XfwR5+fr004TYcwrbNWpg1oGX5DbOgcaQ==", + "dev": true, + "requires": { + "clean-base-url": "^1.0.0", + "ember-cli-version-checker": "^2.1.2" + } + }, + "ember-cli-is-package-missing": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-is-package-missing/-/ember-cli-is-package-missing-1.0.0.tgz", + "integrity": "sha512-9hEoZj6Au5onlSDdcoBqYEPT8ehlYntZPxH8pBKV0GO7LNel88otSAQsCfXvbi2eKE+MaSeLG/gNaCI5UdWm9g==", + "dev": true + }, + "ember-cli-lodash-subset": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ember-cli-lodash-subset/-/ember-cli-lodash-subset-2.0.1.tgz", + "integrity": "sha512-QkLGcYv1WRK35g4MWu/uIeJ5Suk2eJXKtZ+8s+qE7C9INmpCPyPxzaqZABquYzcWNzIdw6kYwz3NWAFdKYFxwg==", + "dev": true + }, + "ember-cli-normalize-entity-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-normalize-entity-name/-/ember-cli-normalize-entity-name-1.0.0.tgz", + "integrity": "sha512-rF4P1rW2P1gVX1ynZYPmuIf7TnAFDiJmIUFI1Xz16VYykUAyiOCme0Y22LeZq8rTzwBMiwBwoE3RO4GYWehXZA==", + "dev": true, + "requires": { + "silent-error": "^1.0.0" + } + }, + "ember-cli-pace": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ember-cli-pace/-/ember-cli-pace-0.1.0.tgz", + "integrity": "sha512-tQzzZAtCWjMIO0Hx+DtlMVUURcQlxGqkcUyjP+GODyWJVZDlnLcn87KrV1k0OLKMz5Ovyxe7V8tDMtxRQcEaJw==", + "dev": true, + "requires": { + "ember-cli-babel": "^5.1.6", + "uglify-js": "^2.6.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true + }, + "babel-core": { + "version": "5.8.38", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-5.8.38.tgz", + "integrity": "sha512-aVoPuaEiJJ/vqFpYuGp3kHOrKeKciCkjDE/e9va3VoSPAe37Qc0+9AZ+gBgIMTu8V8reCt2lW809e8k1KJQdaQ==", + "dev": true, + "requires": { + "babel-plugin-constant-folding": "^1.0.1", + "babel-plugin-dead-code-elimination": "^1.0.2", + "babel-plugin-eval": "^1.0.1", + "babel-plugin-inline-environment-variables": "^1.0.1", + "babel-plugin-jscript": "^1.0.4", + "babel-plugin-member-expression-literals": "^1.0.1", + "babel-plugin-property-literals": "^1.0.1", + "babel-plugin-proto-to-assign": "^1.0.3", + "babel-plugin-react-constant-elements": "^1.0.3", + "babel-plugin-react-display-name": "^1.0.3", + "babel-plugin-remove-console": "^1.0.1", + "babel-plugin-remove-debugger": "^1.0.1", + "babel-plugin-runtime": "^1.0.7", + "babel-plugin-undeclared-variables-check": "^1.0.2", + "babel-plugin-undefined-to-void": "^1.1.6", + "babylon": "^5.8.38", + "bluebird": "^2.9.33", + "chalk": "^1.0.0", + "convert-source-map": "^1.1.0", + "core-js": "^1.0.0", + "debug": "^2.1.1", + "detect-indent": "^3.0.0", + "esutils": "^2.0.0", + "fs-readdir-recursive": "^0.1.0", + "globals": "^6.4.0", + "home-or-tmp": "^1.0.0", + "is-integer": "^1.0.4", + "js-tokens": "1.0.1", + "json5": "^0.4.0", + "lodash": "^3.10.0", + "minimatch": "^2.0.3", + "output-file-sync": "^1.1.0", + "path-exists": "^1.0.0", + "path-is-absolute": "^1.0.0", + "private": "^0.1.6", + "regenerator": "0.8.40", + "regexpu": "^1.3.0", + "repeating": "^1.1.2", + "resolve": "^1.1.6", + "shebang-regex": "^1.0.0", + "slash": "^1.0.0", + "source-map": "^0.5.0", + "source-map-support": "^0.2.10", + "to-fast-properties": "^1.0.0", + "trim-right": "^1.0.0", + "try-resolve": "^1.0.0" + } + }, + "babylon": { + "version": "5.8.38", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-5.8.38.tgz", + "integrity": "sha512-jtLAtIWCbI17buqCVN4/DtuHf3N1w9ZvbwrTWIae+EBSu2N3sVGCwSJeiZdAkTH4KRwinfMQIyoovP/xZtRwXQ==", + "dev": true + }, + "bluebird": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha512-UfFSr22dmHPQqPP9XWHRhq+gWnHCYguQGkXQlbyPtW5qTnhFWA8/iXg765tH0cAjy7l/zPJ1aBTO0g5XgA7kvQ==", + "dev": true + }, + "broccoli-babel-transpiler": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/broccoli-babel-transpiler/-/broccoli-babel-transpiler-5.7.4.tgz", + "integrity": "sha512-gI14Pqc4qbmn5RW4SuAmybLiOoYW59D+HzQyhY6WdaGMAjikKBwJN0p17phyvafQ+kvG0mUiMd83lgHLeATnEA==", + "dev": true, + "requires": { + "babel-core": "^5.0.0", + "broccoli-funnel": "^1.0.0", + "broccoli-merge-trees": "^1.0.0", + "broccoli-persistent-filter": "^1.4.2", + "clone": "^0.2.0", + "hash-for-dep": "^1.0.2", + "heimdalljs-logger": "^0.1.7", + "json-stable-stringify": "^1.0.0", + "rsvp": "^3.5.0", + "workerpool": "^2.3.0" + }, + "dependencies": { + "clone": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", + "integrity": "sha512-g62n3Kb9cszeZvmvBUqP/dsEJD/+80pDA8u8KqHnAPrVnQ2Je9rVV6opxkhuWCd1kCn2gOibzDKxCtBvD3q5kA==", + "dev": true + } + } + }, + "broccoli-funnel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-1.2.0.tgz", + "integrity": "sha512-0pbFNUA5Ml+gPPd58Rj/M26OS21+bMiV0F+m6+9OVzAhAdppVLxylSsXfWAt2WOD3kS+D8UsDv6GSmnZhbw/dw==", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "exists-sync": "0.0.4", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + }, + "dependencies": { + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "broccoli-merge-trees": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-1.2.4.tgz", + "integrity": "sha512-RXJAleytlED0dxXGEo2EXwrg5cCesY8LQzzGRogwGQmluoz+ijzxajpyWAW6wu/AyuQZj1vgnIqnld8jvuuXtQ==", + "dev": true, + "requires": { + "broccoli-plugin": "^1.3.0", + "can-symlink": "^1.0.0", + "fast-ordered-set": "^1.0.2", + "fs-tree-diff": "^0.5.4", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0" + } + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==", + "dev": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==", + "dev": true + }, + "detect-indent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-3.0.1.tgz", + "integrity": "sha512-xo3WP66SNbr1Eim85s/qyH0ZL8PQUwp86HWm0S1l8WnJ/zjT6T3w1nwNA0yOZeuvOemupEYvpvF6BIdYRuERJQ==", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "minimist": "^1.1.0", + "repeating": "^1.1.0" + } + }, + "ember-cli-babel": { + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/ember-cli-babel/-/ember-cli-babel-5.2.8.tgz", + "integrity": "sha512-Mt9OOB5RaZwjde+LYef8EgwNVCAzsYDv4ktshblaXxr4m/Xm5/7/rxEu42RNrYkoy/qWpT9uhaD+JKK4riMf+w==", + "dev": true, + "requires": { + "broccoli-babel-transpiler": "^5.6.2", + "broccoli-funnel": "^1.0.0", + "clone": "^2.0.0", + "ember-cli-version-checker": "^1.0.2", + "resolve": "^1.1.2" + } + }, + "ember-cli-version-checker": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-1.3.1.tgz", + "integrity": "sha512-mu1Apdd19ZuDsy9WAHheFhltaJx+0ardFNM8Hb/AeRO9RokOK/bdUq/Jc1oeg0/Hl18tnxg8STG9TyJ6HgE3+g==", + "dev": true, + "requires": { + "semver": "^5.3.0" + } + }, + "globals": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/globals/-/globals-6.4.1.tgz", + "integrity": "sha512-Lh7H0bYRNBMc2CapY+TYsCzcSM4HWHGFoQORuEcePk3y3IhpaZmFSJDirhNYSwq8QeHvaCqV/tHI2bdUhYryuw==", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "home-or-tmp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-1.0.0.tgz", + "integrity": "sha512-6LKQZpR6gk8uJ3mXbBkyOumsA24BUk9CH/79ivZ8Kk1urzlXNGZBoAMuieC/YzwCyGBVqq+uCNUpA1JS6glrxg==", + "dev": true, + "requires": { + "os-tmpdir": "^1.0.1", + "user-home": "^1.1.1" + } + }, + "js-tokens": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.1.tgz", + "integrity": "sha512-WKqed1YxjsT7sGqM2IdbkJHnA3rXHqFqN+4xUy973UeYNjSXZCKM3G/zUmPNYut/6D9QCUbqegDmUCQRdm0lnQ==", + "dev": true + }, + "json5": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz", + "integrity": "sha512-5EEuuI7oad0d6c2PcrTRLoLH2JNuI/aJxHsVT2hVFK6fKHu+MXONdhzzzNAlb3JXMeuN1o+kDU78fV1YH6VmKQ==", + "dev": true + }, + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha512-9mDDwqVIma6OZX79ZlDACZl8sBm0TEnkf99zV3iMA4GzkIT/9hiqP5mY0HoT1iNLCrKc/R1HByV+yJfRWVJryQ==", + "dev": true + }, + "minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha512-jQo6o1qSVLEWaw3l+bwYA2X0uLuK2KjNh2wjgO7Q/9UJnXr1Q3yQKR8BI0/Bt/rPg75e6SMW4hW/6cBHVTZUjA==", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + } + }, + "path-exists": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-1.0.0.tgz", + "integrity": "sha512-BD2vrQBPFI3VkVKzTrOmaG2WtPQoduNXu1A5tLYMOW8RN6G9CdhdSkmw+ljxUkJcj4pbXQGw0lzl7MFLnhba9Q==", + "dev": true + }, + "repeating": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz", + "integrity": "sha512-Nh30JLeMHdoI+AsQ5eblhZ7YlTsM9wiJQe/AHIunlK3KWzvXhXb36IJ7K1IOeRjIOtzMjdUHjwXUFxKJoPTSOg==", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + }, + "source-map-support": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.2.10.tgz", + "integrity": "sha512-gGKOSat73z0V8wBKo9AGxZZyekczBireh1hHktbt+kb9acsCB5OfVCF2DCWlztcQ3r5oNN7f2BL0B2xOcoJ/DQ==", + "dev": true, + "requires": { + "source-map": "0.1.32" + }, + "dependencies": { + "source-map": { + "version": "0.1.32", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", + "integrity": "sha512-htQyLrrRLkQ87Zfrir4/yN+vAUd6DNjVayEjTSHXu29AYQJw57I4/xEL/M6p6E/woPNJwvZt6rVlzc7gFEJccQ==", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==", + "dev": true, + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==", + "dev": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==", + "dev": true + }, + "workerpool": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-2.3.4.tgz", + "integrity": "sha512-c2EWrgB9IKHi1jbf4LG9sxKgHYOY+Ej5li6siEGtFecCXWG7eQOqATPEJ0rg1KFETXROEkErc1t5XiNrLG666Q==", + "dev": true, + "requires": { + "object-assign": "4.1.1" + } + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==", + "dev": true, + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } + }, + "ember-cli-path-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-path-utils/-/ember-cli-path-utils-1.0.0.tgz", + "integrity": "sha512-Qq0vvquzf4cFHoDZavzkOy3Izc893r/5spspWgyzLCPTaG78fM3HsrjZm7UWEltbXUqwHHYrqZd/R0jS08NqSA==", + "dev": true + }, + "ember-cli-preprocess-registry": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ember-cli-preprocess-registry/-/ember-cli-preprocess-registry-3.3.0.tgz", + "integrity": "sha512-60GYpw7VPeB7TvzTLZTuLTlHdOXvayxjAQ+IxM2T04Xkfyu75O2ItbWlftQW7NZVGkaCsXSRAmn22PG03VpLMA==", + "dev": true, + "requires": { + "broccoli-clean-css": "^1.1.0", + "broccoli-funnel": "^2.0.1", + "debug": "^3.0.1", + "process-relative-require": "^1.0.0" + }, + "dependencies": { + "broccoli-funnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.2.tgz", + "integrity": "sha512-/vDTqtv7ipjEZQOVqO4vGDVAOZyuYzQ/EgGoyewfOgh1M7IQAToBKZI0oAQPgMBeFPPlIbfMuAngk+ohPBuaHQ==", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + } + } + }, + "ember-cli-qunit": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ember-cli-qunit/-/ember-cli-qunit-4.4.0.tgz", + "integrity": "sha512-+gkx380AV4WXYjQeIuQi675STL9K12fHFtxs8B9u3EFbw45vJKrnYR4Vph3FujxhE/1pr/Je8kZEPAuezZAVLw==", + "dev": true, + "requires": { + "ember-cli-babel": "^6.11.0", + "ember-qunit": "^3.5.0" + } + }, + "ember-cli-sass": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/ember-cli-sass/-/ember-cli-sass-7.2.0.tgz", + "integrity": "sha512-X4BNBYuCyfRMGJ/Bjjk/gQw4eT6ixIXNltDQ8kapymilCqKEBZ6Rlx6noEfVzeh2nK7VP0e4rQ4DBj+TK6EDzA==", + "dev": true, + "requires": { + "broccoli-funnel": "^1.0.0", + "broccoli-merge-trees": "^1.1.0", + "broccoli-sass-source-maps": "^2.1.0", + "ember-cli-version-checker": "^2.1.0" + }, + "dependencies": { + "broccoli-funnel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-1.2.0.tgz", + "integrity": "sha512-0pbFNUA5Ml+gPPd58Rj/M26OS21+bMiV0F+m6+9OVzAhAdppVLxylSsXfWAt2WOD3kS+D8UsDv6GSmnZhbw/dw==", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "exists-sync": "0.0.4", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + } + }, + "broccoli-merge-trees": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-1.2.4.tgz", + "integrity": "sha512-RXJAleytlED0dxXGEo2EXwrg5cCesY8LQzzGRogwGQmluoz+ijzxajpyWAW6wu/AyuQZj1vgnIqnld8jvuuXtQ==", + "dev": true, + "requires": { + "broccoli-plugin": "^1.3.0", + "can-symlink": "^1.0.0", + "fast-ordered-set": "^1.0.2", + "fs-tree-diff": "^0.5.4", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0" + } + } + } + }, + "ember-cli-shims": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ember-cli-shims/-/ember-cli-shims-1.2.0.tgz", + "integrity": "sha512-eqoRtBl4i27uyIvopQqJxWNy8PFCDoePWf6oqf+ICR75I1fx3jTvgatCpUUL5E44DENwyDYWgoIqL/KAO+UFwg==", + "dev": true, + "requires": { + "broccoli-file-creator": "^1.1.1", + "broccoli-merge-trees": "^2.0.0", + "ember-cli-version-checker": "^2.0.0", + "ember-rfc176-data": "^0.3.1", + "silent-error": "^1.0.1" + }, + "dependencies": { + "broccoli-merge-trees": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.1.tgz", + "integrity": "sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==", + "dev": true, + "requires": { + "broccoli-plugin": "^1.3.0", + "merge-trees": "^1.0.1" + } + }, + "merge-trees": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-trees/-/merge-trees-1.0.1.tgz", + "integrity": "sha512-O7TWwipLHhc9tErjq3WBvNP7I1g7Wgudl1ZkLqpT7F2MZy1yEdgnI9cpZZxBaqk+wJZu+2b9FE7D3ubUmGFHFA==", + "dev": true, + "requires": { + "can-symlink": "^1.0.0", + "fs-tree-diff": "^0.5.4", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0" + } + } + } + }, + "ember-cli-sri": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ember-cli-sri/-/ember-cli-sri-2.1.1.tgz", + "integrity": "sha512-YG/lojDxkur9Bnskt7xB6gUOtJ6aPl/+JyGYm9HNDk3GECVHB3SMN3rlGhDKHa1ndS5NK2W2TSLb9bzRbGlMdg==", + "dev": true, + "requires": { + "broccoli-sri-hash": "^2.1.0" + } + }, + "ember-cli-string-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ember-cli-string-utils/-/ember-cli-string-utils-1.1.0.tgz", + "integrity": "sha512-PlJt4fUDyBrC/0X+4cOpaGCiMawaaB//qD85AXmDRikxhxVzfVdpuoec02HSiTGTTB85qCIzWBIh8lDOiMyyFg==", + "dev": true + }, + "ember-cli-test-loader": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ember-cli-test-loader/-/ember-cli-test-loader-2.2.0.tgz", + "integrity": "sha512-mlSXX9SciIRwGkFTX6XGyJYp4ry6oCFZRxh5jJ7VH8UXLTNx2ZACtDTwaWtNhYrWXgKyiDUvmD8enD56aePWRA==", + "dev": true, + "requires": { + "ember-cli-babel": "^6.8.1" + } + }, + "ember-cli-uglify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ember-cli-uglify/-/ember-cli-uglify-1.2.0.tgz", + "integrity": "sha512-AIdvRLjHzVW3Y/FV88dm2gAIMvJplFChlCLkm0nEeZZ1y3/0qBh7eUwqE4VpRYt+KOyU59TP9CmcxpBDJSfvQw==", + "dev": true, + "requires": { + "broccoli-uglify-sourcemap": "^1.0.0" + } + }, + "ember-cli-valid-component-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-valid-component-name/-/ember-cli-valid-component-name-1.0.0.tgz", + "integrity": "sha512-6ZtIG0UMmGwUUju5dwLLS98eZRLQxpMqXfpMUkZ8t+7MBdX6gCjVYHSCdGkDlVAGF06J3mgpAWHVrsyRLRn7/g==", + "dev": true, + "requires": { + "silent-error": "^1.0.0" + } + }, + "ember-cli-version-checker": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.2.0.tgz", + "integrity": "sha512-G+KtYIVlSOWGcNaTFHk76xR4GdzDLzAS4uxZUKdASuFX0KJE43C6DaqL+y3VTpUFLI2FIkAS6HZ4I1YBi+S3hg==", + "dev": true, + "requires": { + "resolve": "^1.3.3", + "semver": "^5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "ember-export-application-global": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ember-export-application-global/-/ember-export-application-global-2.0.1.tgz", + "integrity": "sha512-B7wiurPgsxsSGzJuPFkpBWnaeuCu2PGpG2BjyrfA1VcL7//o+5RSnZqiCEY326y7qmxb2GoCgo0ft03KBU0rRw==", + "dev": true + }, + "ember-load-initializers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ember-load-initializers/-/ember-load-initializers-1.1.0.tgz", + "integrity": "sha512-WiciFi8IXOqjyJ65M4iBNIthqcy4uXXQq5n3WxeMMhvJVk5JNSd9hynNECNz3nqfEYuZQ9c04UWkmFIQXRfl4Q==", + "dev": true, + "requires": { + "ember-cli-babel": "^6.6.0" + } + }, + "ember-qunit": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/ember-qunit/-/ember-qunit-3.5.3.tgz", + "integrity": "sha512-FmXsI1bGsZ5th25x4KEle2fLCVURTptsQODfBt+Pg8tk9rX7y79cqny91PrhtkhE+giZ8p029tnq94SdpJ4ojg==", + "dev": true, + "requires": { + "@ember/test-helpers": "^0.7.26", + "broccoli-funnel": "^2.0.1", + "broccoli-merge-trees": "^2.0.0", + "common-tags": "^1.4.0", + "ember-cli-babel": "^6.8.2", + "ember-cli-test-loader": "^2.2.0", + "qunit": "~2.6.0" + }, + "dependencies": { + "broccoli-funnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.2.tgz", + "integrity": "sha512-/vDTqtv7ipjEZQOVqO4vGDVAOZyuYzQ/EgGoyewfOgh1M7IQAToBKZI0oAQPgMBeFPPlIbfMuAngk+ohPBuaHQ==", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + } + }, + "broccoli-merge-trees": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.1.tgz", + "integrity": "sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==", + "dev": true, + "requires": { + "broccoli-plugin": "^1.3.0", + "merge-trees": "^1.0.1" + } + }, + "merge-trees": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-trees/-/merge-trees-1.0.1.tgz", + "integrity": "sha512-O7TWwipLHhc9tErjq3WBvNP7I1g7Wgudl1ZkLqpT7F2MZy1yEdgnI9cpZZxBaqk+wJZu+2b9FE7D3ubUmGFHFA==", + "dev": true, + "requires": { + "can-symlink": "^1.0.0", + "fs-tree-diff": "^0.5.4", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0" + } + } + } + }, + "ember-radio-button": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ember-radio-button/-/ember-radio-button-1.3.0.tgz", + "integrity": "sha512-82sgwCVcD9n6RzMzSGAeh6HmXMocyUi4q8Wq1hggNICqxVW8sbJYCB3kLVDZ6Pd+qliVlGWAKwwI5SpREIZGqQ==", + "dev": true, + "requires": { + "ember-cli-babel": "^6.9.2", + "ember-cli-htmlbars": "^1.1.1" + }, + "dependencies": { + "ember-cli-htmlbars": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ember-cli-htmlbars/-/ember-cli-htmlbars-1.3.5.tgz", + "integrity": "sha512-Qur/anb0Vk57qmIhGLkSzl8X1QIMoae6pLa14MRQ8+YD2N5fNs3qdhEFf0SDBquPOH1QxQtraiNQvji47QBJyg==", + "dev": true, + "requires": { + "broccoli-persistent-filter": "^1.0.3", + "ember-cli-version-checker": "^1.0.2", + "hash-for-dep": "^1.0.2", + "json-stable-stringify": "^1.0.0", + "strip-bom": "^2.0.0" + } + }, + "ember-cli-version-checker": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-1.3.1.tgz", + "integrity": "sha512-mu1Apdd19ZuDsy9WAHheFhltaJx+0ardFNM8Hb/AeRO9RokOK/bdUq/Jc1oeg0/Hl18tnxg8STG9TyJ6HgE3+g==", + "dev": true, + "requires": { + "semver": "^5.3.0" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "ember-resolver": { + "version": "4.5.6", + "resolved": "https://registry.npmjs.org/ember-resolver/-/ember-resolver-4.5.6.tgz", + "integrity": "sha512-v+VfQKkYCzdI49cGhPAWlvkjnyYEk1x7/CBKH9xakd8qyByNh6996/EgN0Wzew7B2Gj+cFXii0cEGI8iFAxj6g==", + "dev": true, + "requires": { + "@glimmer/resolver": "^0.4.1", + "babel-plugin-debug-macros": "^0.1.10", + "broccoli-funnel": "^1.1.0", + "broccoli-merge-trees": "^2.0.0", + "ember-cli-babel": "^6.8.1", + "ember-cli-version-checker": "^2.0.0", + "resolve": "^1.3.3" + }, + "dependencies": { + "babel-plugin-debug-macros": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/babel-plugin-debug-macros/-/babel-plugin-debug-macros-0.1.11.tgz", + "integrity": "sha512-hZw5qNNGAR02Y+yBUrtsnJHh8OXavkayPRqKGAXnIm4t5rWVpj3ArwsC7TWdpZsBguQvHAeyTxZ7s23yY60HHg==", + "dev": true, + "requires": { + "semver": "^5.3.0" + } + }, + "broccoli-funnel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-1.2.0.tgz", + "integrity": "sha512-0pbFNUA5Ml+gPPd58Rj/M26OS21+bMiV0F+m6+9OVzAhAdppVLxylSsXfWAt2WOD3kS+D8UsDv6GSmnZhbw/dw==", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "exists-sync": "0.0.4", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + } + }, + "broccoli-merge-trees": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.1.tgz", + "integrity": "sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==", + "dev": true, + "requires": { + "broccoli-plugin": "^1.3.0", + "merge-trees": "^1.0.1" + } + }, + "merge-trees": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-trees/-/merge-trees-1.0.1.tgz", + "integrity": "sha512-O7TWwipLHhc9tErjq3WBvNP7I1g7Wgudl1ZkLqpT7F2MZy1yEdgnI9cpZZxBaqk+wJZu+2b9FE7D3ubUmGFHFA==", + "dev": true, + "requires": { + "can-symlink": "^1.0.0", + "fs-tree-diff": "^0.5.4", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "ember-rfc176-data": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/ember-rfc176-data/-/ember-rfc176-data-0.3.18.tgz", + "integrity": "sha512-JtuLoYGSjay1W3MQAxt3eINWXNYYQliK90tLwtb8aeCuQK8zKGCRbBodVIrkcTqshULMnRuTOS6t1P7oQk3g6Q==", + "dev": true + }, + "ember-router-generator": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/ember-router-generator/-/ember-router-generator-1.2.3.tgz", + "integrity": "sha512-WtkmDTspiMrDESNHoe0hFOmo1Kop57JoZzls0r3O5ab+hUjBALZy96U2mreHY5O31/Pohce0UqW5dGpBPy4eiQ==", + "dev": true, + "requires": { + "recast": "^0.11.3" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha512-AWwVMNxwhN8+NIPQzAQZCm7RkLC4RbM3B1OobMuyp3i+w73X57KCKaVIxaRZb+DYCojq7rspo+fmuQfAboyhFg==", + "dev": true + }, + "recast": { + "version": "0.11.23", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", + "integrity": "sha512-+nixG+3NugceyR8O1bLU45qs84JgI3+8EauyRZafLgC9XbdAOIVgwV1Pe2da0YzGo62KzWoZwUpVEQf6qNAXWA==", + "dev": true, + "requires": { + "ast-types": "0.9.6", + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } + } + }, + "ember-sinon": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ember-sinon/-/ember-sinon-1.0.1.tgz", + "integrity": "sha512-UfPrm45YIzTgG1nRH4pw6+E8+OBWZKyEtKOPEBBj9u6+JDFqhvPS6Dqkha3d5N0VGRSc1e6vlDbJf0cISWJLbg==", + "dev": true, + "requires": { + "broccoli-funnel": "^2.0.0", + "broccoli-merge-trees": "^2.0.0", + "ember-cli-babel": "^6.3.0", + "sinon": "^3.2.1" + }, + "dependencies": { + "broccoli-funnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.2.tgz", + "integrity": "sha512-/vDTqtv7ipjEZQOVqO4vGDVAOZyuYzQ/EgGoyewfOgh1M7IQAToBKZI0oAQPgMBeFPPlIbfMuAngk+ohPBuaHQ==", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + } + }, + "broccoli-merge-trees": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.1.tgz", + "integrity": "sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==", + "dev": true, + "requires": { + "broccoli-plugin": "^1.3.0", + "merge-trees": "^1.0.1" + } + }, + "merge-trees": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-trees/-/merge-trees-1.0.1.tgz", + "integrity": "sha512-O7TWwipLHhc9tErjq3WBvNP7I1g7Wgudl1ZkLqpT7F2MZy1yEdgnI9cpZZxBaqk+wJZu+2b9FE7D3ubUmGFHFA==", + "dev": true, + "requires": { + "can-symlink": "^1.0.0", + "fs-tree-diff": "^0.5.4", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0" + } + } + } + }, + "ember-sinon-qunit": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ember-sinon-qunit/-/ember-sinon-qunit-2.1.0.tgz", + "integrity": "sha512-6FEt5DUNNejQTTEO/KhwOjyztpGm0p8Bt97+NJW7GPlZ4kpE/3vJL2QyGJv2zAebnX8EUuetZh7rrVVNC4bGzg==", + "dev": true, + "requires": { + "ember-cli-babel": "^6.7.2", + "ember-sinon": "~1.0.0" + } + }, + "ember-source": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ember-source/-/ember-source-3.2.0.tgz", + "integrity": "sha512-PZh3SfKmejkR38z9t4lkZtDSIT9uWu0k4I8gQ7HLM3z3BUHWcE9Or7BOFvHMV+Fzefbbjle7bBhQIXV7ivUD6Q==", + "dev": true, + "requires": { + "broccoli-funnel": "^2.0.1", + "broccoli-merge-trees": "^2.0.0", + "chalk": "^2.3.0", + "ember-cli-get-component-path-option": "^1.0.0", + "ember-cli-is-package-missing": "^1.0.0", + "ember-cli-normalize-entity-name": "^1.0.0", + "ember-cli-path-utils": "^1.0.0", + "ember-cli-string-utils": "^1.1.0", + "ember-cli-valid-component-name": "^1.0.0", + "ember-cli-version-checker": "^2.1.0", + "ember-router-generator": "^1.2.3", + "inflection": "^1.12.0", + "jquery": "^3.3.1", + "resolve": "^1.6.0" + }, + "dependencies": { + "broccoli-funnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.2.tgz", + "integrity": "sha512-/vDTqtv7ipjEZQOVqO4vGDVAOZyuYzQ/EgGoyewfOgh1M7IQAToBKZI0oAQPgMBeFPPlIbfMuAngk+ohPBuaHQ==", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + } + }, + "broccoli-merge-trees": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.1.tgz", + "integrity": "sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==", + "dev": true, + "requires": { + "broccoli-plugin": "^1.3.0", + "merge-trees": "^1.0.1" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "merge-trees": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-trees/-/merge-trees-1.0.1.tgz", + "integrity": "sha512-O7TWwipLHhc9tErjq3WBvNP7I1g7Wgudl1ZkLqpT7F2MZy1yEdgnI9cpZZxBaqk+wJZu+2b9FE7D3ubUmGFHFA==", + "dev": true, + "requires": { + "can-symlink": "^1.0.0", + "fs-tree-diff": "^0.5.4", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0" + } + } + } + }, + "ember-source-channel-url": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ember-source-channel-url/-/ember-source-channel-url-3.0.0.tgz", + "integrity": "sha512-vF/8BraOc66ZxIDo3VuNP7iiDrnXEINclJgSJmqwAAEpg84Zb1DHPI22XTXSDA+E8fW5btPUxu65c3ZXi8AQFA==", + "dev": true, + "requires": { + "node-fetch": "^2.6.0" + } + }, + "ember-truth-helpers": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ember-truth-helpers/-/ember-truth-helpers-2.1.0.tgz", + "integrity": "sha512-BQlU8aTNl1XHKTYZ243r66yqtR9JU7XKWQcmMA+vkqfkE/c9WWQ9hQZM8YABihCmbyxzzZsngvldokmeX5GhAw==", + "dev": true, + "requires": { + "ember-cli-babel": "^6.6.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "engine.io": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz", + "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==", + "dev": true, + "requires": { + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.7.2", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1" + }, + "dependencies": { + "cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "dev": true + }, + "debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "dev": true + }, + "ensure-posix-path": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ensure-posix-path/-/ensure-posix-path-1.1.1.tgz", + "integrity": "sha512-VWU0/zXzVbeJNXvME/5EmLuEj2TauvoaTz6aFYK1Z92JCBlDlZ3Gu0tuGR42kpW1754ywTs+QB0g5TP0oj9Zaw==", + "dev": true + }, + "entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true + }, + "error": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/error/-/error-7.2.1.tgz", + "integrity": "sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==", + "dev": true, + "requires": { + "string-template": "~0.2.1" + } + }, + "error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true + }, + "es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "requires": { + "es-errors": "^1.3.0" + } + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true + }, + "escape-goat": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-1.3.0.tgz", + "integrity": "sha512-E2nU1Y39N5UgfLU8qwMlK0vZrZprIwWLeVmDYN8wd/e37hMtGzu2w1DBiREts0XHfgyZEQlj/hYr0H0izF0HDQ==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "eslint": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", + "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", + "dev": true, + "requires": { + "ajv": "^5.3.0", + "babel-code-frame": "^6.22.0", + "chalk": "^2.1.0", + "concat-stream": "^1.6.0", + "cross-spawn": "^5.1.0", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.4", + "esquery": "^1.0.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.0.1", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^3.0.6", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.9.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.0.1", + "require-uncached": "^1.0.3", + "semver": "^5.3.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "~2.0.1", + "table": "4.0.2", + "text-table": "~0.2.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha512-j/Toj7f1z98Hh2cYo2BVr85EpIRWqUi7rtRSGxh/cqUjqrnJe9l9UE7IUGd2vQ2p+kSHLkSzObQPZPLUC6TQwg==", + "dev": true + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } + } + }, + "eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "dev": true + }, + "espree": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "requires": { + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "events-to-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", + "integrity": "sha512-inRWzRY7nG+aXZxBzEqYKB3HPgwflZRopAjDCHv0whhRx+MTUr1ei0ICZUypdyE0HRm4L2d5VEcIqLD6yl+BFA==", + "dev": true + }, + "exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "exists-stat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/exists-stat/-/exists-stat-1.0.0.tgz", + "integrity": "sha512-JopkUVVqpSwQf3LhHNHIRrMI2hLIflI4vhlr8bg4wgV9lKHq3AKRVM6uQea1FEO282rAolIvAFpnceOogZCZOw==", + "dev": true + }, + "exists-sync": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/exists-sync/-/exists-sync-0.0.4.tgz", + "integrity": "sha512-cy5z7K+05RFxHAWY37dSDkPWmuTi+VzrA/xLwPDHmwQPMnO/kVhu6jheGaItlnNRoOE6f5MAjxy3VEupfrHigQ==", + "dev": true + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "express": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "dev": true, + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.12", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true + }, + "finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + } + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + } + } + }, + "extract-stack": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/extract-stack/-/extract-stack-2.0.0.tgz", + "integrity": "sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ==", + "dev": true + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==", + "dev": true + }, + "fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fast-ordered-set": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fast-ordered-set/-/fast-ordered-set-1.0.3.tgz", + "integrity": "sha512-MxBW4URybFszOx1YlACEoK52P6lE3xiFcPaGCUZ7QQOZ6uJXKo++Se8wa31SjcZ+NC/fdAWX7UtKEfaGgHS2Vg==", + "dev": true, + "requires": { + "blank-object": "^1.0.1" + } + }, + "fast-sourcemap-concat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-sourcemap-concat/-/fast-sourcemap-concat-2.1.1.tgz", + "integrity": "sha512-7h9/x25c6AQwdU3mA8MZDUMR3UCy50f237egBrBkuwjnUZSmfu4ptCf91PZSKzON2Uh5VvIHozYKWcPPgcjxIw==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "fs-extra": "^5.0.0", + "heimdalljs-logger": "^0.1.9", + "memory-streams": "^0.1.3", + "mkdirp": "^0.5.0", + "source-map": "^0.4.2", + "source-map-url": "^0.3.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha512-Y8nIfcb1s/7DcobUz1yOO1GSp7gyL+D9zLHDehT7iRESqGSxjJ448Sg7rvfgsRJCnKLdSl11uGf0s9X80cH0/A==", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + }, + "source-map-url": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz", + "integrity": "sha512-QU4fa0D6aSOmrT+7OHpUXw+jS84T0MLaQNtFs8xzLNe6Arj44Magd7WEbyVW5LNYoAPVV35aKs4azxIfVJrToQ==", + "dev": true + } + } + }, + "fastboot-transform": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/fastboot-transform/-/fastboot-transform-0.1.3.tgz", + "integrity": "sha512-6otygPIJw1ARp1jJb+6KVO56iKBjhO+5x59RSC9qiZTbZRrv+HZAuP00KD3s+nWMvcFDemtdkugki9DNFTTwCQ==", + "dev": true, + "requires": { + "broccoli-stew": "^1.5.0", + "convert-source-map": "^1.5.1" + }, + "dependencies": { + "broccoli-funnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.2.tgz", + "integrity": "sha512-/vDTqtv7ipjEZQOVqO4vGDVAOZyuYzQ/EgGoyewfOgh1M7IQAToBKZI0oAQPgMBeFPPlIbfMuAngk+ohPBuaHQ==", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "broccoli-merge-trees": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.1.tgz", + "integrity": "sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==", + "dev": true, + "requires": { + "broccoli-plugin": "^1.3.0", + "merge-trees": "^1.0.1" + } + }, + "broccoli-stew": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/broccoli-stew/-/broccoli-stew-1.6.0.tgz", + "integrity": "sha512-sUwCJNnYH4Na690By5xcEMAZqKgquUQnMAEuIiL3Z2k63mSw9Xg+7Ew4wCrFrMmXMcLpWjZDOm6Yqnq268N+ZQ==", + "dev": true, + "requires": { + "broccoli-debug": "^0.6.1", + "broccoli-funnel": "^2.0.0", + "broccoli-merge-trees": "^2.0.0", + "broccoli-persistent-filter": "^1.1.6", + "broccoli-plugin": "^1.3.0", + "chalk": "^2.4.1", + "debug": "^3.1.0", + "ensure-posix-path": "^1.0.1", + "fs-extra": "^5.0.0", + "minimatch": "^3.0.4", + "resolve": "^1.8.1", + "rsvp": "^4.8.3", + "symlink-or-copy": "^1.2.0", + "walk-sync": "^0.3.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "merge-trees": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-trees/-/merge-trees-1.0.1.tgz", + "integrity": "sha512-O7TWwipLHhc9tErjq3WBvNP7I1g7Wgudl1ZkLqpT7F2MZy1yEdgnI9cpZZxBaqk+wJZu+2b9FE7D3ubUmGFHFA==", + "dev": true, + "requires": { + "can-symlink": "^1.0.0", + "fs-tree-diff": "^0.5.4", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + } + } + }, + "fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha512-uXP/zGzxxFvFfcZGgBIwotm+Tdc55ddPAzF7iHshP4YGaXMww7rSF9peD9D1sui5ebONg5UobsZv+FfgEpGv/w==", + "dev": true, + "requires": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + } + }, + "file-name": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/file-name/-/file-name-0.1.0.tgz", + "integrity": "sha512-Q8SskhjF4eUk/xoQkmubwLkoHwOTv6Jj/WGtOVLKkZ0vvM+LipkSXugkn1F/+mjWXU32AXLZB3qaz0arUzgtRw==" + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "filesize": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.4.0.tgz", + "integrity": "sha512-mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ==", + "dev": true + }, + "fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "find-babel-config": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.2.tgz", + "integrity": "sha512-oK59njMyw2y3yxto1BCfVK7MQp/OYf4FleHu0RgosH3riFJ1aOuo/7naLDLAObfrgn3ueFhw5sAT/cp0QuJI3Q==", + "dev": true, + "requires": { + "json5": "^1.0.2", + "path-exists": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "find-file-up": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/find-file-up/-/find-file-up-0.1.3.tgz", + "integrity": "sha512-mBxmNbVyjg1LQIIpgO8hN+ybWBgDQK8qjht+EbrTCGmmPV/sc7RF1i9stPTD6bpvXZywBdrwRYxhSdJv867L6A==", + "requires": { + "fs-exists-sync": "^0.1.0", + "resolve-dir": "^0.1.0" + }, + "dependencies": { + "expand-tilde": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", + "integrity": "sha512-rtmc+cjLZqnu9dSYosX9EWmSJhTwpACgJQTfj4hgg2JjOD/6SIQalZrt4a3aQeh++oNxkazcaxrhPUj6+g5G/Q==", + "requires": { + "os-homedir": "^1.0.1" + } + }, + "global-modules": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", + "integrity": "sha512-JeXuCbvYzYXcwE6acL9V2bAOeSIGl4dD+iwLY9iUx2VBJJ80R18HCn+JCwHM9Oegdfya3lEkGCdaRkSyc10hDA==", + "requires": { + "global-prefix": "^0.1.4", + "is-windows": "^0.2.0" + } + }, + "global-prefix": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", + "integrity": "sha512-gOPiyxcD9dJGCEArAhF4Hd0BAqvAe/JzERP7tYumE4yIkmIedPUVXcJFWbV3/p/ovIIvKjkrTk+f1UVkq7vvbw==", + "requires": { + "homedir-polyfill": "^1.0.0", + "ini": "^1.3.4", + "is-windows": "^0.2.0", + "which": "^1.2.12" + } + }, + "is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha512-n67eJYmXbniZB7RF4I/FTjK1s6RPOCTxhYrVYLRaCt3lF0mpWZPKr3T2LSZAqyjQsxR2qMmGYXXzK0YWwcPM1Q==" + }, + "resolve-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz", + "integrity": "sha512-QxMPqI6le2u0dCLyiGzgy92kjkkL6zO0XyvHzjdTNH3zM6e5Hz3BwG6+aEyNgiQ5Xz6PwTwgQEj3U50dByPKIA==", + "requires": { + "expand-tilde": "^1.2.2", + "global-modules": "^0.2.3" + } + } + } + }, + "find-index": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/find-index/-/find-index-1.1.1.tgz", + "integrity": "sha512-XYKutXMrIK99YMUPf91KX5QVJoG31/OsgftD6YoTPAObfQIxM4ziA9f0J1AsqKhJmo+IeaIPP0CFopTD4bdUBw==", + "dev": true + }, + "find-pkg": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/find-pkg/-/find-pkg-0.1.2.tgz", + "integrity": "sha512-0rnQWcFwZr7eO0513HahrWafsc3CTFioEB7DRiEYCUM/70QXSY8f3mCST17HXLcPvEhzH/Ty/Bxd72ZZsr/yvw==", + "requires": { + "find-file-up": "^0.1.2" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "dependencies": { + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } + } + }, + "find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "dev": true, + "requires": { + "micromatch": "^4.0.2" + } + }, + "findup-sync": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + } + }, + "fireworm": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/fireworm/-/fireworm-0.7.2.tgz", + "integrity": "sha512-GjebTzq+NKKhfmDxjKq3RXwQcN9xRmZWhnnuC9L+/x5wBQtR0aaQM50HsjrzJ2wc28v1vSdfOpELok0TKR4ddg==", + "dev": true, + "requires": { + "async": "~0.2.9", + "is-type": "0.0.1", + "lodash.debounce": "^3.1.1", + "lodash.flatten": "^3.0.2", + "minimatch": "^3.0.2" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha512-eAkdoKxU6/LkKDBzLpT+t6Ff5EtfSF4wx1WfJiPEEV7WNLnDaRXk0oVysiEPm262roaachGexwUv94WhSgN5TQ==", + "dev": true + } + } + }, + "fixturify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fixturify/-/fixturify-2.1.1.tgz", + "integrity": "sha512-SRgwIMXlxkb6AUgaVjIX+jCEqdhyXu9hah7mcK+lWynjKtX73Ux1TDv71B7XyaQ+LJxkYRHl5yCL8IycAvQRUw==", + "dev": true, + "requires": { + "@types/fs-extra": "^8.1.0", + "@types/minimatch": "^3.0.3", + "@types/rimraf": "^2.0.3", + "fs-extra": "^8.1.0", + "matcher-collection": "^2.0.1", + "walk-sync": "^2.0.2" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "matcher-collection": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-2.0.1.tgz", + "integrity": "sha512-daE62nS2ZQsDg9raM0IlZzLmI2u+7ZapXBwdoeBUKAYERPDDIc0qNqA8E0Rp2D+gspKR7BgIFP52GeujaGXWeQ==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "minimatch": "^3.0.2" + } + }, + "walk-sync": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-2.2.0.tgz", + "integrity": "sha512-IC8sL7aB4/ZgFcGI2T1LczZeFWZ06b3zoHH7jBPyHxOtIIz1jppWHjjEXkOFvFojBVAK9pV7g47xOZ4LW3QLfg==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "ensure-posix-path": "^1.1.0", + "matcher-collection": "^2.0.0", + "minimatch": "^3.0.4" + } + } + } + }, + "fixturify-project": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fixturify-project/-/fixturify-project-2.1.1.tgz", + "integrity": "sha512-sP0gGMTr4iQ8Kdq5Ez0CVJOZOGWqzP5dv/veOTdFNywioKjkNWCHBi1q65DMpcNGUGeoOUWehyji274Q2wRgxA==", + "dev": true, + "requires": { + "fixturify": "^2.1.0", + "tmp": "^0.0.33", + "type-fest": "^0.11.0" + } + }, + "flat-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", + "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "dev": true, + "requires": { + "circular-json": "^0.3.1", + "graceful-fs": "^4.1.2", + "rimraf": "~2.6.2", + "write": "^0.2.1" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", + "dev": true + }, + "follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "formatio": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.2.0.tgz", + "integrity": "sha512-YAF05v8+XCxAyHOdiiAmHdgCVPrWO8X744fYIPtBciIorh5LndWfi1gjeJ16sTbJhzek9kd+j3YByhohtz5Wmg==", + "dev": true, + "requires": { + "samsam": "1.x" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, + "fs-exists-sync": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", + "integrity": "sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg==" + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "dependencies": { + "jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + } + } + }, + "fs-merger": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/fs-merger/-/fs-merger-3.2.1.tgz", + "integrity": "sha512-AN6sX12liy0JE7C2evclwoo0aCG3PFulLjrTLsJpWh/2mM+DinhpSGqYLbHBBbIW1PLRNcFhJG8Axtz8mQW3ug==", + "dev": true, + "requires": { + "broccoli-node-api": "^1.7.0", + "broccoli-node-info": "^2.1.0", + "fs-extra": "^8.0.1", + "fs-tree-diff": "^2.0.1", + "walk-sync": "^2.2.0" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-tree-diff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-2.0.1.tgz", + "integrity": "sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A==", + "dev": true, + "requires": { + "@types/symlink-or-copy": "^1.2.0", + "heimdalljs-logger": "^0.1.7", + "object-assign": "^4.1.0", + "path-posix": "^1.0.0", + "symlink-or-copy": "^1.1.8" + } + }, + "matcher-collection": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-2.0.1.tgz", + "integrity": "sha512-daE62nS2ZQsDg9raM0IlZzLmI2u+7ZapXBwdoeBUKAYERPDDIc0qNqA8E0Rp2D+gspKR7BgIFP52GeujaGXWeQ==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "minimatch": "^3.0.2" + } + }, + "walk-sync": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-2.2.0.tgz", + "integrity": "sha512-IC8sL7aB4/ZgFcGI2T1LczZeFWZ06b3zoHH7jBPyHxOtIIz1jppWHjjEXkOFvFojBVAK9pV7g47xOZ4LW3QLfg==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "ensure-posix-path": "^1.1.0", + "matcher-collection": "^2.0.0", + "minimatch": "^3.0.4" + } + } + } + }, + "fs-readdir-recursive": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-0.1.2.tgz", + "integrity": "sha512-//yfxmYAazrsyb/rgeYDNFXFTuPYTGYirp5QHFSH8h/LaNUoP5bQAa2ikstdK1PR/bFd1CIlQLpUq6/u6UVfSw==", + "dev": true + }, + "fs-tree-diff": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-0.5.9.tgz", + "integrity": "sha512-872G8ax0kHh01m9n/2KDzgYwouKza0Ad9iFltBpNykvROvf2AGtoOzPJgGx125aolGPER3JuC7uZFrQ7bG1AZw==", + "dev": true, + "requires": { + "heimdalljs-logger": "^0.1.7", + "object-assign": "^4.1.0", + "path-posix": "^1.0.0", + "symlink-or-copy": "^1.1.8" + } + }, + "fs-updater": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fs-updater/-/fs-updater-1.0.4.tgz", + "integrity": "sha512-0pJX4mJF/qLsNEwTct8CdnnRdagfb+LmjRPJ8sO+nCnAZLW0cTmz4rTgU25n+RvTuWSITiLKrGVJceJPBIPlKg==", + "dev": true, + "requires": { + "can-symlink": "^1.0.0", + "clean-up-path": "^1.0.0", + "heimdalljs": "^0.2.5", + "heimdalljs-logger": "^0.1.9", + "rimraf": "^2.6.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "^1.0.0" + } + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "requires": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + } + }, + "get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "requires": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "gh-got": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gh-got/-/gh-got-6.0.0.tgz", + "integrity": "sha512-F/mS+fsWQMo1zfgG9MD8KWvTWPPzzhuVwY++fhQ5Ggd+0P+CAMHtzMZhNxG+TqGfHDChJKsbh6otfMGqO2AKBw==", + "requires": { + "got": "^7.0.0", + "is-plain-obj": "^1.1.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" + } + } + }, + "git-config-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-1.0.1.tgz", + "integrity": "sha512-KcJ2dlrrP5DbBnYIZ2nlikALfRhKzNSX0stvv3ImJ+fvC4hXKoV+U+74SV0upg+jlQZbrtQzc0bu6/Zh+7aQbg==", + "requires": { + "extend-shallow": "^2.0.1", + "fs-exists-sync": "^0.1.0", + "homedir-polyfill": "^1.0.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "git-hooks-list": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-1.0.3.tgz", + "integrity": "sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==", + "dev": true + }, + "git-repo-info": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/git-repo-info/-/git-repo-info-2.1.1.tgz", + "integrity": "sha512-8aCohiDo4jwjOwma4FmYFd3i97urZulL8XL24nIPxuE+GZnfsAyy/g2Shqx6OjUiFKUXZM+Yy+KHnOmmA3FVcg==", + "dev": true + }, + "git-repo-name": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/git-repo-name/-/git-repo-name-0.6.0.tgz", + "integrity": "sha512-DF4XxB6H+Te79JA08/QF/IjIv+j+0gF990WlgAX3SXXU2irfqvBc/xxlAIh6eJWYaKz45MrrGVBFS0Qc4bBz5g==", + "requires": { + "cwd": "^0.9.1", + "file-name": "^0.1.0", + "lazy-cache": "^1.0.4", + "remote-origin-url": "^0.5.1" + } + }, + "git-repo-version": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/git-repo-version/-/git-repo-version-1.0.2.tgz", + "integrity": "sha512-OPtwtHx9E8/rTMcWT+BU6GNj6Kq/O40bHJZaZAGy+pN2RXGmeKcfr0ix4M+SQuFY8vl5L/wfPSGOAtvUT/e3Qg==", + "dev": true, + "requires": { + "git-repo-info": "^1.4.1" + }, + "dependencies": { + "git-repo-info": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/git-repo-info/-/git-repo-info-1.4.1.tgz", + "integrity": "sha512-oqzBH6cNvE8Cq3p61ps4m0POZrVMKlARntc2BxLnuqTK+HeWpKfUMJQ7H1CvescHRINj+0a7TKA+Pp/bOq5F1Q==", + "dev": true + } + } + }, + "git-spawned-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/git-spawned-stream/-/git-spawned-stream-1.0.0.tgz", + "integrity": "sha512-CdUpBulxMBlEkUGh9hpvqmmmCKS2X7q/Ct3ml+wmkpnXwEJfkXr2v7APLPyeZ33DKbpehxSiF6Skl2P1itJjRA==", + "requires": { + "debug": "~0.8.1", + "spawn-to-readstream": "~0.1.3" + }, + "dependencies": { + "debug": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz", + "integrity": "sha512-HlXEJm99YsRjLJ8xmuz0Lq8YUwrv7hAJkTEr6/Em3sUlSUNl0UdFA+1SrY4fnykeq1FVkUEUtwRGHs9VvlYbGA==" + } + } + }, + "git-state": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/git-state/-/git-state-4.0.0.tgz", + "integrity": "sha512-7rW22+ryQP6az93gU2jr+4SVAAoEPLELTwQiZd1ldq+77N+KLinP1FyZ61bkWrbXiZcEc9F9mpam2r30yG68Tw==", + "requires": { + "after-all-results": "^2.0.0" + } + }, + "git-username": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/git-username/-/git-username-1.0.0.tgz", + "integrity": "sha512-xm45KwBR6Eu1jO4umx/o2M84v9TC7tdOBuzLx8ayhdR9H1FBiiG9azz31uC0esDvaWVBTDINpJ5USomk+ja8OQ==", + "requires": { + "parse-github-url": "^1.0.2", + "remote-origin-url": "^1.0.0" + }, + "dependencies": { + "remote-origin-url": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/remote-origin-url/-/remote-origin-url-1.0.0.tgz", + "integrity": "sha512-xHDM6IBqivpiQ1e4WOuFpM/T6rbzA/WBsu+3WLtgPOhHyjA0nYlijV3NprlTb4FcXlQ5+Q+z174sQ1NnUF5FwA==", + "requires": { + "parse-git-config": "^1.1.1" + } + } + } + }, + "github-username": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/github-username/-/github-username-4.1.0.tgz", + "integrity": "sha512-ABDfD5sjQOE8XDatHhN/WORUIAN1AGpgW4vegrKtby8x+jC/ALqCEuUDhCPlk9EXtjTHJWpuK25QdaehSUlCQg==", + "requires": { + "gh-got": "^6.0.0" + } + }, + "glob": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", + "integrity": "sha512-I0rTWUKSZKxPSIAIaqhSXTM/DiII6wame+rEC3cFA5Lqmr9YmdL7z6Hj9+bdWtTvoY1Su4/OiMLmb37Y7JzvJQ==", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^2.0.1", + "once": "^1.3.0" + }, + "dependencies": { + "minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha512-jQo6o1qSVLEWaw3l+bwYA2X0uLuK2KjNh2wjgO7Q/9UJnXr1Q3yQKR8BI0/Bt/rPg75e6SMW4hW/6cBHVTZUjA==", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + } + } + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "globby": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.0.tgz", + "integrity": "sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "dependencies": { + "@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "globule": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz", + "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "^4.17.21", + "minimatch": "~3.0.2" + }, + "dependencies": { + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true + }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "requires": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==" + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" + } + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", + "dev": true + }, + "handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + }, + "dependencies": { + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "dependencies": { + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + } + } + }, + "has-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-3.0.0.tgz", + "integrity": "sha512-5JRDTvNq6mVkaMHQVXrGnaCXHD6JfqxwCy8LA/DQSqLLqePR9uaJVm2u3Ek/UziJFQz+d1ul99RtfIhE2aorkQ==", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0" + } + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" + }, + "has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-for-dep": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/hash-for-dep/-/hash-for-dep-1.5.1.tgz", + "integrity": "sha512-/dQ/A2cl7FBPI2pO0CANkvuuVi/IFS5oTyJ0PsOb6jW6WbVW1js5qJXMJTNbWHXBIPdFTWFbabjB+mE0d+gelw==", + "dev": true, + "requires": { + "broccoli-kitchen-sink-helpers": "^0.3.1", + "heimdalljs": "^0.2.3", + "heimdalljs-logger": "^0.1.7", + "path-root": "^0.1.1", + "resolve": "^1.10.0", + "resolve-package-path": "^1.0.11" + } + }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "requires": { + "function-bind": "^1.1.2" + } + }, + "heimdalljs": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/heimdalljs/-/heimdalljs-0.2.6.tgz", + "integrity": "sha512-o9bd30+5vLBvBtzCPwwGqpry2+n0Hi6H1+qwt6y+0kwRHGGF8TFIhJPmnuM0xO97zaKrDZMwO/V56fAnn8m/tA==", + "dev": true, + "requires": { + "rsvp": "~3.2.1" + }, + "dependencies": { + "rsvp": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.2.1.tgz", + "integrity": "sha512-Rf4YVNYpKjZ6ASAmibcwTNciQ5Co5Ztq6iZPEykHpkoflnD/K5ryE/rHehFsTm4NJj8nKDhbi3eKBWGogmNnkg==", + "dev": true + } + } + }, + "heimdalljs-fs-monitor": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/heimdalljs-fs-monitor/-/heimdalljs-fs-monitor-1.1.2.tgz", + "integrity": "sha512-M7OPf3Tu+ybhAXdiC07O1vUYFyhCgfew4L3vaG2nn4Be05xzNvtBcU6IKMTfHJ9AxWFa3w9rrmiJovkxHhpopw==", + "dev": true, + "requires": { + "callsites": "^3.1.0", + "clean-stack": "^2.2.0", + "extract-stack": "^2.0.0", + "heimdalljs": "^0.2.3", + "heimdalljs-logger": "^0.1.7" + } + }, + "heimdalljs-graph": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/heimdalljs-graph/-/heimdalljs-graph-1.0.0.tgz", + "integrity": "sha512-v2AsTERBss0ukm/Qv4BmXrkwsT5x6M1V5Om6E8NcDQ/ruGkERsfsuLi5T8jx8qWzKMGYlwzAd7c/idymxRaPzA==", + "dev": true + }, + "heimdalljs-logger": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/heimdalljs-logger/-/heimdalljs-logger-0.1.10.tgz", + "integrity": "sha512-pO++cJbhIufVI/fmB/u2Yty3KJD0TqNPecehFae0/eps0hkZ3b4Zc/PezUMOpYuHFQbA7FxHZxa305EhmjLj4g==", + "dev": true, + "requires": { + "debug": "^2.2.0", + "heimdalljs": "^0.2.6" + } + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + } + } + }, + "http-parser-js": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", + "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "requires": { + "agent-base": "4", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https/-/https-1.0.0.tgz", + "integrity": "sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg==", + "dev": true + }, + "https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + }, + "in-publish": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", + "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", + "dev": true + }, + "include-path-searcher": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/include-path-searcher/-/include-path-searcher-0.1.0.tgz", + "integrity": "sha512-KlpXnsZOrBGo4PPKqPFi3Ft6dcRyh8fTaqgzqDRi8jKAsngJEWWOxeFIWC8EfZtXKaZqlsNf9XRwcQ49DVgl/g==", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "inflection": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.13.4.tgz", + "integrity": "sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "inline-source-map-comment": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/inline-source-map-comment/-/inline-source-map-comment-1.0.5.tgz", + "integrity": "sha512-a3/m6XgooVCXkZCduOb7pkuvUtNKt4DaqaggKKJrMQHQsqt6JcJXEreExeZiiK4vWL/cM/uF6+chH05pz2/TdQ==", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "get-stdin": "^4.0.1", + "minimist": "^1.1.1", + "sum-up": "^1.0.1", + "xtend": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true + } + } + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", + "dev": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "requires": { + "hasown": "^2.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", + "dev": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "is-git-url": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-git-url/-/is-git-url-1.0.0.tgz", + "integrity": "sha512-UCFta9F9rWFSavp9H3zHEHrARUfZbdJvmHKeEpds4BK3v7W2LdXoNypMtXXi5w5YBDEBCTYmbI+vsSwI8LYJaQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-integer": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-integer/-/is-integer-1.0.7.tgz", + "integrity": "sha512-RPQc/s9yBHSvpi+hs9dYiJ2cuFeU6x3TyyIp8O2H6SKEltIvJOzRj9ToyvcStDvPR/pS4rxgr1oBFajQjZ2Szg==", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "is-language-code": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-language-code/-/is-language-code-2.0.0.tgz", + "integrity": "sha512-6xKmRRcP2YdmMBZMVS3uiJRPQgcMYolkD6hFw2Y4KjqyIyaJlCGxUt56tuu0iIV8q9r8kMEo0Gjd/GFwKrgjbw==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + }, + "is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==" + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" + }, + "is-type": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/is-type/-/is-type-0.0.1.tgz", + "integrity": "sha512-YwJh/zBVrcJ90aAnPBM0CbHvm7lG9ao7lIFeqTZ1UQj4iFLpM5CikdaU+dGGesrMJwxLqPGmjjrUrQ6Kn3Zh+w==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "istextorbinary": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.1.0.tgz", + "integrity": "sha512-kT1g2zxZ5Tdabtpp9VSdOzW9lb6LXImyWbzbQeTxoRtHhurC9Ej9Wckngr2+uepPL09ky/mJHmN9jeJPML5t6A==", + "dev": true, + "requires": { + "binaryextensions": "1 || 2", + "editions": "^1.1.1", + "textextensions": "1 || 2" + } + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "jquery": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==", + "dev": true + }, + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, + "js-reporters": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/js-reporters/-/js-reporters-1.2.1.tgz", + "integrity": "sha512-E4/TBelYYApx/lszChawx4+4MxEAZzL2hNYjQfHsIuu/vlYHkNRrlhTwaeABe5QhK546XmmAvqnCKHgawZs50g==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true + }, + "jsmin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/jsmin/-/jsmin-1.0.1.tgz", + "integrity": "sha512-OPuL5X/bFKgVdMvEIX3hnpx3jbVpFCrEM8pKPXjFkZUqg521r41ijdyTz7vACOhW6o1neVlcLyd+wkbK5fNHRg==", + "dev": true + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==", + "dev": true + }, + "json-stable-stringify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz", + "integrity": "sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==", + "dev": true, + "requires": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true + }, + "jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "jstree": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/jstree/-/jstree-3.3.9.tgz", + "integrity": "sha512-jRIbhg+BHrIs1Wm6oiJt3oKTVBE6sWS0PCp2/RlkIUqsLUPWUYgV3q8LfKoi1/E+YMzGtP6BuK4okk+0mwfmhQ==", + "dev": true, + "requires": { + "jquery": ">=1.9.1" + } + }, + "just-extend": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", + "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", + "dev": true + }, + "jxLoader": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jxLoader/-/jxLoader-0.1.1.tgz", + "integrity": "sha512-ClEvAj3K68y8uKhub3RgTmcRPo5DfIWvtxqrKQdDPyZ1UVHIIKvVvjrAsJFSVL5wjv0rt5iH9SMCZ0XRKNzeUA==", + "dev": true, + "requires": { + "js-yaml": "0.3.x", + "moo-server": "1.3.x", + "promised-io": "*", + "walker": "1.x" + }, + "dependencies": { + "js-yaml": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-0.3.7.tgz", + "integrity": "sha512-/7PsVDNP2tVe2Z1cF9kTEkjamIwz4aooDpRKmN1+g/9eePCgcxsv4QDvEbxO0EH+gdDD7MLyDoR6BASo3hH51g==", + "dev": true + } + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", + "dev": true + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==" + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "leek": { + "version": "0.0.24", + "resolved": "https://registry.npmjs.org/leek/-/leek-0.0.24.tgz", + "integrity": "sha512-6PVFIYXxlYF0o6hrAsHtGpTmi06otkwNrMcmQ0K96SeSRHPREPa9J3nJZ1frliVH7XT0XFswoJFQoXsDukzGNQ==", + "dev": true, + "requires": { + "debug": "^2.1.0", + "lodash.assign": "^3.2.0", + "rsvp": "^3.0.21" + } + }, + "leven": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/leven/-/leven-1.0.2.tgz", + "integrity": "sha512-U3eIzC2mMAOMOuoJ25sA3eyraoBwndpQyYgBq5dyqrMTpvMg9l9X/ucFHxv622YcCg179WWqleoF7rSzfYrV+Q==", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "limit-spawn": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/limit-spawn/-/limit-spawn-0.0.3.tgz", + "integrity": "sha512-2vJ6FDCit0ohq77qdbIdk5JqGs/98W1fGEgozoAMq/oybKPdgLuB8bHH/wWgvCdQzEJpm6Sxh0abG/PtxFr7XA==" + }, + "linkify-it": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "dev": true, + "requires": { + "uc.micro": "^1.0.1" + } + }, + "livereload-js": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-3.4.1.tgz", + "integrity": "sha512-5MP0uUeVCec89ZbNOT/i97Mc+q3SxXmiUGhRFOTmhrGPn//uWVQdCvcLJDy64MSBR5MidFdOR7B9viumoavy6g==", + "dev": true + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "loader.js": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/loader.js/-/loader.js-4.7.0.tgz", + "integrity": "sha512-9M2KvGT6duzGMgkOcTkWb+PR/Q2Oe54df/tLgHGVmFpAmtqJ553xJh6N63iFYI2yjo2PeJXbS5skHi/QpJq4vA==", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha512-t3N26QR2IdSN+gqSy9Ds9pBu/J1EAFEshKlUHpJG3rvyJOYgcELIxcIeKKfZk7sjOz11cFfzJRsyFry/JyabJQ==", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha512-rFR6Vpm4HeCK1WPGvjZSJ+7yik8d8PVUdCJx5rT2pogG4Ve/2ZS7kfmO5l5T2o5V2mqlNIfSF5MZlr1+xOoYQQ==", + "dev": true + }, + "lodash._baseflatten": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/lodash._baseflatten/-/lodash._baseflatten-3.1.4.tgz", + "integrity": "sha512-fESngZd+X4k+GbTxdMutf8ohQa0s3sJEHIcwtu4/LsIQ2JTDzdRxDCMQjW+ezzwRitLmHnacVVmosCbxifefbw==", + "dev": true, + "requires": { + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "lodash._bindcallback": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", + "integrity": "sha512-2wlI0JRAGX8WEf4Gm1p/mv/SZ+jLijpj0jyaE/AXeuQphzCgD8ZQW4oSpoN8JAopujOFGU3KMuq7qfHBWlGpjQ==", + "dev": true + }, + "lodash._createassigner": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", + "integrity": "sha512-LziVL7IDnJjQeeV95Wvhw6G28Z8Q6da87LWKOPWmzBLv4u6FAT/x5v00pyGW0u38UoogNF2JnD3bGgZZDaNEBw==", + "dev": true, + "requires": { + "lodash._bindcallback": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash.restparam": "^3.0.0" + } + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha512-RrL9VxMEPyDMHOd9uFbvMe8X55X16/cGM5IgOKgRElQZutpX89iS6vwl64duTV1/16w5JY7tuFNXqoekmh1EmA==", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha512-De+ZbrMu6eThFti/CSzhRvTKMgQToLxbij58LMfM8JnYDNSOjkjTCIaa8ixglOeGh2nyPlakbt5bJWJ7gvpYlQ==", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", + "dev": true + }, + "lodash.assign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", + "integrity": "sha512-/VVxzgGBmbphasTg51FrztxQJ/VgAUpol6zmJuSVSGcNg4g7FA4z7rQV8Ovr9V3vFBNWZhvKWHfpAytjTVUfFA==", + "dev": true, + "requires": { + "lodash._baseassign": "^3.0.0", + "lodash._createassigner": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "lodash.debounce": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-3.1.1.tgz", + "integrity": "sha512-lcmJwMpdPAtChA4hfiwxTtgFeNAaow701wWUgVUqeD0XJF7vMXIN+bu/2FJSGxT0NUbZy9g9VFrlOFfPjl+0Ew==", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0" + } + }, + "lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true + }, + "lodash.flatten": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-3.0.2.tgz", + "integrity": "sha512-jCXLoNcqQRbnT/KWZq2fIREHWeczrzpTR0vsycm96l/pu5hGeAntVBG0t7GuM/2wFqmnZs3d1eGptnAH2E8+xQ==", + "dev": true, + "requires": { + "lodash._baseflatten": "^3.0.0", + "lodash._isiterateecall": "^3.0.0" + } + }, + "lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==", + "dev": true + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha512-JwObCrNJuT0Nnbuecmqr5DgtuBppuCvGD9lxjFpAzwnVtdGoDQ1zig+5W8k5/6Gcn0gZ3936HDAlGd28i7sOGQ==", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha512-CuBsapFjcubOGMn3VD+24HOAPxM79tH+V6ivJL3CHYjtrawauDJHUk//Yew9Hvc6e9rbCrURGk8z6PC+8WJBfQ==", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==", + "dev": true + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha512-L4/arjjuq4noiUJpt3yS6KIKDtJwNe2fIYgMqyYYKoeIfV1iEqvPwhCx23o+R9dzouGihDAPN1dTIRWa7zk8tw==", + "dev": true + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "requires": { + "chalk": "^2.0.1" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "logform": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.7.0.tgz", + "integrity": "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==", + "dev": true, + "requires": { + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "lolex": { + "version": "2.7.5", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.7.5.tgz", + "integrity": "sha512-l9x0+1offnKKIzYVjyXU2SiwhXDLekRzKyhnbyldPHvC7BvLPVpdNUNR2KeMAiCN2D/kLNttZgQD5WjSxuBx3Q==", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "markdown-it": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "dev": true, + "requires": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + } + } + }, + "markdown-it-terminal": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/markdown-it-terminal/-/markdown-it-terminal-0.2.1.tgz", + "integrity": "sha512-e8hbK9L+IyFac2qY05R7paP+Fqw1T4pSQW3miK3VeG9QmpqBjg5Qzjv/v6C7YNxSNRS2Kp8hUFtm5lWU9eK4lw==", + "dev": true, + "requires": { + "ansi-styles": "^3.0.0", + "cardinal": "^1.0.0", + "cli-table": "^0.3.1", + "lodash.merge": "^4.6.2", + "markdown-it": "^8.3.1" + }, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "linkify-it": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "dev": true, + "requires": { + "uc.micro": "^1.0.1" + } + }, + "markdown-it": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", + "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + } + } + } + }, + "matcher-collection": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-1.1.2.tgz", + "integrity": "sha512-YQ/teqaOIIfUHedRam08PB3NK7Mjct6BvzRnJmpGDm8uFXpNr1sbY4yuflI5JcEs6COpYA0FpRQhSDBf1tT95g==", + "dev": true, + "requires": { + "minimatch": "^3.0.2" + } + }, + "math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true + }, + "md5-hex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-2.0.0.tgz", + "integrity": "sha512-0HLfzJTZ7707VBNM1ydr5sTb+IZLhmU4u2TVA+Eenfn/Ed42/gn10smbAPiuEm/jNgjvWKUiMNihqJQ6flus9w==", + "dev": true, + "requires": { + "md5-o-matic": "^0.1.1" + } + }, + "md5-o-matic": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", + "integrity": "sha512-QBJSFpsedXUl/Lgs4ySdB2XCzUEcJ3ujpbagdZCkRaYIaC0kFnID8jhc84KEiVv6dNFtIrmW7bqow0lDxgJi6A==", + "dev": true + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true + }, + "memory-streams": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/memory-streams/-/memory-streams-0.1.3.tgz", + "integrity": "sha512-qVQ/CjkMyMInPaaRMrwWNDvf6boRZXaT/DbQeMYcCWuXPEBf1v8qChOc9OlEVQp2uOvRXa1Qu30fLmKhY6NipA==", + "dev": true, + "requires": { + "readable-stream": "~1.0.2" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + } + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "merge": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", + "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", + "dev": true + }, + "merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge-trees": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-trees/-/merge-trees-2.0.0.tgz", + "integrity": "sha512-5xBbmqYBalWqmhYm51XlohhkmVOua3VAUrrWh8t9iOkaLpS6ifqm/UVuUjQCeDVJ9Vx3g2l6ihfkbLSTeKsHbw==", + "dev": true, + "requires": { + "fs-updater": "^1.0.4", + "heimdalljs": "^0.2.5" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true + }, + "micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "requires": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "mktemp": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/mktemp/-/mktemp-0.4.0.tgz", + "integrity": "sha512-IXnMcJ6ZyTuhRmJSjzvHSRhlVPiN9Jwc6e59V0bEJ0ba6OBeX2L0E+mRN1QseeOF4mM+F1Rit6Nh7o+rl2Yn/A==", + "dev": true + }, + "moo-server": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/moo-server/-/moo-server-1.3.0.tgz", + "integrity": "sha512-9A8/eor2DXwpv1+a4pZAAydqLFVrWoKoO1fzdzqLUhYVXAO1Kgd1FR2gFZi7YdHzF0s4W8cDNwCfKJQrvLqxDw==", + "dev": true + }, + "morgan": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.1.tgz", + "integrity": "sha512-223dMRJtI/l25dJKWpgij2cMtywuG/WiUKXdvwfbhGKBhy1puASqXwFzmWZ7+K73vUPoR7SS2Qz2cI/g9MKw0A==", + "dev": true, + "requires": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.1.0" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + } + } + }, + "mout": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/mout/-/mout-1.2.4.tgz", + "integrity": "sha512-mZb9uOruMWgn/fw28DG4/yE3Kehfk1zKCLhuDU2O3vlKdnBBr4XaOCqVTflJ5aODavGUPqFHZgrFX3NJVuxGhQ==", + "dev": true + }, + "mri": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.0.tgz", + "integrity": "sha512-NbJtWIE2QEVbr9xQHXBY92fxX0Tu8EsS9NBwz7Qn3zoeuvcbP3LzBJw3EUJDpfb9IY8qnZvFSWIepeEFQga28w==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "mustache": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==" + }, + "nan": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.23.0.tgz", + "integrity": "sha512-1UxuyYGdoQHcGg87Lkqm3FzefucTa0NAiOcuRsDmysep3c1LVCRK2krrUDafMWtjSG04htvAmvg96+SDknOmgQ==", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "native-promise-only": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", + "integrity": "sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "nise": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/nise/-/nise-1.5.3.tgz", + "integrity": "sha512-Ymbac/94xeIrMf59REBPOv0thr+CJVFMhrlAkW/gjCIE58BGQdCj0x7KRCb3yz+Ga2Rz3E9XXSvUyyxqqhjQAQ==", + "dev": true, + "requires": { + "@sinonjs/formatio": "^3.2.1", + "@sinonjs/text-encoding": "^0.7.1", + "just-extend": "^4.0.2", + "lolex": "^5.0.1", + "path-to-regexp": "^1.7.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "lolex": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", + "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "path-to-regexp": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", + "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "dev": true, + "requires": { + "isarray": "0.0.1" + } + } + } + }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha512-mfmm3/H9+67MCVix1h+IXTpDwL6710LyHuk7+cWC9T1mE0qz4iHhh6r4hU2wrIT9iTsAAC2XQRvfblL028cpLw==", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node-modules-path": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/node-modules-path/-/node-modules-path-1.0.2.tgz", + "integrity": "sha512-6Gbjq+d7uhkO7epaKi5DNgUJn7H0gEyA4Jg0Mo1uQOi3Rk50G83LtmhhFyw0LxnAFhtlspkiiw52ISP13qzcBg==", + "dev": true + }, + "node-notifier": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", + "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==", + "dev": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.5", + "shellwords": "^0.1.1", + "uuid": "^8.3.2", + "which": "^2.0.2" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "node-releases": { + "version": "2.0.26", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.26.tgz", + "integrity": "sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==", + "dev": true + }, + "node-sass": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz", + "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", + "dev": true, + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash": "^4.17.15", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "2.2.5", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha512-eZ+m1WNhSZutOa/uRblAc9Ut5MQfukFrFMtPSm3bZCA888NmMd5AWXWdgRZ80zd+pTk1P2JrGjg9pUPTvl2PWQ==", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } + } + }, + "node-version": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/node-version/-/node-version-1.1.3.tgz", + "integrity": "sha512-rEwE51JWn0yN3Wl5BXeGn5d52OGbSXzWiiXRjAQeuyvcGKyvuSILW2rb3G7Xh+nexzLwhTpek6Ehxd6IjvHePg==" + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-hash": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", + "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", + "dev": true + }, + "object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "dev": true, + "requires": { + "fn.name": "1.x.x" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "opn": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", + "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", + "requires": { + "is-wsl": "^1.1.0" + }, + "dependencies": { + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==" + } + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==" + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "output-file-sync": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", + "integrity": "sha512-uQLlclru4xpCi+tfs80l3QF24KL81X57ELNMy7W/dox+JTtxUf1bLyQ8968fFCmSqqbokjW0kn+WBIlO+rSkNg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.4", + "mkdirp": "^0.5.1", + "object-assign": "^4.1.0" + } + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" + }, + "p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha512-gb0ryzr+K2qFqFv6qi3khoeqMZF/+ajxQipEF6NteZVnvz9tzdsfAVj3lYtn1gAXvH5lfLwfxEII799gt/mRIA==", + "requires": { + "p-finally": "^1.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parse-git-config": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-1.1.1.tgz", + "integrity": "sha512-S3LGXJZVSy/hswvbSkfdbKBRVsnqKrVu6j8fcvdtJ4TxosSELyQDsJPuGPXuZ+EyuYuJd3O4uAF8gcISR0OFrQ==", + "requires": { + "extend-shallow": "^2.0.1", + "fs-exists-sync": "^0.1.0", + "git-config-path": "^1.0.1", + "ini": "^1.3.4" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "parse-github-url": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.3.tgz", + "integrity": "sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww==" + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==" + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-posix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-posix/-/path-posix-1.0.0.tgz", + "integrity": "sha512-1gJ0WpNIiYcQydgg3Ed8KzvIqTsDpNwq+cjBCssvBtuTWjEqY1AW+i+OepiEMqDCzyro9B2sLAe4RBPajMYFiA==", + "dev": true + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", + "dev": true, + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + } + } + }, + "pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true + }, + "popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", + "dev": true + }, + "portfinder": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.38.tgz", + "integrity": "sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==", + "dev": true, + "requires": { + "async": "^3.2.6", + "debug": "^4.3.6" + }, + "dependencies": { + "async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true + }, + "debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==" + }, + "printf": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/printf/-/printf-0.6.1.tgz", + "integrity": "sha512-is0ctgGdPJ5951KulgfzvHGwJtZ5ck8l042vRkV6jrkpBzTmb/lueTqguWHy2JfVA+RY6gFVlaZgUS0j7S/dsw==", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "process-relative-require": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-relative-require/-/process-relative-require-1.0.0.tgz", + "integrity": "sha512-r8G5WJPozMJAiv8sDdVWKgJ4In/zBXqwJdMCGAXQt2Kd3HdbAuJVzWYM4JW150hWoaI9DjhtbjcsCCHIMxm8RA==", + "dev": true, + "requires": { + "node-modules-path": "^1.0.0" + } + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "promise-map-series": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/promise-map-series/-/promise-map-series-0.2.3.tgz", + "integrity": "sha512-wx9Chrutvqu1N/NHzTayZjE1BgIwt6SJykQoCOic4IZ9yUDjKyVYrpLa/4YCNsV61eRENfs29hrEquVuB13Zlw==", + "dev": true, + "requires": { + "rsvp": "^3.0.14" + } + }, + "promise-polyfill": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz", + "integrity": "sha512-g0LWaH0gFsxovsU7R5LrrhHhWAWiHRnh1GPrhXnPgYsDkIqjRYUYSZEsej/wtleDrz5xVSIDbeKfidztp2XHFQ==" + }, + "promise.hash.helper": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/promise.hash.helper/-/promise.hash.helper-1.0.8.tgz", + "integrity": "sha512-KYcnXctWUWyVD3W3Ye0ZDuA1N8Szrh85cVCxpG6xYrOk/0CttRtYCmU30nWsUch0NuExQQ63QXvzRE6FLimZmg==", + "dev": true + }, + "promised-io": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/promised-io/-/promised-io-0.3.6.tgz", + "integrity": "sha512-bNwZusuNIW4m0SPR8jooSyndD35ggirHlxVl/UhIaZD/F0OBv9ebfc6tNmbpZts3QXHggkjIBH8lvtnzhtcz0A==", + "dev": true + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" + }, + "psl": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "dev": true, + "requires": { + "punycode": "^2.3.1" + } + }, + "pump": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "dev": true + }, + "qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dev": true, + "requires": { + "side-channel": "^1.0.6" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-temp": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/quick-temp/-/quick-temp-0.1.8.tgz", + "integrity": "sha512-YsmIFfD9j2zaFwJkzI6eMG7y0lQP7YeWzgtFgNl38pGWZBSXJooZbOWwkcRot7Vt0Fg9L23pX0tqWU3VvLDsiA==", + "dev": true, + "requires": { + "mktemp": "~0.4.0", + "rimraf": "^2.5.4", + "underscore.string": "~3.3.4" + } + }, + "qunit": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/qunit/-/qunit-2.6.2.tgz", + "integrity": "sha512-PHbKulmd4rrDhFto7iHicIstDTX7oMRvAcI7loHstvU8J7AOGwzcchONmy+EG4KU8HDk0K90o7vO0GhlYyKlOg==", + "dev": true, + "requires": { + "commander": "2.12.2", + "exists-stat": "1.0.0", + "findup-sync": "2.0.0", + "js-reporters": "1.2.1", + "resolve": "1.5.0", + "sane": "^2.5.2", + "walk-sync": "0.3.2" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "capture-exit": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", + "integrity": "sha512-IS4lTgp57lUcpXzyCaiUQcRZBxZAkzl+jNXrMUXZjdnr2yujpKUMG9OYeYL29i6fL66ihypvVJ/MeX0B+9pWOg==", + "dev": true, + "requires": { + "rsvp": "^3.3.3" + } + }, + "commander": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz", + "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==", + "dev": true + }, + "exec-sh": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", + "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", + "dev": true, + "requires": { + "merge": "^1.2.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "resolve": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", + "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "dev": true, + "requires": { + "path-parse": "^1.0.5" + } + }, + "sane": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", + "integrity": "sha512-OuZwD1QJ2R9Dbnhd7Ur8zzD8l+oADp9npyxK63Q9nZ4AjhB2QwDQcQlD8iuUsGm5AZZqtEuCaJvK1rxGRxyQ1Q==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "capture-exit": "^1.2.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.3", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "walk-sync": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.3.2.tgz", + "integrity": "sha512-FMB5VqpLqOCcqrzA9okZFc0wq0Qbmdm396qJxvQZhDpyu0W95G9JCmp74tx7iyYnyOcBtUuKJsgIKAqjozvmmQ==", + "dev": true, + "requires": { + "ensure-posix-path": "^1.0.0", + "matcher-collection": "^1.0.0" + } + }, + "watch": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", + "integrity": "sha512-oUcoHFG3UF2pBlHcMORAojsN09BfqSfWYWlR3eSSjUFR7eBEx53WT2HX/vZeVTTIVCGShcazb+t6IcBRCNXqvA==", + "dev": true, + "requires": { + "exec-sh": "^0.2.0", + "minimist": "^1.2.0" + } + } + } + }, + "random-string": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/random-string/-/random-string-0.2.0.tgz", + "integrity": "sha512-isA91IquV3ZrFbvwkAtExP8aGL+csx3KGEsEJrvCidzOHioPl5B5g7WyJlk0lMkEz5/i1PqrWTvcdtJHPtrp1g==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "dependencies": { + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + } + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + } + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "recast": { + "version": "0.10.33", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.33.tgz", + "integrity": "sha512-RxAVgvgWGzfFYsdc3PB6TM4/cq8HMgBH8PC9r+SkO7j1MeHZvIMxLSVlUhin3sv9wbAy8CMAPXSGSGkWPovyKQ==", + "dev": true, + "requires": { + "ast-types": "0.8.12", + "esprima-fb": "~15001.1001.0-dev-harmony-fb", + "private": "~0.1.5", + "source-map": "~0.5.0" + }, + "dependencies": { + "ast-types": { + "version": "0.8.12", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.12.tgz", + "integrity": "sha512-rWhsoD0aHKpx+aKIP0Sf92bai1HC5iZcB1n/HCnkIMR8Bhx0gYRQySo062Y65ND4oRgcuxpLcPrcco09I1shpg==", + "dev": true + }, + "esprima-fb": { + "version": "15001.1001.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz", + "integrity": "sha512-m7OsYzocA8OQ3+9CxmhIv7NPHtyDR2ixaLCO7kLZ+YH+xQ/BpaZmll9EXmc+kBxzWA8BRBXbNEuEQqQ6vfsgDw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "redeyed": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-1.0.1.tgz", + "integrity": "sha512-8eEWsNCkV2rvwKLS1Cvp5agNjMhwRe2um+y32B2+3LqOzg4C9BBPs6vzAfV16Ivb8B9HPNKIqd8OrdBws8kNlQ==", + "dev": true, + "requires": { + "esprima": "~3.0.0" + }, + "dependencies": { + "esprima": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.0.0.tgz", + "integrity": "sha512-xoBq/MIShSydNZOkjkoCEjqod963yHNXTLC40ypBhop6yPqflPz/vTinmCfSrGcywVLnSftRf6a0kJLdFdzemw==", + "dev": true + } + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerator": { + "version": "0.8.40", + "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.40.tgz", + "integrity": "sha512-NsE91xz22nl5JsAwE5kZNmaMaK6g4HipZaGhrQJeVo8DsTwYYONx0TYEm8+7kFIODeuLNQpRsomV1CChmEY5Yg==", + "dev": true, + "requires": { + "commoner": "~0.10.3", + "defs": "~1.1.0", + "esprima-fb": "~15001.1001.0-dev-harmony-fb", + "private": "~0.1.5", + "recast": "0.10.33", + "through": "~2.3.8" + }, + "dependencies": { + "esprima-fb": { + "version": "15001.1001.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz", + "integrity": "sha512-m7OsYzocA8OQ3+9CxmhIv7NPHtyDR2ixaLCO7kLZ+YH+xQ/BpaZmll9EXmc+kBxzWA8BRBXbNEuEQqQ6vfsgDw==", + "dev": true + } + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexpp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", + "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", + "dev": true + }, + "regexpu": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexpu/-/regexpu-1.3.0.tgz", + "integrity": "sha512-OqpQCTCcVM6k9IbzxLjNN6TRj3NV7qF4L8zUqsNoeAmmIZp8wH1tdZnn0vNXE2tGNU4ho0xTZWk3FmahOtyMRA==", + "dev": true, + "requires": { + "esprima": "^2.6.0", + "recast": "^0.10.10", + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", + "dev": true + } + } + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==", + "dev": true, + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "requires": { + "rc": "^1.0.1" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "release": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/release/-/release-6.3.1.tgz", + "integrity": "sha512-CbbxhelI6eFc9lrhQh9SH2NAl7kROKkJW0LFfzk8qrAowXxBcA08YLXpzNSmuFv9rFnbcMyAUDE7aCLNO6v2GQ==", + "requires": { + "@octokit/rest": "15.2.6", + "args": "4.0.0", + "async-retry": "1.2.1", + "capitalize": "1.0.0", + "chalk": "2.4.0", + "configstore": "3.1.2", + "delay": "4.3.0", + "escape-goat": "1.3.0", + "fs-extra": "5.0.0", + "git-repo-name": "0.6.0", + "git-spawned-stream": "1.0.0", + "git-state": "4.0.0", + "git-username": "1.0.0", + "github-username": "4.1.0", + "inquirer": "5.2.0", + "node-fetch": "2.6.1", + "node-version": "1.1.3", + "opn": "5.4.0", + "ora": "2.0.0", + "random-string": "0.2.0", + "semver": "5.5.0", + "tagged-versions": "1.3.0", + "update-check": "1.3.2" + }, + "dependencies": { + "chalk": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz", + "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha512-j/Toj7f1z98Hh2cYo2BVr85EpIRWqUi7rtRSGxh/cqUjqrnJe9l9UE7IUGd2vQ2p+kSHLkSzObQPZPLUC6TQwg==" + }, + "cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==" + }, + "configstore": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==" + }, + "dot-prop": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", + "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", + "requires": { + "is-obj": "^1.0.0" + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + } + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "inquirer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", + "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.1.0", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^5.5.2", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + } + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + }, + "ora": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-2.0.0.tgz", + "integrity": "sha512-g+IR0nMUXq1k4nE3gkENbN4wkF0XsVZFyxznTF6CdmwQ9qeTGONGpSR9LM5//1l0TVvJoJF3MkMtJp6slUsWFg==", + "requires": { + "chalk": "^2.3.1", + "cli-cursor": "^2.1.0", + "cli-spinners": "^1.1.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^4.0.0", + "wcwidth": "^1.0.1" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" + }, + "rxjs": { + "version": "5.5.12", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", + "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", + "requires": { + "symbol-observable": "1.0.1" + } + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==", + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ==" + } + } + }, + "remote-origin-url": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/remote-origin-url/-/remote-origin-url-0.5.3.tgz", + "integrity": "sha512-crQ7Xk1m/F2IiwBx5oTqk/c0hjoumrEz+a36+ZoVupskQRE/q7pAwHKsTNeiZ31sbSTELvVlVv4h1W0Xo5szKg==", + "requires": { + "parse-git-config": "^1.1.1" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha512-Xct+41K3twrbBHdxAgMoOS+cNcoqIjfM2/VxBF4LL2hVph7YsF8VSKyQ3BDFZwEVbok9yeDl2le/qo0S77WG2w==", + "dev": true, + "requires": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + } + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "reselect": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", + "dev": true + }, + "resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "dev": true, + "requires": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha512-kT10v4dhrlLNcnO084hEjvXCI1wUG9qZLoz2RogxqDQQYy7IxjI/iMUkOtQTNEh6rzHxvdQWHsJyel1pKOVCxg==", + "dev": true + }, + "resolve-package-path": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-1.2.7.tgz", + "integrity": "sha512-fVEKHGeK85bGbVFuwO9o1aU0n3vqQGrezPc51JGu9UTXpFQfWq5qCeKxyaRUSvephs+06c5j5rPq/dzHGEo8+Q==", + "dev": true, + "requires": { + "path-root": "^0.1.1", + "resolve": "^1.10.0" + } + }, + "resolve-path": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz", + "integrity": "sha512-i1xevIst/Qa+nA9olDxLWnLk8YZbi8R/7JPbCMcgyWaFR6bKWaexgJgEB5oc2PKMjYdrHynyz0NY+if+H98t1w==", + "dev": true, + "requires": { + "http-errors": "~1.6.2", + "path-is-absolute": "1.0.1" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "retry": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", + "integrity": "sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ==" + }, + "reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==", + "dev": true, + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "rsvp": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", + "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", + "dev": true + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha512-Cun9QucwK6MIrp3mry/Y7hqD1oFqTYLQ4pGxaHTjIdaFDWRGGLikqp6u8LcWJnzpoALg9hap+JGk8sFIUuEGNA==", + "dev": true + }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha512-3xPNZGW93oCjiO7PtKxRK6iOVYBWBvtf9QHDfU23Oc+dLIQmAV//UnyXV/yihv81VS/UqoQPk4NegS8EFi55Hg==", + "dev": true, + "requires": { + "rx-lite": "*" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safe-json-parse": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz", + "integrity": "sha512-o0JmTu17WGUaUOHa1l0FPGXKBfijbxK6qoHzlkihsDXxzBHvJcA7zgviKR92Xs841rX9pK16unfphLq0/KqX7A==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "samsam": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz", + "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==", + "dev": true + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "sass-graph": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^13.3.2" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha512-dYE8LhncfBUar6POCxMTm0Ln+erjeczqEvCJib5/7XNkdw1FkUGgwMPY360FY0FgPWQxHWCx29Jl3oejyGLM9Q==", + "dev": true, + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha512-Y8nIfcb1s/7DcobUz1yOO1GSp7gyL+D9zLHDehT7iRESqGSxjJ448Sg7rvfgsRJCnKLdSl11uGf0s9X80cH0/A==", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true + }, + "send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "dev": true, + "requires": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "dependencies": { + "encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true + } + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + } + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "showdown": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/showdown/-/showdown-1.9.1.tgz", + "integrity": "sha512-9cGuS382HcvExtf5AHk7Cb4pAeQQ+h0eTr33V1mu+crYWV4KvWAw6el92bDrqGEk5d46Ai/fhbEUwqJ/mTCNEA==", + "dev": true, + "requires": { + "yargs": "^14.2" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "yargs": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", + "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + } + }, + "yargs-parser": { + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz", + "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + } + }, + "side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + } + }, + "side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "requires": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + } + }, + "side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "requires": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "silent-error": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/silent-error/-/silent-error-1.1.1.tgz", + "integrity": "sha512-n4iEKyNcg4v6/jpb3c0/iyH2G1nzUNl7Gpqtn/mHIJK9S/q/7MCfoO4rwVOoO59qPFIc0hVHvMbiOJ0NdtxKKw==", + "dev": true, + "requires": { + "debug": "^2.2.0" + } + }, + "simple-fmt": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/simple-fmt/-/simple-fmt-0.1.0.tgz", + "integrity": "sha512-9a3zTDDh9LXbTR37qBhACWIQ/mP/ry5xtmbE98BJM8GR02sanCkfMzp7AdCTqYhkBZggK/w7hJtc8Pb9nmo16A==", + "dev": true + }, + "simple-is": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/simple-is/-/simple-is-0.2.0.tgz", + "integrity": "sha512-GJXhv3r5vdj5tGWO+rcrWgjU2azLB+fb7Ehh3SmZpXE0o4KrrFLti0w4mdDCbR29X/z0Ls20ApjZitlpAXhAeg==", + "dev": true + }, + "sinon": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-3.3.0.tgz", + "integrity": "sha512-/flfGfIxIRXSvZBHJzIf3iAyGYkmMQq6SQjA0cx9SOuVuq+4ZPPO4LJtH1Ce0Lznax1KSG1U6Dad85wIcSW19w==", + "dev": true, + "requires": { + "build": "^0.1.4", + "diff": "^3.1.0", + "formatio": "1.2.0", + "lodash.get": "^4.4.2", + "lolex": "^2.1.2", + "native-promise-only": "^0.8.1", + "nise": "^1.0.1", + "path-to-regexp": "^1.7.0", + "samsam": "^1.1.3", + "text-encoding": "0.6.4", + "type-detect": "^4.0.0" + }, + "dependencies": { + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "path-to-regexp": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", + "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "dev": true, + "requires": { + "isarray": "0.0.1" + } + } + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0" + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "socket.io": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", + "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.6.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "dependencies": { + "debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "socket.io-adapter": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", + "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", + "dev": true, + "requires": { + "debug": "~4.3.4", + "ws": "~8.17.1" + }, + "dependencies": { + "debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "dev": true, + "requires": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "dependencies": { + "debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "sort-object-keys": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", + "integrity": "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==", + "dev": true + }, + "sort-package-json": { + "version": "1.57.0", + "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-1.57.0.tgz", + "integrity": "sha512-FYsjYn2dHTRb41wqnv+uEqCUvBpK3jZcTp9rbz2qDTmel7Pmdtf+i2rLaaPMRZeSVM60V3Se31GyWFpmKs4Q5Q==", + "dev": true, + "requires": { + "detect-indent": "^6.0.0", + "detect-newline": "3.1.0", + "git-hooks-list": "1.0.3", + "globby": "10.0.0", + "is-plain-obj": "2.1.0", + "sort-object-keys": "^1.1.3" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "^0.5.6" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "sourcemap-validator": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/sourcemap-validator/-/sourcemap-validator-1.1.1.tgz", + "integrity": "sha512-pq6y03Vs6HUaKo9bE0aLoksAcpeOo9HZd7I8pI6O480W/zxNZ9U32GfzgtPP0Pgc/K1JHna569nAbOk3X8/Qtw==", + "dev": true, + "requires": { + "jsesc": "~0.3.x", + "lodash.foreach": "^4.5.0", + "lodash.template": "^4.5.0", + "source-map": "~0.1.x" + }, + "dependencies": { + "jsesc": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.3.0.tgz", + "integrity": "sha512-UHQmAeTXV+iwEk0aHheJRqo6Or90eDxI6KIYpHSjKLXKuKlPt1CQ7tGBerFcFA8uKU5mYxiPMlckmFptd5XZzA==", + "dev": true + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "spawn-args": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/spawn-args/-/spawn-args-0.2.0.tgz", + "integrity": "sha512-73BoniQDcRWgnLAf/suKH6V5H54gd1KLzwYN9FB6J/evqTV33htH9xwV/4BHek+++jzxpVlZQKKZkqstPQPmQg==", + "dev": true + }, + "spawn-to-readstream": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/spawn-to-readstream/-/spawn-to-readstream-0.1.3.tgz", + "integrity": "sha512-Xxiqu2wU4nkLv8G+fiv9jT6HRTrz9D8Fajli9HQtqWlrgTwQ3DSs4ZztQbhN/HsVxJX5S7ynzmJ2lQiYDQSYmg==", + "requires": { + "limit-spawn": "0.0.3", + "through2": "~0.4.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" + }, + "through2": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==", + "requires": { + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" + } + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true + }, + "sri-toolbox": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/sri-toolbox/-/sri-toolbox-0.2.0.tgz", + "integrity": "sha512-DQIMWCAr/M7phwo+d3bEfXwSBEwuaJL+SJx9cuqt1Ty7K96ZFoHpYnSbhrQZEr0+0/GtmpKECP8X/R4RyeTAfw==", + "dev": true + }, + "sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "string-template": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", + "integrity": "sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "stringmap": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stringmap/-/stringmap-0.2.2.tgz", + "integrity": "sha512-mR1LEHDw6TsHa+LwJeeBc9ZqZqEOm7bHidgxMmDg8HB/rbA1HhDeT08gS67CCCG/xrgIfQx5tW42pd8vFpLUow==", + "dev": true + }, + "stringset": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/stringset/-/stringset-0.2.1.tgz", + "integrity": "sha512-km3jeiRpmySChl1oLiBE2ESdG5k/4+6tjENVL6BB3mdmKBiUikI5ks4paad2WAKsxzpNiBqBBbXCC12QqlpLWA==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + } + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" + }, + "styled_string": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/styled_string/-/styled_string-0.0.1.tgz", + "integrity": "sha512-DU2KZiB6VbPkO2tGSqQ9n96ZstUPjW7X4sGO6V2m1myIQluX0p1Ol8BrA/l6/EesqhMqXOIXs3cJNOy1UuU2BA==", + "dev": true + }, + "sum-up": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz", + "integrity": "sha512-zw5P8gnhiqokJUWRdR6F4kIIIke0+ubQSGyYUY506GCbJWtV7F6Xuy0j6S125eSX2oF+a8KdivsZ8PlVEH0Mcw==", + "dev": true, + "requires": { + "chalk": "^1.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha512-Kb3PrPYz4HanVF1LVGuAdW6LoVgIwjUYJGzFe7NDrBLCN4lsV/5J0MFurV+ygS4bRVwrCEt2c7MQ1R2a72oJDw==" + }, + "symlink-or-copy": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/symlink-or-copy/-/symlink-or-copy-1.3.1.tgz", + "integrity": "sha512-0K91MEXFpBUaywiwSSkmKjnGcasG/rVBXFLJz5DrgGabpYD6N+3yZrfD6uUIfpuTu65DZLHi7N8CizHc07BPZA==", + "dev": true + }, + "sync-disk-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/sync-disk-cache/-/sync-disk-cache-1.3.4.tgz", + "integrity": "sha512-GlkGeM81GPPEKz/lH7QUTbvqLq7K/IUTuaKDSMulP9XQ42glqNJIN/RKgSOw4y8vxL1gOVvj+W7ruEO4s36eCw==", + "dev": true, + "requires": { + "debug": "^2.1.3", + "heimdalljs": "^0.2.3", + "mkdirp": "^0.5.0", + "rimraf": "^2.2.8", + "username-sync": "^1.0.2" + } + }, + "table": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", + "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", + "dev": true, + "requires": { + "ajv": "^5.2.3", + "ajv-keywords": "^2.1.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", + "slice-ansi": "1.0.0", + "string-width": "^2.1.1" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "tagged-versions": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/tagged-versions/-/tagged-versions-1.3.0.tgz", + "integrity": "sha512-3tkBqKKQzHkBhQyNvEHTWgbvvNVS9a9omiR9nfbWlWzpOpWfgEPUu9pHwBiDHt5mXnJXKVnRKdCSeJiuZYW9oQ==", + "requires": { + "child-process-promise": "^2.1.3", + "semver": "^5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + } + } + }, + "tap-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-7.0.0.tgz", + "integrity": "sha512-05G8/LrzqOOFvZhhAk32wsGiPZ1lfUrl+iV7+OkKgfofZxiceZWMHkKmow71YsyVQ8IvGBP2EjcIjE5gL4l5lA==", + "dev": true, + "requires": { + "events-to-array": "^1.0.1", + "js-yaml": "^3.2.7", + "minipass": "^2.2.0" + } + }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, + "temp": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "testem": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/testem/-/testem-3.16.0.tgz", + "integrity": "sha512-TKQ3CuG/u+vDa7IUQgRQHN753wjDlgYMWE45KF5WkXyWjTNxXHPrY0qPBmHWI+kDYWc3zsJqzbS7pdzt5sc33A==", + "dev": true, + "requires": { + "@xmldom/xmldom": "^0.8.0", + "backbone": "^1.1.2", + "bluebird": "^3.4.6", + "charm": "^1.0.0", + "commander": "^2.6.0", + "compression": "^1.7.4", + "consolidate": "^0.16.0", + "execa": "^1.0.0", + "express": "^4.10.7", + "fireworm": "^0.7.2", + "glob": "^7.0.4", + "http-proxy": "^1.13.1", + "js-yaml": "^3.2.5", + "lodash": "^4.17.21", + "mkdirp": "^3.0.1", + "mustache": "^4.2.0", + "node-notifier": "^10.0.0", + "npmlog": "^6.0.0", + "printf": "^0.6.1", + "rimraf": "^3.0.2", + "socket.io": "^4.5.4", + "spawn-args": "^0.2.0", + "styled_string": "0.0.1", + "tap-parser": "^7.0.0", + "tmp": "0.0.33" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "text-encoding": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", + "integrity": "sha512-hJnc6Qg3dWoOMkqP53F0dzRIgtmsAge09kxUIqGrEUS4qr5rWLckGYaQAVr+opBrIMRErGgy6f5aPnyPpyGRfg==", + "dev": true + }, + "text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "textextensions": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.6.0.tgz", + "integrity": "sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==" + }, + "timespan": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz", + "integrity": "sha512-0Jq9+58T2wbOyLth0EU+AUb6JMGCLaTWIykJFa7hyAybjVH9gpVMTfUAwo5fWAvtFt2Tjh/Elg8JtgNpnMnM8g==", + "dev": true + }, + "tiny-lr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-2.0.0.tgz", + "integrity": "sha512-f6nh0VMRvhGx4KCeK1lQ/jaL0Zdb5WdR+Jk8q9OSUQnaSDxAEGH1fgqLZ+cMl5EW3F2MGnCsalBO1IsnnogW1Q==", + "dev": true, + "requires": { + "body": "^5.1.0", + "debug": "^3.1.0", + "faye-websocket": "^0.11.3", + "livereload-js": "^3.3.1", + "object-assign": "^4.1.0", + "qs": "^6.4.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "tree-sync": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tree-sync/-/tree-sync-2.1.0.tgz", + "integrity": "sha512-OLWW+Nd99NOM53aZ8ilT/YpEiOo6mXD3F4/wLbARqybSZ3Jb8IxHK5UGVbZaae0wtXAyQshVV+SeqVBik+Fbmw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "fs-tree-diff": "^2.0.1", + "mkdirp": "^0.5.5", + "quick-temp": "^0.1.5", + "walk-sync": "^0.3.3" + }, + "dependencies": { + "debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + }, + "fs-tree-diff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-2.0.1.tgz", + "integrity": "sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A==", + "dev": true, + "requires": { + "@types/symlink-or-copy": "^1.2.0", + "heimdalljs-logger": "^0.1.7", + "object-assign": "^4.1.0", + "path-posix": "^1.0.0", + "symlink-or-copy": "^1.1.8" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==", + "dev": true + }, + "triple-beam": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", + "dev": true + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "requires": { + "glob": "^7.1.2" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "try-resolve": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/try-resolve/-/try-resolve-1.0.1.tgz", + "integrity": "sha512-yHeaPjCBzVaXwWl5IMUapTaTC2rn/eBYg2fsG2L+CvJd+ttFbk0ylDnpTO3wVhosmE1tQEvcebbBeKLCwScQSQ==", + "dev": true + }, + "tryor": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/tryor/-/tryor-0.1.2.tgz", + "integrity": "sha512-2+ilNA00DGvbUYYbRrm3ux+snbo7I6uPXMw8I4p/QMl7HUOWBBZFbk+Mpr8/IAPDQE+LQ8vOdlI6xEzjc+e/BQ==", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-detect": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "dev": true + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true + }, + "uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "dev": true, + "optional": true + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==", + "dev": true, + "optional": true + }, + "underscore": { + "version": "1.13.7", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", + "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", + "dev": true + }, + "underscore.string": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.6.tgz", + "integrity": "sha512-VoC83HWXmCrF6rgkyxS9GHv8W9Q5nhMKho+OadDJGzL2oDYbYEppBaCMH6pFlwLeqj2QS+hhkw2kpXkSdD1JxQ==", + "dev": true, + "requires": { + "sprintf-js": "^1.1.1", + "util-deprecate": "^1.0.2" + } + }, + "undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + } + } + }, + "untildify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-2.1.0.tgz", + "integrity": "sha512-sJjbDp2GodvkB0FZZcn7k6afVisqX5BZD7Yq3xp4nN2O15BBK0cLm3Vwn2vQaF7UDS0UUsrQMkkplmDI5fskig==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0" + } + }, + "update-browserslist-db": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", + "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", + "dev": true, + "requires": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + } + }, + "update-check": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.3.2.tgz", + "integrity": "sha512-0iGt63gXrsU4VTw4tIGVVk14H6KLHI7ExNPuSmdDdwUrUAQTBnh1hQcRpnoBWetb3/Ab4YyXK1iDWXP7D0VHTQ==", + "requires": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "dev": true + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==", + "requires": { + "prepend-http": "^1.0.1" + } + }, + "url-template": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", + "integrity": "sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==" + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==" + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "integrity": "sha512-aggiKfEEubv3UwRNqTzLInZpAOmKzwdHqEBmW/hBA/mt99eg+b4VrX6i+IRLxU8+WJYfa33rGwRseg4eElUgsQ==", + "dev": true + }, + "username-sync": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/username-sync/-/username-sync-1.0.3.tgz", + "integrity": "sha512-m/7/FSqjJNAzF2La448c/aEom0gJy7HY7Y509h6l0ePvEkFictAGptwWaj1msWJ38JbfEDOUoE8kqFee9EHKdA==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", + "dev": true, + "requires": { + "builtins": "^1.0.3" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + } + } + }, + "walk-sync": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.3.4.tgz", + "integrity": "sha512-ttGcuHA/OBnN2pcM6johpYlEms7XpO5/fyKIr48541xXedan4roO8cS1Q2S/zbbjGH/BarYDAMeS2Mi9HE5Tig==", + "dev": true, + "requires": { + "ensure-posix-path": "^1.0.0", + "matcher-collection": "^1.0.0" + } + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "requires": { + "makeerror": "1.0.12" + } + }, + "watch-detector": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/watch-detector/-/watch-detector-1.0.2.tgz", + "integrity": "sha512-MrJK9z7kD5Gl3jHBnnBVHvr1saVGAfmkyyrvuNzV/oe0Gr1nwZTy5VSA0Gw2j2Or0Mu8HcjUa44qlBvC2Ofnpg==", + "dev": true, + "requires": { + "heimdalljs-logger": "^0.1.10", + "silent-error": "^1.1.1", + "tmp": "^0.1.0" + }, + "dependencies": { + "tmp": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", + "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", + "dev": true, + "requires": { + "rimraf": "^2.6.3" + } + } + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "requires": { + "defaults": "^1.0.3" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha512-2thx4pB0cV3h+Bw7QmMXcEbdmOzv9t0HFplJH/Lz6yu60hXYy5RT8rUu+wlIreVxWsGN20mo+MHeCSfUpQBwPw==", + "dev": true + }, + "winston": { + "version": "3.18.3", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.18.3.tgz", + "integrity": "sha512-NoBZauFNNWENgsnC9YpgyYwOVrl2m58PpQ8lNHjV3kosGs7KJ7Npk9pCUE+WJlawVSe8mykWDKWFSVfs3QO9ww==", + "dev": true, + "requires": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.8", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.7.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.9.0" + }, + "dependencies": { + "async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + } + } + }, + "winston-transport": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.9.0.tgz", + "integrity": "sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==", + "dev": true, + "requires": { + "logform": "^2.7.0", + "readable-stream": "^3.6.2", + "triple-beam": "^1.3.0" + } + }, + "word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==", + "dev": true + }, + "workerpool": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", + "dev": true + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "wrench": { + "version": "1.3.9", + "resolved": "https://registry.npmjs.org/wrench/-/wrench-1.3.9.tgz", + "integrity": "sha512-srTJQmLTP5YtW+F5zDuqjMEZqLLr/eJOZfDI5ibfPfRMeDh3oBUefAscuH0q5wBKE339ptH/S/0D18ZkfOfmKQ==", + "dev": true + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha512-CJ17OoULEKXpA5pef3qLj5AxTJ6mSt7g84he2WIskKwqFO4T97d5V7Tadl0DYDk7qyUOQD5WlUlOMChaYrhxeA==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "dev": true + }, + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yam": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yam/-/yam-1.0.0.tgz", + "integrity": "sha512-Hv9xxHtsJ9228wNhk03xnlDReUuWVvHwM4rIbjdAXYvHLs17xjuyF50N6XXFMN6N0omBaqgOok/MCK3At9fTAg==", + "dev": true, + "requires": { + "fs-extra": "^4.0.2", + "lodash.merge": "^4.6.0" + }, + "dependencies": { + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } + } +} diff --git a/javascript/package.json b/javascript/package.json index 5db5645..c9cb4c0 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -49,5 +49,8 @@ }, "engines": { "node": "^4.5 || 6.* || >= 7.*" + }, + "dependencies": { + "release": "^6.3.1" } } diff --git a/javascript/release/assets/haskell-code-explorer-3833fa061faafadebab0d8d4901516d3.css b/javascript/release/assets/haskell-code-explorer-3833fa061faafadebab0d8d4901516d3.css new file mode 100644 index 0000000..9b78a3c --- /dev/null +++ b/javascript/release/assets/haskell-code-explorer-3833fa061faafadebab0d8d4901516d3.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v4.6.2 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors + * Copyright 2011-2022 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */dd,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem}address,dl,ol,p,pre,ul{margin-bottom:1rem}.btn,img,svg{vertical-align:middle}.dropdown-menu,.tooltip,body,caption{text-align:left}.popover,.tooltip,button,select{text-transform:none}.btn:not(:disabled):not(.disabled),.carousel-indicators li,.ember-radio-button,.identifier,.show-left-panel-button:hover,[role=button],[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled),summary,td.line-number{cursor:pointer}pre,textarea{overflow:auto}article,aside,figcaption,figure,footer,header,hgroup,legend,main,nav,section{display:block}progress,sub,sup{vertical-align:baseline}button,hr,input{overflow:visible}.card,code{word-wrap:break-word}:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}.popover,.tooltip,body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}body{margin:0;font-weight:400;line-height:1.5;color:#212529;background-color:#fff}dt,kbd kbd{font-weight:700}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}blockquote,figure{margin:0 0 1rem}b,strong{font-weight:bolder}sub,sup{position:relative;font-size:75%;line-height:0}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;-ms-overflow-style:scrollbar}img{border-style:none}svg{overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label,output{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}.badge,.dropdown-header,.dropdown-item,.dropdown-toggle,.input-group-text,.navbar-brand,.progress-bar{white-space:nowrap}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}summary{display:list-item}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.blockquote,hr{margin-bottom:1rem}.display-1,.display-2,.display-3,.display-4,.lead{font-weight:300}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.close,.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem}.display-1{font-size:6rem;line-height:1.2}.display-2{font-size:5.5rem;line-height:1.2}.display-3{font-size:4.5rem;line-height:1.2}.display-4{font-size:3.5rem;line-height:1.2}.btn,.btn-link,.custom-file-label,.custom-select,.dropdown-item,.form-control,.input-group-text,.popover,.small,.tooltip,small{font-weight:400}hr{box-sizing:content-box;height:0;margin-top:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{font-size:1.25rem}.blockquote-footer{display:block;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.custom-select,.form-control{height:calc(1.5em + .75rem + 2px)}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}a>code,pre code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%}pre{display:block}pre code{font-size:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333%;max-width:8.33333%}.col-2{flex:0 0 16.66667%;max-width:16.66667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333%;max-width:33.33333%}.col-5{flex:0 0 41.66667%;max-width:41.66667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333%;max-width:58.33333%}.col-8{flex:0 0 66.66667%;max-width:66.66667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333%;max-width:83.33333%}.col-11{flex:0 0 91.66667%;max-width:91.66667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.33333%;max-width:33.33333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.66667%;max-width:16.66667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}.invalid-tooltip,.valid-tooltip{z-index:5;max-width:100%;line-height:1.5}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered,.table-responsive>.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{appearance:none}select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#28a745}.valid-tooltip{position:absolute;top:100%;left:0;display:none;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.form-check-input.is-valid~.form-check-label,.was-validated .custom-control-input:valid~.custom-control-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem)!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated select.form-control:valid,select.form-control.is-valid{padding-right:3rem!important;background-position:right 1.5rem center}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem)!important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;left:0;display:none;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.form-check-input.is-invalid~.form-check-label,.was-validated .custom-control-input:invalid~.custom-control-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem)!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated select.form-control:invalid,select.form-control.is-invalid{padding-right:3rem!important;background-position:right 1.5rem center}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem)!important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.btn.focus,.btn:focus,.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;color:#212529;text-align:center;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0}.btn-primary.focus,.btn-primary:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary.focus,.btn-primary:focus,.btn-primary:hover{background-color:#0069d9;border-color:#0062cc;color:#fff}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:hover{background-color:#5a6268;border-color:#545b62;color:#fff}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-success.focus,.btn-success:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success.focus,.btn-success:focus,.btn-success:hover{background-color:#218838;border-color:#1e7e34;color:#fff}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-info.focus,.btn-info:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info.focus,.btn-info:focus,.btn-info:hover{background-color:#138496;border-color:#117a8b;color:#fff}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-warning.focus,.btn-warning:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning.focus,.btn-warning:focus,.btn-warning:hover{background-color:#e0a800;border-color:#d39e00;color:#212529}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-danger.focus,.btn-danger:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger.focus,.btn-danger:focus,.btn-danger:hover{background-color:#c82333;border-color:#bd2130;color:#fff}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-light.focus,.btn-light:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light.focus,.btn-light:focus,.btn-light:hover{background-color:#e2e6ea;border-color:#dae0e5;color:#212529}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-dark.focus,.btn-dark:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark.focus,.btn-dark:focus,.btn-dark:hover{background-color:#23272b;border-color:#1d2124;color:#fff}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-outline-primary.focus,.btn-outline-primary:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-secondary.focus,.btn-outline-secondary:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-success.focus,.btn-outline-success:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-info.focus,.btn-outline-info:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-warning.focus,.btn-outline-warning:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-danger.focus,.btn-outline-danger:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-light.focus,.btn-outline-light:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-dark.focus,.btn-outline-dark:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.dropdown-toggle::after,.dropup .dropdown-toggle::after{vertical-align:.255em;border-right:.3em solid transparent}.btn-link{color:#007bff;text-decoration:none}.btn-link.focus,.btn-link:focus,.btn-link:hover{text-decoration:underline}.btn-link:hover{color:#0056b3}.breadcrumb-item+.breadcrumb-item:hover::before,.card-link:hover,.dropdown-item.active,.dropdown-item:active,.dropdown-item:focus,.dropdown-item:hover,.nav-link:focus,.nav-link:hover,.navbar-brand:focus,.navbar-brand:hover,.navbar-toggler:focus,.navbar-toggler:hover,.page-link:hover,a.badge:focus,a.badge:hover{text-decoration:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.width{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.width{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;margin-left:.255em;content:"";border-top:.3em solid;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;content:"";border-top:0;border-bottom:.3em solid;border-left:.3em solid transparent}.dropleft .dropdown-toggle::before,.dropright .dropdown-toggle::after{content:"";border-top:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid;vertical-align:0}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;border-right:.3em solid;border-bottom:.3em solid transparent;vertical-align:0}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropdown-menu[x-placement^=top],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;color:#212529;text-align:inherit;background-color:transparent;border:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child),.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child),.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.card>hr,.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.input-group-append,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text,.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.input-group,.nav,.navbar{flex-wrap:wrap}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:flex;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-file{display:flex;align-items:center}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-prepend{margin-right:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;line-height:1.5;color:#495057;text-align:center;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=radio],.input-group-text input[type=checkbox]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;print-color-adjust:exact}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::after,.custom-control-label::before{position:absolute;top:.25rem;display:block;width:1rem;height:1rem;content:""}.custom-control-label::before{left:-1.5rem;pointer-events:none;background-color:#fff;border:1px solid #adb5bd}.custom-control-label::after{left:-1.5rem;background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before,.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before,.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat #fff;border:1px solid #ced4da;border-radius:.25rem;appearance:none}.custom-file-input:focus~.custom-file-label,.custom-select:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus{outline:0}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label,.custom-select:disabled{background-color:#e9ecef}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file,.custom-file-input,.custom-file-label{height:calc(1.5em + .75rem + 2px)}.custom-file-label,.custom-file-label::after{padding:.375rem .75rem;line-height:1.5;color:#495057;top:0;right:0}.custom-file{position:relative;display:inline-block;width:100%;margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;margin:0;overflow:hidden;opacity:0}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;left:0;z-index:1;overflow:hidden;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;padding-left:0;margin-bottom:0;list-style:none}.nav-link,.navbar{padding:.5rem 1rem}.nav-link{display:block}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background-color:transparent;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;align-items:center;justify-content:space-between}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.list-group-horizontal,.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.alert,.btn .badge,.card,.list-group-item,.page-link{position:relative}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.card,.progress-bar{flex-direction:column}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{display:flex;min-width:0;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-footer,.card-header{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03)}.card-title{margin-bottom:.75rem}.card-header,.card-subtitle,.card-text:last-child{margin-bottom:0}.card-subtitle{margin-top:-.375rem}.card-link+.card-link{margin-left:1.25rem}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-header{border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.card-columns .card,.toast:not(:last-child){margin-bottom:.75rem}.accordion{overflow-anchor:none}.accordion>.card,.modal-open,.progress,.progress-bar{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb,.pagination{border-radius:.25rem;display:flex;list-style:none}.breadcrumb{flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;background-color:#e9ecef}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item.active{color:#6c757d}.pagination{padding-left:0}.page-link{display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.badge,.close{font-weight:700;line-height:1}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge,.list-group,.progress{border-radius:.25rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;text-align:center;vertical-align:baseline;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}.badge:empty{display:none}.btn .badge{top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;line-height:0;font-size:.75rem;background-color:#e9ecef}.progress-bar{display:flex;justify-content:center;color:#fff;text-align:center;background-color:#007bff;transition:width .6s ease}.popover,.tooltip{font-style:normal;letter-spacing:normal;white-space:normal;word-spacing:normal;line-break:auto;text-decoration:none;word-wrap:break-word}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close,.close:hover,button{color:#000}.close{float:right;text-shadow:0 1px 0 #fff;opacity:.5}.popover,.toast,.tooltip{font-size:.875rem}.close:hover{text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}.toast,.toast-header{background-color:rgba(255,255,255,.85);background-clip:padding-box}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;max-width:350px;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;line-height:1.5;text-align:start;text-shadow:none;word-break:normal;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;line-height:1.5;text-align:left;text-align:start;text-shadow:none;word-break:normal;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.carousel,.carousel-inner,.carousel-item{position:relative}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.spinner-border,.spinner-grow{display:inline-block;vertical-align:-.125em}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{width:2rem;height:2rem;border:.25em solid currentcolor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{width:2rem;height:2rem;background-color:currentcolor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}.spinner-border,.spinner-grow{animation-duration:1.5s}}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-left,.rounded-top{border-top-left-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded{border-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.85714%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}.user-select-all{user-select:all!important}.user-select-auto{user-select:auto!important}.user-select-none{user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.fixed-bottom,.fixed-top{position:fixed;z-index:1030;right:0;left:0}.fixed-top{top:0}.fixed-bottom{bottom:0}@supports (position:sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.bottom-panel-header-content,.header-item,.package-header-filename,.text-truncate{white-space:nowrap}.text-truncate{overflow:hidden;text-overflow:ellipsis}.right-panel,ul.modules{bottom:0;overflow-x:auto}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}body{font-size:14px}a,a:active,a:focus,a:hover,a:visited{outline:0}a.selected{text-decoration:underline}input:focus{outline:0}p{margin-top:1rem}label{margin-bottom:0}ol,ul{list-style:none;padding:0}li{list-style:none}.documentation{margin-top:10px}.documentation li{list-style:disc}.documentation ol,.documentation ul{padding-left:15px}.flex-container{display:flex;flex-direction:column;height:100%;width:100%}.absolute-container{position:absolute;top:0;bottom:0;left:0;right:0}.header{flex:none;padding:5px}.header img{float:left}.header-item{display:inline-block;margin-top:5px;font-size:1rem;margin-right:40px}.global-identifier-search-form,.package-search-form{margin-top:20px;max-width:500px}@media screen and (max-width:700px){.header-item{margin-right:10px;margin-left:10px}}.content{flex:auto;position:relative;overflow:auto}.packages{flex:auto;overflow-y:auto}.packages li{margin-bottom:5px}.packages a{margin-right:5px}.package-content{flex:auto;position:relative}.package-header{padding:5px}.package-header-input{display:inline-block;margin-right:10px}.package-modules{margin-left:10px}.module-name{font-size:.7rem}.package-search-form{margin-bottom:10px}.package-header-filename{margin-left:35px}.package-header-package-name{margin-right:10px;font-size:17px}.module-search-input{max-width:500px;margin:5px}ul.modules{position:absolute;top:50px;margin:0;padding-left:15px;left:0;right:0;display:flex;flex-direction:column;flex-wrap:wrap}ul.modules li{margin-right:10px}.left-panel{position:absolute;bottom:0;top:0;left:0;width:300px}.show-left-panel-button{position:absolute;top:0;right:-20px;z-index:2;width:20px;height:20px;text-align:center;vertical-align:middle;opacity:.6;display:none}.show-left-panel-button a{text-decoration:none}.show-left-panel-button:hover{opacity:1}.hide-file-tree{position:relative;top:8px;left:3px}.hide-declarations{margin:7px}.right-panel{position:absolute;top:0;right:0;left:300px;overflow-y:auto}.file-tree-container{overflow-x:hidden;overflow-y:auto;position:absolute;bottom:0;top:0;left:0;right:0}.bottom-panel,.bottom-panel-content,.file-container{position:absolute;right:0;overflow-x:auto;overflow-y:auto;bottom:0;left:0}.file-container{top:0}.bottom-panel{display:none;z-index:4}.bottom-panel-header{position:absolute;top:0;right:0;left:0;height:35px;padding:5px}.bottom-panel-content{top:35px}.bottom-panel-header-options{float:right}.source-code,code,pre{white-space:pre;line-height:1.25}.highlighted-identifier{border-radius:3px;box-shadow:0 0 0 1px #B4B4B4}td.line-number{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:1%;min-width:60px;text-align:left;padding-left:10px;opacity:.8}td.line-number:hover{opacity:1}td.line-content{padding-left:5px}.source-code{font-family:Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;tab-size:4}.break-word{word-wrap:break-word}code,pre{font-family:Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif!important;font-size:100%;color:unset}.source-code-font{font-family:Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;line-height:1.25}.source-code-snippet{padding:4px;text-decoration:none!important;display:block}.source-code-snippet>b{border-radius:3px;border:1px solid #B4B4B4;margin:-1px}.declarations div,.info-window-header,.source-code-container{margin:5px}.source-code-snippet:hover{text-decoration:none}.declarations{position:fixed;top:150px;right:15px;width:450px;z-index:1}.declarations-header{opacity:.9;height:50px}.declarations-content{opacity:.9;position:absolute;top:50px;left:0;right:0;max-height:500px;overflow-y:auto;overflow-x:hidden}@media screen and (max-width:1500px){.declarations{display:none}}.info-window-container{position:absolute;width:750px;z-index:10}.info-window-header{width:100%;cursor:move;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}.info-window-content{max-height:200px;overflow-x:auto;overflow-y:auto}.info-window-options{margin-right:10px;margin-left:10px;float:right}.ui-draggable-dragging .info-window-header{cursor:grabbing;cursor:-moz-grabbing;cursor:-webkit-grabbing}span.link{cursor:pointer;white-space:nowrap}span.link:hover{text-decoration:underline}.ui-resizable-n{height:13px!important}.ui-resizable-w{width:13px!important}.type-info{padding-top:5px;padding-bottom:5px}.type-component{display:inline-block}dd{margin-left:1em}.autocomplete-container{position:absolute;z-index:10;display:none;left:0}ul.autocomplete-items li{cursor:pointer;max-height:200px;overflow:hidden}.autocomplete-item{padding:5px}.file-tree-header{position:absolute;top:0;left:0;right:0;height:65px;margin:5px}.file-tree-content{position:absolute;top:70px;left:0;right:0;bottom:0;overflow-x:auto}.paginated-list-header{position:absolute;top:0;left:0;right:0;height:40px;padding:5px;white-space:nowrap}.paginated-list-content{position:absolute;top:40px;bottom:0;left:0;right:0;overflow:auto}.pagination-button{font-size:10px}.search-results-header{position:absolute;top:0;left:0;right:0;height:35px;padding:5px;white-space:nowrap}.search-results-content{position:absolute;top:35px;bottom:0;left:0;right:0}.global-search-results-content{position:absolute;top:80px;bottom:0;left:0;right:0}.references,.references-packages{position:absolute;top:0;bottom:0}.search-result{padding:5px}.expression{margin-bottom:15px}.expressions,.identifier-info{margin:5px}.file-name{margin-left:5px}.identifier-module{margin-top:10px}.identifier-menu-item{margin-right:10px}.references-packages{width:230px;overflow:auto;padding:5px}.references{left:230px;right:0} \ No newline at end of file diff --git a/javascript/release/assets/haskell-code-explorer-3325784c864ca6662b97be678eeea861.js b/javascript/release/assets/haskell-code-explorer-470eee8a7194bbaf0c429fc96db08c30.js similarity index 69% rename from javascript/release/assets/haskell-code-explorer-3325784c864ca6662b97be678eeea861.js rename to javascript/release/assets/haskell-code-explorer-470eee8a7194bbaf0c429fc96db08c30.js index d66565a..ca25fb9 100644 --- a/javascript/release/assets/haskell-code-explorer-3325784c864ca6662b97be678eeea861.js +++ b/javascript/release/assets/haskell-code-explorer-470eee8a7194bbaf0c429fc96db08c30.js @@ -132,11 +132,9 @@ return"currentPackage"===this.get("searchMode")?function(t){return n.urls.identi if(e){var n=new RegExp(e,"i") return t.filter(function(e){return-1!=e.search(n)})}return t})})}),define("haskell-code-explorer/controllers/package/search",["exports","haskell-code-explorer/utils/go-to-definition"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({store:Ember.inject.service("store"),actions:{goToDefinition:function(e,n){return(0,t.goToDefinition)(this.get("store"),e,n.which,null),!1}}})}),define("haskell-code-explorer/controllers/package/show/file",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({settings:Ember.inject.service("settings"),actions:{findReferences:function(e,t,n,o){this.send("updateReferences",e,t,n,o)}}})}),define("haskell-code-explorer/controllers/packages",["exports","haskell-code-explorer/utils/go-to-definition"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({store:Ember.inject.service("store"),queryObserver:Ember.observer("query",function(){var e=this Ember.run.debounce(this,function(){var t=new RegExp(e.get("query"),"i"),n=e.get("model").filter(function(e){return-1!=e.name.search(t)}) -Ember.run.next(function(){e.set("packages",n)})},300)}),actions:{searchIdentifier:function(e){e&&(document.title="Haskell code explorer",this.transitionToRoute("search",e))},showIdentifier:function(e){return(0,t.goToDefinition)(this.get("store"),e.locationInfo,1,null),!1}}})}),define("haskell-code-explorer/controllers/search",["exports","haskell-code-explorer/utils/go-to-definition"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({store:Ember.inject.service("store"),actions:{goToDefinition:function(e,n){return(0,t.goToDefinition)(this.get("store"),e,n.which,null),!1},searchIdentifier:function(e){e&&(document.title="Haskell code explorer",this.transitionToRoute("search",e))},showIdentifier:function(e){return(0,t.goToDefinition)(this.get("store"),e.locationInfo,1,null),!1}}})}),define("haskell-code-explorer/helpers/and",["exports","ember-truth-helpers/helpers/and"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"and",{enumerable:!0,get:function(){return t.and}})}),define("haskell-code-explorer/helpers/app-version",["exports","haskell-code-explorer/config/environment","ember-cli-app-version/utils/regexp"],function(e,t,n){function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{} -return t.hideSha?s.match(n.versionRegExp)[0]:t.hideVersion?s.match(n.shaRegExp)[0]:s}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=o -var s=t.default.APP.version -e.default=Ember.Helper.helper(o)}),define("haskell-code-explorer/helpers/eq",["exports","ember-truth-helpers/helpers/equal"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"equal",{enumerable:!0,get:function(){return t.equal}})}) -define("haskell-code-explorer/helpers/gt",["exports","ember-truth-helpers/helpers/gt"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"gt",{enumerable:!0,get:function(){return t.gt}})}),define("haskell-code-explorer/helpers/gte",["exports","ember-truth-helpers/helpers/gte"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"gte",{enumerable:!0,get:function(){return t.gte}})}),define("haskell-code-explorer/helpers/is-array",["exports","ember-truth-helpers/helpers/is-array"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"isArray",{enumerable:!0,get:function(){return t.isArray}})}),define("haskell-code-explorer/helpers/is-equal",["exports","ember-truth-helpers/helpers/is-equal"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"isEqual",{enumerable:!0,get:function(){return t.isEqual}})}),define("haskell-code-explorer/helpers/lt",["exports","ember-truth-helpers/helpers/lt"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"lt",{enumerable:!0,get:function(){return t.lt}})}),define("haskell-code-explorer/helpers/lte",["exports","ember-truth-helpers/helpers/lte"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"lte",{enumerable:!0,get:function(){return t.lte}})}),define("haskell-code-explorer/helpers/not-eq",["exports","ember-truth-helpers/helpers/not-equal"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"notEq",{enumerable:!0,get:function(){return t.notEq}})}),define("haskell-code-explorer/helpers/not",["exports","ember-truth-helpers/helpers/not"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"not",{enumerable:!0,get:function(){return t.not}})}),define("haskell-code-explorer/helpers/or",["exports","ember-truth-helpers/helpers/or"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"or",{enumerable:!0,get:function(){return t.or}})}),define("haskell-code-explorer/helpers/xor",["exports","ember-truth-helpers/helpers/xor"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"xor",{enumerable:!0,get:function(){return t.xor}})}),define("haskell-code-explorer/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","haskell-code-explorer/config/environment"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}) +Ember.run.next(function(){e.set("packages",n)})},300)}),actions:{searchIdentifier:function(e){e&&(document.title="Haskell code explorer",this.transitionToRoute("search",e))},showIdentifier:function(e){return(0,t.goToDefinition)(this.get("store"),e.locationInfo,1,null),!1}}})}),define("haskell-code-explorer/controllers/search",["exports","haskell-code-explorer/utils/go-to-definition"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({store:Ember.inject.service("store"),actions:{goToDefinition:function(e,n){return(0,t.goToDefinition)(this.get("store"),e,n.which,null),!1},searchIdentifier:function(e){e&&(document.title="Haskell code explorer",this.transitionToRoute("search",e))},showIdentifier:function(e){return(0,t.goToDefinition)(this.get("store"),e.locationInfo,1,null),!1}}})}),define("haskell-code-explorer/helpers/and",["exports","ember-truth-helpers/helpers/and"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"and",{enumerable:!0,get:function(){return t.and}})}),define("haskell-code-explorer/helpers/app-version",["exports","haskell-code-explorer/config/environment","ember-cli-app-version/utils/regexp"],function(e,t,n){function o(e){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=t.default.APP.version,l=o.versionOnly||o.hideSha,i=o.shaOnly||o.hideVersion,r=null +return l&&(o.showExtended&&(r=s.match(n.versionExtendedRegExp)),r||(r=s.match(n.versionRegExp))),i&&(r=s.match(n.shaRegExp)),r?r[0]:s}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=o,e.default=Ember.Helper.helper(o)}),define("haskell-code-explorer/helpers/eq",["exports","ember-truth-helpers/helpers/equal"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"equal",{enumerable:!0,get:function(){return t.equal}})}) +define("haskell-code-explorer/helpers/gt",["exports","ember-truth-helpers/helpers/gt"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"gt",{enumerable:!0,get:function(){return t.gt}})}),define("haskell-code-explorer/helpers/gte",["exports","ember-truth-helpers/helpers/gte"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"gte",{enumerable:!0,get:function(){return t.gte}})}),define("haskell-code-explorer/helpers/is-array",["exports","ember-truth-helpers/helpers/is-array"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"isArray",{enumerable:!0,get:function(){return t.isArray}})}),define("haskell-code-explorer/helpers/is-empty",["exports","ember-truth-helpers/helpers/is-empty"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("haskell-code-explorer/helpers/is-equal",["exports","ember-truth-helpers/helpers/is-equal"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"isEqual",{enumerable:!0,get:function(){return t.isEqual}})}),define("haskell-code-explorer/helpers/lt",["exports","ember-truth-helpers/helpers/lt"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"lt",{enumerable:!0,get:function(){return t.lt}})}),define("haskell-code-explorer/helpers/lte",["exports","ember-truth-helpers/helpers/lte"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"lte",{enumerable:!0,get:function(){return t.lte}})}),define("haskell-code-explorer/helpers/not-eq",["exports","ember-truth-helpers/helpers/not-equal"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"notEq",{enumerable:!0,get:function(){return t.notEq}})}),define("haskell-code-explorer/helpers/not",["exports","ember-truth-helpers/helpers/not"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"not",{enumerable:!0,get:function(){return t.not}})}),define("haskell-code-explorer/helpers/or",["exports","ember-truth-helpers/helpers/or"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"or",{enumerable:!0,get:function(){return t.or}})}),define("haskell-code-explorer/helpers/xor",["exports","ember-truth-helpers/helpers/xor"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"xor",{enumerable:!0,get:function(){return t.xor}})}),define("haskell-code-explorer/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","haskell-code-explorer/config/environment"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}) var o=void 0,s=void 0 n.default.APP&&(o=n.default.APP.name,s=n.default.APP.version),e.default={name:"App Version",initialize:(0,t.default)(o,s)}}),define("haskell-code-explorer/initializers/container-debug-adapter",["exports","ember-resolver/resolvers/classic/container-debug-adapter"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"container-debug-adapter",initialize:function(){var e=arguments[1]||arguments[0] e.register("container-debug-adapter:main",t.default),e.inject("container-debug-adapter:main","namespace","application:main")}}}),define("haskell-code-explorer/initializers/export-application-global",["exports","haskell-code-explorer/config/environment"],function(e,t){function n(){var e=arguments[1]||arguments[0] @@ -183,8 +181,9 @@ var s=t.urls.globalReferencesUrl(e) return Ember.$.getJSON(s).then(function(t){return n.globalReferences[e]=t,t})},loadHoogleDocs:function(e,n,o,s){var l=this,i=e+"/"+n+"/"+o+"/"+s,r=this.hoogleDocs[i] if(r)return new Ember.RSVP.Promise(function(e){e(r)}) var a=t.urls.hoogleDocsUrl(e,n,o,s) -return Ember.$.getJSON(a).then(function(e){return l.hoogleDocs[i]=e,e})}})}),define("haskell-code-explorer/templates/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"VFOlgxX7",block:'{"symbols":["theme"],"statements":[[6,"div"],[10,"class","absolute-container"],[8],[0,"\\n "],[6,"div"],[10,"class","flex-container"],[8],[0,"\\n "],[6,"div"],[10,"class","header"],[8],[0,"\\n "],[6,"img"],[10,"src","/assets/haskell.ico"],[8],[9],[0,"\\n "],[6,"div"],[10,"class","container"],[8],[0,"\\n "],[6,"span"],[10,"class","header-item"],[8],[4,"link-to",["packages"],null,{"statements":[[0,"Haskell packages"]],"parameters":[]},null],[9],[0,"\\n "],[6,"span"],[10,"class","header-item"],[8],[6,"a"],[10,"target","_blank"],[10,"href","https://github.com/alexwl/haskell-code-explorer"],[8],[0,"About"],[9],[9],[0,"\\n "],[6,"span"],[10,"class","header-item"],[8],[0,"\\n"],[4,"each",[[22,["themes"]]],null,{"statements":[[4,"radio-button",null,[["value","groupValue","changed"],[[21,1,["id"]],[22,["currentTheme"]],"themeChanged"]],{"statements":[[0," "],[6,"span"],[8],[1,[21,1,["name"]],false],[9],[0,"\\n"]],"parameters":[]},null]],"parameters":[1]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[10,"class","content"],[8],[0,"\\n "],[6,"div"],[10,"class","absolute-container"],[8],[0,"\\n "],[1,[20,"outlet"],false],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/application.hbs"}})}),define("haskell-code-explorer/templates/bad-url",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"5j5yigKR",block:'{"symbols":[],"statements":[[6,"div"],[10,"class","container"],[8],[0,"\\n "],[6,"div"],[10,"style","margin-top:10px"],[8],[0,"\\n "],[6,"h1"],[8],[0,"Not found"],[9],[0,"\\n "],[6,"div"],[8],[6,"a"],[10,"href","/"],[8],[0,"Main page"],[9],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/bad-url.hbs"}})}),define("haskell-code-explorer/templates/components/bottom-panel",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"npSIWyPX",block:'{"symbols":["&default"],"statements":[[6,"div"],[10,"class","bottom-panel-header"],[8],[0,"\\n "],[6,"span"],[10,"class","bottom-panel-header-content"],[8],[13,1,["header"]],[9],[0,"\\n "],[6,"span"],[10,"class","bottom-panel-header-options"],[8],[0,"\\n "],[6,"a"],[10,"href","#"],[3,"action",[[21,0,[]],"close"]],[8],[0,"Close"],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"],[6,"div"],[10,"class","bottom-panel-content"],[8],[0,"\\n "],[13,1,["body"]],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/bottom-panel.hbs"}})}),define("haskell-code-explorer/templates/components/expression-info",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"3orLnFsH",block:'{"symbols":["expression"],"statements":[[6,"div"],[10,"class","expressions"],[8],[0,"\\n"],[4,"each",[[22,["expressions"]]],null,{"statements":[[0," "],[6,"div"],[10,"class","expression"],[8],[0,"\\n "],[6,"span"],[10,"class","source-code"],[8],[1,[21,1,["sourceCode"]],false],[9],[0,"\\n "],[6,"br"],[8],[9],[0,":: "],[1,[26,"type-signature",null,[["type","identifiers","currentLineNumber"],[[21,1,["info","exprType"]],[22,["identifiers"]],[22,["currentLineNumber"]]]]],false],[0,"\\n "],[9],[0,"\\n"]],"parameters":[1]},null],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/expression-info.hbs"}})}),define("haskell-code-explorer/templates/components/file-tree",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"dsx0INhr",block:'{"symbols":[],"statements":[[6,"div"],[10,"class","file-tree-header"],[8],[0,"\\n "],[6,"div"],[10,"class","input-group"],[8],[0,"\\n "],[1,[26,"input",null,[["class","value","placeholder"],["form-control",[22,["query"]],"Filename"]]],false],[6,"a"],[10,"class","hide-file-tree"],[10,"href","#"],[3,"action",[[21,0,[]],"hide"]],[8],[0,"Hide"],[9],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[8],[0,"\\n"],[4,"radio-button",null,[["value","groupValue"],["alphabetical",[22,["sortType"]]]],{"statements":[[0," "],[6,"span"],[8],[0,"Sort by name"],[9],[0,"\\n"]],"parameters":[]},null],[4,"radio-button",null,[["value","groupValue"],["type",[22,["sortType"]]]],{"statements":[[0," "],[6,"span"],[8],[0,"Sort by type"],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n"],[9],[0,"\\n"],[6,"div"],[10,"class","file-tree-content"],[8],[0,"\\n "],[6,"div"],[10,"class","file-tree"],[8],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/file-tree.hbs"}})}),define("haskell-code-explorer/templates/components/haskell-module",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"olqhNo84",block:'{"symbols":["section","declaration"],"statements":[[6,"div"],[10,"class","source-code-container"],[8],[9],[0,"\\n"],[4,"if",[[22,["declarations"]]],null,{"statements":[[0," "],[6,"div"],[10,"class","declarations"],[8],[0,"\\n "],[6,"div"],[10,"class","declarations-header"],[8],[0,"\\n "],[6,"div"],[10,"class","input-group"],[8],[0,"\\n "],[1,[26,"input",null,[["class","value","placeholder"],["form-control",[22,["query"]],"Identifier"]]],false],[6,"a"],[10,"class","hide-declarations"],[10,"href","#"],[3,"action",[[21,0,[]],"toggleShowDeclarations"]],[8],[1,[20,"showDeclarationsLabel"],false],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"],[4,"if",[[22,["showDeclarations"]]],null,{"statements":[[0," "],[6,"div"],[10,"id","declarations-content"],[10,"class","declarations-content"],[8],[0,"\\n "],[6,"ul"],[8],[0,"\\n"],[4,"infinite-list",null,[["containerElementId","elements","perPage"],["declarations-content",[22,["filteredDeclarations"]],30]],{"statements":[[0," "],[6,"li"],[10,"class","declaration"],[8],[0,"\\n "],[6,"div"],[10,"class","declaration"],[8],[0,"\\n "],[6,"a"],[10,"href","#"],[3,"action",[[21,0,[]],"goToLine",[21,2,["lineNumber"]]]],[8],[6,"span"],[10,"class","source-code-font"],[8],[1,[21,2,["name"]],false],[4,"if",[[21,2,["declType"]]],null,{"statements":[[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,2,["declType","components"]]]]],false]],"parameters":[]},null],[9],[0,"\\n "],[9],[6,"span"],[8],[4,"unless",[[21,2,["isExported"]]],null,{"statements":[[6,"i"],[8],[0,"(not exported)"],[9]],"parameters":[]},null],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[2]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n"]],"parameters":[]},null],[4,"info-window",null,[["targetElement","isHoveredOverIdentifier","hasSelectedExpression","containerElementId"],[[22,["selectedIdentifier"]],[22,["isHoveredOverIdentifier"]],[22,["hasSelectedExpression"]],"right-panel"]],{"statements":[[4,"if",[[26,"eq",[[21,1,[]],"header"],null]],null,{"statements":[[4,"if",[[22,["hasSelectedExpression"]]],null,{"statements":[[0," "],[6,"div"],[8],[0,"Selected expressions"],[9],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[26,"identifier-name",null,[["identifierInfo","identifierOccurrence","identifierElement","currentPackageId","isBinder","currentLineNumber","findReferences"],[[22,["identifierInfo"]],[22,["identifierOccurrence"]],[22,["selectedIdentifier"]],[22,["packageId"]],[22,["identifierOccurrence","isBinder"]],[22,["currentLineNumber"]],[22,["findReferences"]]]]],false],[0,"\\n"]],"parameters":[]}]],"parameters":[]},{"statements":[[4,"unless",[[22,["hasSelectedExpression"]]],null,{"statements":[[0," "],[1,[26,"identifier-info",null,[["identifierInfo","identifierOccurrence","identifiers","currentLineNumber"],[[22,["identifierInfo"]],[22,["identifierOccurrence"]],[22,["identifiers"]],[22,["currentLineNumber"]]]]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[26,"expression-info",null,[["expressions","identifiers","currentLineNumber"],[[22,["expressions"]],[22,["identifiers"]],[22,["currentLineNumber"]]]]],false],[0,"\\n"]],"parameters":[]}]],"parameters":[]}]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/haskell-module.hbs"}})}) -define("haskell-code-explorer/templates/components/identifier-info",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"zMkGyYS+",block:'{"symbols":[],"statements":[[4,"if",[[26,"or",[[22,["identifierInfo"]],[22,["identifierOccurrence","idOccType"]]],null]],null,{"statements":[[0," "],[6,"div"],[10,"class","identifier-info"],[8],[0,"\\n"],[4,"if",[[22,["identifierInfo"]]],null,{"statements":[[4,"if",[[22,["isNaughtyRecSel"]]],null,{"statements":[[0," "],[6,"i"],[8],[0,"This record selector can never be called because its type mentions a type variable that isn\'t in the result type of the constructor"],[9],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[26,"type-signature",null,[["type","identifiers","currentLineNumber"],[[22,["identifierInfo","idType"]],[22,["identifiers"]],[22,["currentLineNumber"]]]]],false],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null],[4,"if",[[26,"and",[[22,["identifierInfo"]],[22,["identifierOccurrence"]],[22,["identifierOccurrence","idOccType"]]],null]],null,{"statements":[[0," "],[6,"div"],[10,"style","height:10px"],[8],[9],[0,"\\n"]],"parameters":[]},null],[4,"if",[[26,"and",[[22,["identifierOccurrence"]],[22,["identifierOccurrence","idOccType"]]],null]],null,{"statements":[[0," "],[1,[26,"type-signature",null,[["type","identifiers","currentLineNumber"],[[22,["identifierOccurrence","idOccType"]],[22,["identifiers"]],[22,["currentLineNumber"]]]]],false],[0,"\\n"]],"parameters":[]},null],[0," "],[6,"div"],[10,"class","documentation"],[8],[0,"\\n "],[1,[22,["identifierInfo","doc"]],true],[0,"\\n "],[1,[20,"downloadedDocumentation"],true],[0,"\\n "],[9],[0,"\\n"],[4,"if",[[22,["identifierOccurrence","instanceResolution"]]],null,{"statements":[[0," "],[6,"div"],[10,"style","height:10px"],[8],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[6,"div"],[8],[0,"\\n"],[4,"if",[[22,["identifierOccurrence","instanceResolution"]]],null,{"statements":[[0," "],[1,[26,"instance-info",null,[["instance","identifiers","nestedLevel","currentLineNumber"],[[22,["identifierOccurrence","instanceResolution"]],[22,["identifiers"]],0,[22,["currentLineNumber"]]]]],false],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/identifier-info.hbs"}})}),define("haskell-code-explorer/templates/components/identifier-name",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"poprRbXj",block:'{"symbols":[],"statements":[[6,"div"],[8],[0,"\\n "],[6,"span"],[10,"class","source-code-font break-word identifier-menu-item"],[11,"style",[20,"style"]],[8],[4,"if",[[22,["identifierInfo","demangledOccName"]]],null,{"statements":[[1,[22,["identifierInfo","demangledOccName"]],false]],"parameters":[]},{"statements":[[1,[20,"name"],false]],"parameters":[]}],[9],[0,"\\n"],[4,"unless",[[22,["isBinder"]]],null,{"statements":[[4,"if",[[22,["location"]]],null,{"statements":[[0," "],[6,"span"],[10,"class","identifier-menu-item"],[8],[1,[20,"location"],false],[9],[0,"\\n "],[6,"span"],[10,"class","link identifier-menu-item"],[11,"onmouseup",[26,"action",[[21,0,[]],"goToDefinition"],null]],[8],[0,"Go to definition"],[9],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null],[4,"if",[[22,["isExternalIdentifier"]]],null,{"statements":[[0," "],[6,"span"],[10,"class","link identifier-menu-item"],[11,"onmouseup",[26,"action",[[21,0,[]],"findReferences",[22,["identifierInfo"]],[22,["currentPackageId"]]],null]],[8],[0,"Find references"],[9],[0,"\\n"]],"parameters":[]},null],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/identifier-name.hbs"}})}),define("haskell-code-explorer/templates/components/infinite-list",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"AVFRMQuE",block:'{"symbols":["element","&default"],"statements":[[4,"each",[[22,["renderedElements"]]],null,{"statements":[[0," "],[13,2,[[21,1,[]]]],[0,"\\n"]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/infinite-list.hbs"}})}),define("haskell-code-explorer/templates/components/info-window",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"Xi4+uOqU",block:'{"symbols":["&default"],"statements":[[6,"div"],[10,"class","info-window"],[8],[0,"\\n "],[6,"div"],[10,"class","info-window-header"],[8],[0,"\\n "],[6,"div"],[10,"class","info-window-options"],[8],[0,"\\n "],[6,"a"],[10,"href","#"],[3,"action",[[21,0,[]],"pin"]],[8],[4,"if",[[22,["isPinned"]]],null,{"statements":[[0,"Unpin"]],"parameters":[]},{"statements":[[0,"Pin"]],"parameters":[]}],[9],[0,"\\n "],[6,"a"],[10,"href","#"],[3,"action",[[21,0,[]],"close"]],[8],[0,"Close"],[9],[0,"\\n "],[9],[0,"\\n "],[13,1,["header"]],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[10,"class","info-window-content"],[8],[0,"\\n "],[13,1,["body"]],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/info-window.hbs"}})}),define("haskell-code-explorer/templates/components/input-with-autocomplete",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"asEzRTQH",block:'{"symbols":["item","index","&default"],"statements":[[6,"div"],[10,"class","input-group"],[8],[0,"\\n "],[1,[26,"input",null,[["class","value","placeholder"],["form-control search-input",[22,["query"]],[22,["placeholder"]]]]],false],[0,"\\n "],[6,"div"],[10,"class","autocomplete-container"],[8],[0,"\\n"],[4,"if",[[22,["items"]]],null,{"statements":[[0," "],[6,"ul"],[10,"class","autocomplete-items"],[8],[0,"\\n"],[4,"each",[[22,["items"]]],null,{"statements":[[0," "],[6,"li"],[11,"class",[27,[[26,"if",[[26,"eq",[[21,2,[]],[22,["highlightedItemIndex"]]],null],"highlighted"],null]]]],[11,"onclick",[26,"action",[[21,0,[]],"goToDefinition",[21,1,[]]],null]],[8],[0,"\\n "],[6,"div"],[10,"class","autocomplete-item"],[8],[0,"\\n "],[13,3,[[21,1,[]]]],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[1,2]},null],[0," "],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n "],[6,"div"],[10,"class","input-group-append"],[8],[0,"\\n "],[6,"button"],[10,"id","search-input"],[10,"class","btn btn-outline-secondary"],[3,"action",[[21,0,[]],"onSubmit",[22,["query"]]]],[8],[1,[20,"searchButtonText"],false],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/input-with-autocomplete.hbs"}})}),define("haskell-code-explorer/templates/components/instance-info",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"uCPSf7BD",block:'{"symbols":["inst"],"statements":[[4,"if",[[22,["instance"]]],null,{"statements":[[0," "],[6,"div"],[11,"style",[20,"style"]],[8],[0,"\\n "],[6,"span"],[10,"class","source-code-font"],[8],[0,"\\n instance "],[1,[26,"type-signature",null,[["type","identifiers","currentLineNumber","noExpand"],[[22,["instance","instanceType"]],[22,["identifiers"]],[22,["currentLineNumber"]],true]]],false],[9],[0,"\\n ("],[6,"span"],[10,"class","link"],[11,"onclick",[26,"action",[[21,0,[]],"goToDefinition"],null]],[8],[0,"Go to definition"],[9],[0,")\\n"],[4,"each",[[22,["instance","instances"]]],null,{"statements":[[0," "],[1,[26,"instance-info",null,[["instance","identifiers","nestedLevel","currentLineNumber"],[[21,1,[]],[22,["identifiers"]],[22,["nextNestedLevel"]],[22,["currentLineNumber"]]]]],false],[0,"\\n"]],"parameters":[1]},null],[0," "],[9],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/instance-info.hbs"}})}),define("haskell-code-explorer/templates/components/paginated-list",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"RRShkwZE",block:'{"symbols":["&default"],"statements":[[6,"div"],[10,"class","paginated-list-header"],[8],[0,"\\n "],[6,"span"],[8],[0,"Found "],[1,[20,"total"],false],[0," "],[1,[20,"foundWhere"],true],[9],[0,"\\n"],[4,"if",[[26,"or",[[22,["next"]],[22,["prev"]]],null]],null,{"statements":[[0,"  \\n  \\n "],[6,"span"],[8],[0,"\\n "],[4,"if",[[22,["first"]]],null,{"statements":[[6,"button"],[10,"class","btn btn-outline-secondary btn-sm"],[3,"action",[[21,0,[]],"update",[22,["first","href"]]]],[8],[0,"<<"],[9]],"parameters":[]},null],[0,"\\n "],[4,"if",[[22,["prev"]]],null,{"statements":[[6,"button"],[10,"button",""],[10,"class","btn btn-outline-secondary btn-sm"],[3,"action",[[21,0,[]],"update",[22,["prev","href"]]]],[8],[0,"<"],[9]],"parameters":[]},null],[0,"\\n "],[1,[20,"firstItemOnPage"],false],[0," - "],[1,[20,"lastItemOnPage"],false],[0,"\\n "],[4,"if",[[22,["next"]]],null,{"statements":[[6,"button"],[10,"button",""],[10,"class","btn btn-outline-secondary btn-sm"],[3,"action",[[21,0,[]],"update",[22,["next","href"]]]],[8],[0,">"],[9]],"parameters":[]},null],[0,"\\n "],[4,"if",[[22,["last"]]],null,{"statements":[[6,"button"],[10,"button",""],[10,"class","btn btn-outline-secondary btn-sm"],[3,"action",[[21,0,[]],"update",[22,["last","href"]]]],[8],[0,">>"],[9]],"parameters":[]},null],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null],[9],[0,"\\n"],[6,"div"],[10,"class","paginated-list-content"],[8],[0,"\\n "],[13,1,[[22,["items"]]]],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/paginated-list.hbs"}})}),define("haskell-code-explorer/templates/components/resizable-panel",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"tpKUpnLR",block:'{"symbols":["&default"],"statements":[[6,"div"],[10,"class","absolute-container"],[8],[13,1,[[26,"action",[[21,0,[]],"hide"],null]]],[0,"\\n "],[6,"div"],[11,"onclick",[26,"action",[[21,0,[]],"hide"],null]],[10,"class","show-left-panel-button"],[8],[0,"\\n "],[1,[20,"hideButtonLabel"],true],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/resizable-panel.hbs"}})}),define("haskell-code-explorer/templates/components/text-file",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"yYFMOyZb",block:'{"symbols":[],"statements":[[6,"div"],[10,"class","source-code-container"],[8],[0,"\\n"],[1,[20,"html"],true],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/text-file.hbs"}})}),define("haskell-code-explorer/templates/components/type-component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"nSuhY152",block:'{"symbols":[],"statements":[[4,"if",[[26,"and",[[22,["expanded"]],[22,["identifierInfo"]]],null]],null,{"statements":[[0,"("]],"parameters":[]},null],[0,"\\n"],[6,"span"],[11,"class",[27,["source-code ",[20,"linkClass"]]]],[11,"onmouseup",[26,"action",[[21,0,[]],"onmouseup"],null]],[8],[1,[20,"occName"],false],[9],[0,"\\n"],[4,"if",[[26,"and",[[22,["expanded"]],[22,["identifierInfo"]]],null]],null,{"statements":[[0," :: "],[1,[26,"type-signature",null,[["type","identifiers","noExpand"],[[22,["identifierInfo","idType"]],[22,["identifiers"]],true]]],false],[0,")"]],"parameters":[]},null],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/type-component.hbs"}})}),define("haskell-code-explorer/templates/components/type-signature-text",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"+rUvtMa3",block:'{"symbols":["typeComponent"],"statements":[[4,"each",[[22,["components"]]],null,{"statements":[[4,"if",[[26,"eq",[[21,1,["tag"]],"Text"],null]],null,{"statements":[[1,[21,1,["contents"]],false]],"parameters":[]},{"statements":[[1,[21,1,["name"]],false]],"parameters":[]}]],"parameters":[1]},null],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/type-signature-text.hbs"}})}),define("haskell-code-explorer/templates/components/type-signature",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"SdJzinj9",block:'{"symbols":["typeComponent"],"statements":[[4,"each",[[22,["components"]]],null,{"statements":[[4,"if",[[26,"eq",[[21,1,["tag"]],"Text"],null]],null,{"statements":[[6,"span"],[10,"class","source-code"],[8],[1,[21,1,["contents"]],false],[9]],"parameters":[]},{"statements":[[1,[26,"type-component",null,[["occName","internalId","identifiers","currentLineNumber"],[[21,1,["name"]],[21,1,["internalId"]],[22,["identifiers"]],[22,["currentLineNumber"]]]]],false]],"parameters":[]}]],"parameters":[1]},null],[0,"\\n"],[4,"unless",[[22,["noExpand"]]],null,{"statements":[[4,"if",[[22,["type","componentsExpanded"]]],null,{"statements":[[0," "],[6,"div"],[10,"style","margin-top:5px"],[8],[0,"\\n "],[6,"button"],[10,"class","btn btn-outline-secondary btn-sm"],[3,"action",[[21,0,[]],"toggleExpandTypeSynonyms"]],[8],[1,[20,"expandTypeSynonymsLabel"],false],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/type-signature.hbs"}})}),define("haskell-code-explorer/templates/package",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"VYY6w03q",block:'{"symbols":["section","files","file","reference","ref","hide","identifier"],"statements":[[6,"div"],[10,"class","flex-container"],[8],[0,"\\n "],[6,"div"],[10,"class","package-header"],[8],[0,"\\n "],[6,"span"],[10,"class","package-header-package-name"],[8],[4,"link-to",["package",[22,["model"]]],null,{"statements":[[1,[22,["model","id"]],false]],"parameters":[]},null],[9],[0,"\\n "],[6,"span"],[10,"class","package-header-input"],[8],[0,"\\n"],[4,"input-with-autocomplete",null,[["onSubmit","createSearchUrlFunction","maxItems","selectItem","searchButtonText","placeholder"],[[26,"action",[[21,0,[]],"searchIdentifier"],null],[22,["createSearchUrlFunction"]],10,[26,"action",[[21,0,[]],"showIdentifier"],null],"Search","Identifier"]],{"statements":[[0," "],[6,"span"],[10,"class","source-code-font"],[8],[1,[21,7,["demangledOccName"]],false],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,7,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[10,"class","module-name"],[8],[0,"\\n "],[6,"b"],[8],[1,[21,7,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,7,["locationInfo","packageId","version"]],false],[9],[0,"\\n"],[4,"if",[[21,7,["locationInfo","modulePath"]]],null,{"statements":[[0," "],[1,[21,7,["locationInfo","modulePath"]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[21,7,["locationInfo","moduleName"]],false],[0,"\\n"]],"parameters":[]}],[0," "],[9],[0,"\\n"]],"parameters":[7]},null],[0," "],[9],[0,"\\n"],[4,"radio-button",null,[["value","groupValue"],["currentPackage",[22,["searchMode"]]]],{"statements":[[0," "],[6,"span"],[8],[0,"in "],[1,[22,["model","id"]],false],[9],[0,"\\n"]],"parameters":[]},null],[4,"radio-button",null,[["value","groupValue"],["allPackages",[22,["searchMode"]]]],{"statements":[[0," "],[6,"span"],[8],[0,"in all packages"],[9],[0,"\\n"]],"parameters":[]},null],[4,"if",[[22,["currentFile"]]],null,{"statements":[[0," "],[6,"span"],[10,"class","package-header-filename"],[8],[0,"\\n "],[1,[20,"currentFile"],false],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n "],[6,"div"],[10,"class","package-content"],[8],[0,"\\n"],[4,"resizable-panel",null,[["class","alsoResizeElementId"],["left-panel","#right-panel"]],{"statements":[[0," "],[6,"div"],[10,"class","file-tree-container"],[8],[0,"\\n "],[1,[26,"file-tree",null,[["directoryTree","openFile","currentFile","packageId","hide"],[[22,["model","directoryTree"]],"openFile",[22,["currentFile"]],[22,["model","id"]],[21,6,[]]]]],false],[0,"\\n "],[9],[0,"\\n"]],"parameters":[6]},null],[0," "],[6,"div"],[10,"id","right-panel"],[10,"class","right-panel"],[8],[0,"\\n "],[6,"div"],[10,"id","file-container"],[10,"class","file-container"],[8],[0,"\\n "],[1,[20,"outlet"],false],[0,"\\n "],[9],[0,"\\n"],[4,"bottom-panel",null,[["visible","topPanelElementId","containerElementId"],[[22,["bottomPanelVisible"]],"#file-container","#right-panel"]],{"statements":[[4,"if",[[26,"eq",[[21,1,[]],"header"],null]],null,{"statements":[[0," References to "],[6,"b"],[8],[6,"span"],[10,"class","source-code"],[8],[1,[20,"occName"],false],[9],[9],[0,"\\n"],[4,"if",[[22,["locationInfo","packageId"]]],null,{"statements":[[0," (defined in "],[6,"b"],[8],[1,[22,["locationInfo","packageId","name"]],false],[0,"-"],[1,[22,["locationInfo","packageId","version"]],false],[9],[0," / "],[6,"b"],[8],[1,[22,["locationInfo","moduleName"]],false],[9],[0,")\\n"]],"parameters":[]},null]],"parameters":[]},{"statements":[[0," "],[6,"div"],[10,"id","references-packages"],[10,"class","references-packages"],[8],[0,"\\n"],[4,"if",[[22,["globalReferences"]]],null,{"statements":[[0," "],[6,"span"],[8],[0,"\\n"],[4,"each",[[22,["globalReferences"]]],null,{"statements":[[0," "],[6,"div"],[8],[0,"\\n "],[6,"a"],[11,"id",[27,["references-package-",[21,5,["packageId"]]]]],[11,"class",[27,[[26,"if",[[26,"eq",[[21,5,["packageId"]],[22,["packageId"]]],null],"selected"],null]]]],[10,"href","#"],[3,"action",[[21,0,[]],"updateReferences",[21,5,["packageId"]],[22,["externalId"]],[22,["occName"]],[22,["locationInfo"]],true]],[8],[0,"\\n "],[1,[21,5,["packageId"]],false],[0,"\\n "],[9],[0," ("],[1,[21,5,["count"]],false],[0,")\\n "],[9],[0,"\\n"]],"parameters":[5]},null],[0," "],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n "],[6,"div"],[10,"class","references"],[8],[0,"\\n"],[4,"paginated-list",null,[["url","foundWhere"],[[22,["referencesUrl"]],[26,"concat",["in ",[22,["packageId"]],""],null]]],{"statements":[[0," "],[6,"ul"],[8],[0,"\\n"],[4,"each",[[21,2,[]]],null,{"statements":[[0," "],[6,"li"],[8],[0,"\\n "],[6,"div"],[10,"class","file-name"],[8],[6,"a"],[11,"href",[27,["/package/",[20,"packageId"],"/show/",[21,3,["name"]]]]],[8],[1,[21,3,["name"]],false],[9],[9],[0,"\\n"],[4,"each",[[21,3,["references"]]],null,{"statements":[[0," "],[6,"a"],[10,"class","source-code source-code-snippet"],[11,"href",[27,["/package/",[20,"packageId"],"/show/",[21,3,["name"]],"#L",[21,4,["idSrcSpan","line"]]]]],[8],[1,[21,4,["sourceCodeHtml"]],true],[9],[0,"\\n"]],"parameters":[4]},null],[0," "],[9],[0,"\\n"]],"parameters":[3]},null],[0," "],[9],[0,"\\n"]],"parameters":[2]},null],[0," "],[9],[0,"\\n"]],"parameters":[]}]],"parameters":[1]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package.hbs"}})}),define("haskell-code-explorer/templates/package/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"O2wWOYbc",block:'{"symbols":["module"],"statements":[[6,"div"],[10,"class","package-modules"],[8],[0,"\\n "],[6,"div"],[10,"class","module-search-input"],[8],[0,"\\n "],[1,[26,"input",null,[["class","type","value","placeholder"],["form-control","text",[22,["query"]],"Module name"]]],false],[0,"\\n "],[9],[0,"\\n "],[6,"ul"],[10,"class","modules"],[8],[0,"\\n"],[4,"each",[[22,["modulesFiltered"]]],null,{"statements":[[0," "],[6,"li"],[8],[0,"\\n "],[6,"a"],[11,"href",[27,["/package/",[22,["model","id"]],"/show/",[21,1,[]]]]],[8],[1,[21,1,[]],false],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[1]},null],[0," "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package/index.hbs"}})}),define("haskell-code-explorer/templates/package/search",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"t4+evzG+",block:'{"symbols":["identifiers","identifier"],"statements":[[6,"div"],[10,"class","search-results-header"],[8],[0,"\\n Query : "],[1,[22,["model","query"]],false],[0,"\\n"],[9],[0,"\\n"],[6,"div"],[10,"class","search-results-content"],[8],[0,"\\n"],[4,"paginated-list",null,[["url"],[[22,["model","url"]]]],{"statements":[[0," "],[6,"ul"],[8],[0,"\\n"],[4,"each",[[21,1,[]]],null,{"statements":[[0," "],[6,"li"],[10,"class","search-result"],[8],[0,"\\n "],[6,"span"],[10,"class","source-code"],[8],[6,"b"],[8],[1,[21,2,["demangledOccName"]],false],[9],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,2,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[8],[6,"a"],[10,"href","#"],[11,"onmouseup",[26,"action",[[21,0,[]],"goToDefinition",[21,2,["locationInfo"]]],null]],[8],[0,"Go to definition"],[9],[9],[0,"\\n "],[6,"div"],[10,"class","identifier-module"],[8],[0,"\\n"],[4,"if",[[21,2,["locationInfo","modulePath"]]],null,{"statements":[[0," Defined in "],[6,"a"],[11,"href",[27,["/package/",[21,2,["locationInfo","packageId","name"]],"-",[21,2,["locationInfo","packageId","version"]],"/show/",[21,2,["locationInfo","modulePath"]]]]],[8],[1,[21,2,["locationInfo","modulePath"]],false],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n "],[6,"div"],[8],[1,[21,2,["doc"]],true],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[2]},null],[0," "],[9],[0,"\\n"]],"parameters":[1]},null],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package/search.hbs"}})}),define("haskell-code-explorer/templates/package/show",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"aR1d98il",block:'{"symbols":[],"statements":[[1,[20,"outlet"],false],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package/show.hbs"}})}),define("haskell-code-explorer/templates/package/show/file",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"n+gY0z10",block:'{"symbols":[],"statements":[[4,"if",[[22,["model","isHaskellModule"]]],null,{"statements":[[0," "],[1,[26,"haskell-module",null,[["path","name","packageId","componentId","html","identifiers","occurrences","colorTheme","declarations","findReferences"],[[22,["model","id"]],[22,["model","name"]],[22,["model","packageId"]],[22,["model","componentId"]],[22,["model","sourceCodeHtml"]],[22,["model","identifiers"]],[22,["model","occurrences"]],[22,["settings","colorTheme"]],[22,["model","declarations"]],[26,"action",[[21,0,[]],"findReferences"],null]]]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[26,"text-file",null,[["text","path"],[[22,["model","text"]],[22,["model","id"]]]]],false],[0,"\\n"]],"parameters":[]}]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package/show/file.hbs"}})}),define("haskell-code-explorer/templates/packages",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"mEyAL/ia",block:'{"symbols":["package","version","index","identifier"],"statements":[[6,"div"],[10,"class","flex-container container"],[8],[0,"\\n "],[6,"div"],[8],[0,"\\n "],[6,"div"],[10,"class","global-identifier-search-form"],[8],[0,"\\n"],[4,"input-with-autocomplete",null,[["onSubmit","createSearchUrlFunction","maxItems","selectItem","searchButtonText","placeholder"],[[26,"action",[[21,0,[]],"searchIdentifier"],null],[22,["createSearchUrlFunction"]],10,[26,"action",[[21,0,[]],"showIdentifier"],null],"Search in all packages","Haskell identifier"]],{"statements":[[0," "],[6,"span"],[10,"class","source-code-font"],[8],[1,[21,4,["demangledOccName"]],false],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,4,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[10,"class","module-name"],[8],[0,"\\n "],[6,"b"],[8],[1,[21,4,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,4,["locationInfo","packageId","version"]],false],[9],[0,"\\n"],[4,"if",[[21,4,["locationInfo","modulePath"]]],null,{"statements":[[0," "],[1,[21,4,["locationInfo","modulePath"]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[21,4,["locationInfo","moduleName"]],false],[0,"\\n"]],"parameters":[]}],[0," "],[9],[0,"\\n"]],"parameters":[4]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[8],[0,"\\n "],[6,"div"],[10,"class","package-search-form"],[8],[0,"\\n "],[1,[26,"input",null,[["class","type","value","placeholder"],["form-control","text",[22,["query"]],"Package name"]]],false],[0,"\\n "],[6,"span"],[8],[0,"Number of packages : "],[1,[22,["packages","length"]],false],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[10,"id","packages"],[10,"class","packages"],[8],[0,"\\n "],[6,"ul"],[8],[0,"\\n"],[4,"infinite-list",null,[["containerElementId","elements","perPage"],["packages",[22,["packages"]],80]],{"statements":[[0," "],[6,"li"],[8],[0,"\\n"],[4,"each",[[21,1,["versions"]]],null,{"statements":[[4,"link-to",["package",[26,"concat",[[21,1,["name"]],"-",[21,2,[]]],null]],null,{"statements":[[4,"if",[[26,"gt",[[21,3,[]],0],null]],null,{"statements":[[0," "],[1,[21,2,[]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[21,1,["name"]],false],[0,"-"],[1,[21,2,[]],false],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null]],"parameters":[2,3]},null],[0," "],[9],[0,"\\n"]],"parameters":[1]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/packages.hbs"}})}),define("haskell-code-explorer/templates/search",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"OGWU6vcF",block:'{"symbols":["identifiers","identifier","identifier"],"statements":[[6,"div"],[10,"class","flex-container container"],[8],[0,"\\n "],[6,"div"],[10,"style","position:relative;height:100%"],[8],[0,"\\n "],[6,"div"],[10,"class","absolute-container"],[8],[0,"\\n "],[6,"div"],[10,"class","global-identifier-search-form"],[8],[0,"\\n"],[4,"input-with-autocomplete",null,[["onSubmit","createSearchUrlFunction","maxItems","selectItem","searchButtonText","placeholder"],[[26,"action",[[21,0,[]],"searchIdentifier"],null],[22,["createSearchUrlFunction"]],10,[26,"action",[[21,0,[]],"showIdentifier"],null],"Search in all packages","Haskell identifier"]],{"statements":[[0," "],[6,"span"],[10,"class","source-code-font"],[8],[1,[21,3,["demangledOccName"]],false],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,3,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[10,"class","module-name"],[8],[0,"\\n "],[6,"b"],[8],[1,[21,3,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,3,["locationInfo","packageId","version"]],false],[9],[0,"\\n"],[4,"if",[[21,3,["locationInfo","modulePath"]]],null,{"statements":[[0," "],[1,[21,3,["locationInfo","modulePath"]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[21,3,["locationInfo","moduleName"]],false],[0,"\\n"]],"parameters":[]}],[0," "],[9],[0,"\\n"]],"parameters":[3]},null],[0," "],[9],[0,"\\n "],[6,"div"],[8],[0,"\\n Query : "],[1,[22,["model","query"]],false],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[10,"class","global-search-results-content"],[8],[0,"\\n"],[4,"paginated-list",null,[["url"],[[22,["model","url"]]]],{"statements":[[0," "],[6,"ul"],[8],[0,"\\n"],[4,"each",[[21,1,[]]],null,{"statements":[[0," "],[6,"li"],[10,"class","search-result"],[8],[0,"\\n "],[6,"span"],[10,"class","source-code"],[8],[6,"b"],[8],[1,[21,2,["demangledOccName"]],false],[9],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,2,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[8],[6,"a"],[10,"href","#"],[11,"onmouseup",[26,"action",[[21,0,[]],"goToDefinition",[21,2,["locationInfo"]]],null]],[8],[0,"Go to definition"],[9],[9],[0,"\\n "],[6,"div"],[10,"class","identifier-module"],[8],[0,"\\n"],[4,"if",[[21,2,["locationInfo","modulePath"]]],null,{"statements":[[0," Defined in "],[6,"b"],[8],[0," "],[1,[21,2,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,2,["locationInfo","packageId","version"]],false],[0," "],[9],[0," "],[6,"a"],[11,"href",[27,["/package/",[21,2,["locationInfo","packageId","name"]],"-",[21,2,["locationInfo","packageId","version"]],"/show/",[21,2,["locationInfo","modulePath"]]]]],[8],[1,[21,2,["locationInfo","modulePath"]],false],[9],[0,"\\n"]],"parameters":[]},{"statements":[[0," Defined in "],[6,"b"],[8],[0," "],[1,[21,2,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,2,["locationInfo","packageId","version"]],false],[0," "],[9],[0," "],[1,[21,2,["locationInfo","moduleName"]],false],[0,"\\n"]],"parameters":[]}],[0," "],[9],[0,"\\n "],[6,"div"],[8],[1,[21,2,["doc"]],true],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[2]},null],[0," "],[9],[0,"\\n"]],"parameters":[1]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/search.hbs"}})}),define("haskell-code-explorer/utils/api-urls",["exports","haskell-code-explorer/config/environment"],function(e,t){function n(e){return"."===e?"%20%2E":".."===e?"%20%2E%2E":e.replace(/\./g,"%2E")}Object.defineProperty(e,"__esModule",{value:!0}),e.urls=void 0 +return Ember.$.getJSON(a).then(function(e){return l.hoogleDocs[i]=e,e})}})}),define("haskell-code-explorer/templates/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"VFOlgxX7",block:'{"symbols":["theme"],"statements":[[6,"div"],[10,"class","absolute-container"],[8],[0,"\\n "],[6,"div"],[10,"class","flex-container"],[8],[0,"\\n "],[6,"div"],[10,"class","header"],[8],[0,"\\n "],[6,"img"],[10,"src","/assets/haskell.ico"],[8],[9],[0,"\\n "],[6,"div"],[10,"class","container"],[8],[0,"\\n "],[6,"span"],[10,"class","header-item"],[8],[4,"link-to",["packages"],null,{"statements":[[0,"Haskell packages"]],"parameters":[]},null],[9],[0,"\\n "],[6,"span"],[10,"class","header-item"],[8],[6,"a"],[10,"target","_blank"],[10,"href","https://github.com/alexwl/haskell-code-explorer"],[8],[0,"About"],[9],[9],[0,"\\n "],[6,"span"],[10,"class","header-item"],[8],[0,"\\n"],[4,"each",[[22,["themes"]]],null,{"statements":[[4,"radio-button",null,[["value","groupValue","changed"],[[21,1,["id"]],[22,["currentTheme"]],"themeChanged"]],{"statements":[[0," "],[6,"span"],[8],[1,[21,1,["name"]],false],[9],[0,"\\n"]],"parameters":[]},null]],"parameters":[1]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[10,"class","content"],[8],[0,"\\n "],[6,"div"],[10,"class","absolute-container"],[8],[0,"\\n "],[1,[20,"outlet"],false],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/application.hbs"}})}),define("haskell-code-explorer/templates/bad-url",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"5j5yigKR",block:'{"symbols":[],"statements":[[6,"div"],[10,"class","container"],[8],[0,"\\n "],[6,"div"],[10,"style","margin-top:10px"],[8],[0,"\\n "],[6,"h1"],[8],[0,"Not found"],[9],[0,"\\n "],[6,"div"],[8],[6,"a"],[10,"href","/"],[8],[0,"Main page"],[9],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/bad-url.hbs"}})}),define("haskell-code-explorer/templates/components/bottom-panel",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"npSIWyPX",block:'{"symbols":["&default"],"statements":[[6,"div"],[10,"class","bottom-panel-header"],[8],[0,"\\n "],[6,"span"],[10,"class","bottom-panel-header-content"],[8],[13,1,["header"]],[9],[0,"\\n "],[6,"span"],[10,"class","bottom-panel-header-options"],[8],[0,"\\n "],[6,"a"],[10,"href","#"],[3,"action",[[21,0,[]],"close"]],[8],[0,"Close"],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"],[6,"div"],[10,"class","bottom-panel-content"],[8],[0,"\\n "],[13,1,["body"]],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/bottom-panel.hbs"}})}),define("haskell-code-explorer/templates/components/expression-info",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"3orLnFsH",block:'{"symbols":["expression"],"statements":[[6,"div"],[10,"class","expressions"],[8],[0,"\\n"],[4,"each",[[22,["expressions"]]],null,{"statements":[[0," "],[6,"div"],[10,"class","expression"],[8],[0,"\\n "],[6,"span"],[10,"class","source-code"],[8],[1,[21,1,["sourceCode"]],false],[9],[0,"\\n "],[6,"br"],[8],[9],[0,":: "],[1,[26,"type-signature",null,[["type","identifiers","currentLineNumber"],[[21,1,["info","exprType"]],[22,["identifiers"]],[22,["currentLineNumber"]]]]],false],[0,"\\n "],[9],[0,"\\n"]],"parameters":[1]},null],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/expression-info.hbs"}})}),define("haskell-code-explorer/templates/components/file-tree",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"dsx0INhr",block:'{"symbols":[],"statements":[[6,"div"],[10,"class","file-tree-header"],[8],[0,"\\n "],[6,"div"],[10,"class","input-group"],[8],[0,"\\n "],[1,[26,"input",null,[["class","value","placeholder"],["form-control",[22,["query"]],"Filename"]]],false],[6,"a"],[10,"class","hide-file-tree"],[10,"href","#"],[3,"action",[[21,0,[]],"hide"]],[8],[0,"Hide"],[9],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[8],[0,"\\n"],[4,"radio-button",null,[["value","groupValue"],["alphabetical",[22,["sortType"]]]],{"statements":[[0," "],[6,"span"],[8],[0,"Sort by name"],[9],[0,"\\n"]],"parameters":[]},null],[4,"radio-button",null,[["value","groupValue"],["type",[22,["sortType"]]]],{"statements":[[0," "],[6,"span"],[8],[0,"Sort by type"],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n"],[9],[0,"\\n"],[6,"div"],[10,"class","file-tree-content"],[8],[0,"\\n "],[6,"div"],[10,"class","file-tree"],[8],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/file-tree.hbs"}})}) +define("haskell-code-explorer/templates/components/haskell-module",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"olqhNo84",block:'{"symbols":["section","declaration"],"statements":[[6,"div"],[10,"class","source-code-container"],[8],[9],[0,"\\n"],[4,"if",[[22,["declarations"]]],null,{"statements":[[0," "],[6,"div"],[10,"class","declarations"],[8],[0,"\\n "],[6,"div"],[10,"class","declarations-header"],[8],[0,"\\n "],[6,"div"],[10,"class","input-group"],[8],[0,"\\n "],[1,[26,"input",null,[["class","value","placeholder"],["form-control",[22,["query"]],"Identifier"]]],false],[6,"a"],[10,"class","hide-declarations"],[10,"href","#"],[3,"action",[[21,0,[]],"toggleShowDeclarations"]],[8],[1,[20,"showDeclarationsLabel"],false],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"],[4,"if",[[22,["showDeclarations"]]],null,{"statements":[[0," "],[6,"div"],[10,"id","declarations-content"],[10,"class","declarations-content"],[8],[0,"\\n "],[6,"ul"],[8],[0,"\\n"],[4,"infinite-list",null,[["containerElementId","elements","perPage"],["declarations-content",[22,["filteredDeclarations"]],30]],{"statements":[[0," "],[6,"li"],[10,"class","declaration"],[8],[0,"\\n "],[6,"div"],[10,"class","declaration"],[8],[0,"\\n "],[6,"a"],[10,"href","#"],[3,"action",[[21,0,[]],"goToLine",[21,2,["lineNumber"]]]],[8],[6,"span"],[10,"class","source-code-font"],[8],[1,[21,2,["name"]],false],[4,"if",[[21,2,["declType"]]],null,{"statements":[[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,2,["declType","components"]]]]],false]],"parameters":[]},null],[9],[0,"\\n "],[9],[6,"span"],[8],[4,"unless",[[21,2,["isExported"]]],null,{"statements":[[6,"i"],[8],[0,"(not exported)"],[9]],"parameters":[]},null],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[2]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n"]],"parameters":[]},null],[4,"info-window",null,[["targetElement","isHoveredOverIdentifier","hasSelectedExpression","containerElementId"],[[22,["selectedIdentifier"]],[22,["isHoveredOverIdentifier"]],[22,["hasSelectedExpression"]],"right-panel"]],{"statements":[[4,"if",[[26,"eq",[[21,1,[]],"header"],null]],null,{"statements":[[4,"if",[[22,["hasSelectedExpression"]]],null,{"statements":[[0," "],[6,"div"],[8],[0,"Selected expressions"],[9],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[26,"identifier-name",null,[["identifierInfo","identifierOccurrence","identifierElement","currentPackageId","isBinder","currentLineNumber","findReferences"],[[22,["identifierInfo"]],[22,["identifierOccurrence"]],[22,["selectedIdentifier"]],[22,["packageId"]],[22,["identifierOccurrence","isBinder"]],[22,["currentLineNumber"]],[22,["findReferences"]]]]],false],[0,"\\n"]],"parameters":[]}]],"parameters":[]},{"statements":[[4,"unless",[[22,["hasSelectedExpression"]]],null,{"statements":[[0," "],[1,[26,"identifier-info",null,[["identifierInfo","identifierOccurrence","identifiers","currentLineNumber"],[[22,["identifierInfo"]],[22,["identifierOccurrence"]],[22,["identifiers"]],[22,["currentLineNumber"]]]]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[26,"expression-info",null,[["expressions","identifiers","currentLineNumber"],[[22,["expressions"]],[22,["identifiers"]],[22,["currentLineNumber"]]]]],false],[0,"\\n"]],"parameters":[]}]],"parameters":[]}]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/haskell-module.hbs"}})}),define("haskell-code-explorer/templates/components/identifier-info",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"zMkGyYS+",block:'{"symbols":[],"statements":[[4,"if",[[26,"or",[[22,["identifierInfo"]],[22,["identifierOccurrence","idOccType"]]],null]],null,{"statements":[[0," "],[6,"div"],[10,"class","identifier-info"],[8],[0,"\\n"],[4,"if",[[22,["identifierInfo"]]],null,{"statements":[[4,"if",[[22,["isNaughtyRecSel"]]],null,{"statements":[[0," "],[6,"i"],[8],[0,"This record selector can never be called because its type mentions a type variable that isn\'t in the result type of the constructor"],[9],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[26,"type-signature",null,[["type","identifiers","currentLineNumber"],[[22,["identifierInfo","idType"]],[22,["identifiers"]],[22,["currentLineNumber"]]]]],false],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null],[4,"if",[[26,"and",[[22,["identifierInfo"]],[22,["identifierOccurrence"]],[22,["identifierOccurrence","idOccType"]]],null]],null,{"statements":[[0," "],[6,"div"],[10,"style","height:10px"],[8],[9],[0,"\\n"]],"parameters":[]},null],[4,"if",[[26,"and",[[22,["identifierOccurrence"]],[22,["identifierOccurrence","idOccType"]]],null]],null,{"statements":[[0," "],[1,[26,"type-signature",null,[["type","identifiers","currentLineNumber"],[[22,["identifierOccurrence","idOccType"]],[22,["identifiers"]],[22,["currentLineNumber"]]]]],false],[0,"\\n"]],"parameters":[]},null],[0," "],[6,"div"],[10,"class","documentation"],[8],[0,"\\n "],[1,[22,["identifierInfo","doc"]],true],[0,"\\n "],[1,[20,"downloadedDocumentation"],true],[0,"\\n "],[9],[0,"\\n"],[4,"if",[[22,["identifierOccurrence","instanceResolution"]]],null,{"statements":[[0," "],[6,"div"],[10,"style","height:10px"],[8],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[6,"div"],[8],[0,"\\n"],[4,"if",[[22,["identifierOccurrence","instanceResolution"]]],null,{"statements":[[0," "],[1,[26,"instance-info",null,[["instance","identifiers","nestedLevel","currentLineNumber"],[[22,["identifierOccurrence","instanceResolution"]],[22,["identifiers"]],0,[22,["currentLineNumber"]]]]],false],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/identifier-info.hbs"}})}),define("haskell-code-explorer/templates/components/identifier-name",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"poprRbXj",block:'{"symbols":[],"statements":[[6,"div"],[8],[0,"\\n "],[6,"span"],[10,"class","source-code-font break-word identifier-menu-item"],[11,"style",[20,"style"]],[8],[4,"if",[[22,["identifierInfo","demangledOccName"]]],null,{"statements":[[1,[22,["identifierInfo","demangledOccName"]],false]],"parameters":[]},{"statements":[[1,[20,"name"],false]],"parameters":[]}],[9],[0,"\\n"],[4,"unless",[[22,["isBinder"]]],null,{"statements":[[4,"if",[[22,["location"]]],null,{"statements":[[0," "],[6,"span"],[10,"class","identifier-menu-item"],[8],[1,[20,"location"],false],[9],[0,"\\n "],[6,"span"],[10,"class","link identifier-menu-item"],[11,"onmouseup",[26,"action",[[21,0,[]],"goToDefinition"],null]],[8],[0,"Go to definition"],[9],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null],[4,"if",[[22,["isExternalIdentifier"]]],null,{"statements":[[0," "],[6,"span"],[10,"class","link identifier-menu-item"],[11,"onmouseup",[26,"action",[[21,0,[]],"findReferences",[22,["identifierInfo"]],[22,["currentPackageId"]]],null]],[8],[0,"Find references"],[9],[0,"\\n"]],"parameters":[]},null],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/identifier-name.hbs"}})}),define("haskell-code-explorer/templates/components/infinite-list",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"AVFRMQuE",block:'{"symbols":["element","&default"],"statements":[[4,"each",[[22,["renderedElements"]]],null,{"statements":[[0," "],[13,2,[[21,1,[]]]],[0,"\\n"]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/infinite-list.hbs"}})}),define("haskell-code-explorer/templates/components/info-window",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"Xi4+uOqU",block:'{"symbols":["&default"],"statements":[[6,"div"],[10,"class","info-window"],[8],[0,"\\n "],[6,"div"],[10,"class","info-window-header"],[8],[0,"\\n "],[6,"div"],[10,"class","info-window-options"],[8],[0,"\\n "],[6,"a"],[10,"href","#"],[3,"action",[[21,0,[]],"pin"]],[8],[4,"if",[[22,["isPinned"]]],null,{"statements":[[0,"Unpin"]],"parameters":[]},{"statements":[[0,"Pin"]],"parameters":[]}],[9],[0,"\\n "],[6,"a"],[10,"href","#"],[3,"action",[[21,0,[]],"close"]],[8],[0,"Close"],[9],[0,"\\n "],[9],[0,"\\n "],[13,1,["header"]],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[10,"class","info-window-content"],[8],[0,"\\n "],[13,1,["body"]],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/info-window.hbs"}})}),define("haskell-code-explorer/templates/components/input-with-autocomplete",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"asEzRTQH",block:'{"symbols":["item","index","&default"],"statements":[[6,"div"],[10,"class","input-group"],[8],[0,"\\n "],[1,[26,"input",null,[["class","value","placeholder"],["form-control search-input",[22,["query"]],[22,["placeholder"]]]]],false],[0,"\\n "],[6,"div"],[10,"class","autocomplete-container"],[8],[0,"\\n"],[4,"if",[[22,["items"]]],null,{"statements":[[0," "],[6,"ul"],[10,"class","autocomplete-items"],[8],[0,"\\n"],[4,"each",[[22,["items"]]],null,{"statements":[[0," "],[6,"li"],[11,"class",[27,[[26,"if",[[26,"eq",[[21,2,[]],[22,["highlightedItemIndex"]]],null],"highlighted"],null]]]],[11,"onclick",[26,"action",[[21,0,[]],"goToDefinition",[21,1,[]]],null]],[8],[0,"\\n "],[6,"div"],[10,"class","autocomplete-item"],[8],[0,"\\n "],[13,3,[[21,1,[]]]],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[1,2]},null],[0," "],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n "],[6,"div"],[10,"class","input-group-append"],[8],[0,"\\n "],[6,"button"],[10,"id","search-input"],[10,"class","btn btn-outline-secondary"],[3,"action",[[21,0,[]],"onSubmit",[22,["query"]]]],[8],[1,[20,"searchButtonText"],false],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/input-with-autocomplete.hbs"}})}),define("haskell-code-explorer/templates/components/instance-info",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"uCPSf7BD",block:'{"symbols":["inst"],"statements":[[4,"if",[[22,["instance"]]],null,{"statements":[[0," "],[6,"div"],[11,"style",[20,"style"]],[8],[0,"\\n "],[6,"span"],[10,"class","source-code-font"],[8],[0,"\\n instance "],[1,[26,"type-signature",null,[["type","identifiers","currentLineNumber","noExpand"],[[22,["instance","instanceType"]],[22,["identifiers"]],[22,["currentLineNumber"]],true]]],false],[9],[0,"\\n ("],[6,"span"],[10,"class","link"],[11,"onclick",[26,"action",[[21,0,[]],"goToDefinition"],null]],[8],[0,"Go to definition"],[9],[0,")\\n"],[4,"each",[[22,["instance","instances"]]],null,{"statements":[[0," "],[1,[26,"instance-info",null,[["instance","identifiers","nestedLevel","currentLineNumber"],[[21,1,[]],[22,["identifiers"]],[22,["nextNestedLevel"]],[22,["currentLineNumber"]]]]],false],[0,"\\n"]],"parameters":[1]},null],[0," "],[9],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/instance-info.hbs"}})}),define("haskell-code-explorer/templates/components/paginated-list",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"RRShkwZE",block:'{"symbols":["&default"],"statements":[[6,"div"],[10,"class","paginated-list-header"],[8],[0,"\\n "],[6,"span"],[8],[0,"Found "],[1,[20,"total"],false],[0," "],[1,[20,"foundWhere"],true],[9],[0,"\\n"],[4,"if",[[26,"or",[[22,["next"]],[22,["prev"]]],null]],null,{"statements":[[0,"  \\n  \\n "],[6,"span"],[8],[0,"\\n "],[4,"if",[[22,["first"]]],null,{"statements":[[6,"button"],[10,"class","btn btn-outline-secondary btn-sm"],[3,"action",[[21,0,[]],"update",[22,["first","href"]]]],[8],[0,"<<"],[9]],"parameters":[]},null],[0,"\\n "],[4,"if",[[22,["prev"]]],null,{"statements":[[6,"button"],[10,"button",""],[10,"class","btn btn-outline-secondary btn-sm"],[3,"action",[[21,0,[]],"update",[22,["prev","href"]]]],[8],[0,"<"],[9]],"parameters":[]},null],[0,"\\n "],[1,[20,"firstItemOnPage"],false],[0," - "],[1,[20,"lastItemOnPage"],false],[0,"\\n "],[4,"if",[[22,["next"]]],null,{"statements":[[6,"button"],[10,"button",""],[10,"class","btn btn-outline-secondary btn-sm"],[3,"action",[[21,0,[]],"update",[22,["next","href"]]]],[8],[0,">"],[9]],"parameters":[]},null],[0,"\\n "],[4,"if",[[22,["last"]]],null,{"statements":[[6,"button"],[10,"button",""],[10,"class","btn btn-outline-secondary btn-sm"],[3,"action",[[21,0,[]],"update",[22,["last","href"]]]],[8],[0,">>"],[9]],"parameters":[]},null],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null],[9],[0,"\\n"],[6,"div"],[10,"class","paginated-list-content"],[8],[0,"\\n "],[13,1,[[22,["items"]]]],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/paginated-list.hbs"}})}),define("haskell-code-explorer/templates/components/resizable-panel",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"tpKUpnLR",block:'{"symbols":["&default"],"statements":[[6,"div"],[10,"class","absolute-container"],[8],[13,1,[[26,"action",[[21,0,[]],"hide"],null]]],[0,"\\n "],[6,"div"],[11,"onclick",[26,"action",[[21,0,[]],"hide"],null]],[10,"class","show-left-panel-button"],[8],[0,"\\n "],[1,[20,"hideButtonLabel"],true],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/resizable-panel.hbs"}})}),define("haskell-code-explorer/templates/components/text-file",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"yYFMOyZb",block:'{"symbols":[],"statements":[[6,"div"],[10,"class","source-code-container"],[8],[0,"\\n"],[1,[20,"html"],true],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/text-file.hbs"}})}),define("haskell-code-explorer/templates/components/type-component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"nSuhY152",block:'{"symbols":[],"statements":[[4,"if",[[26,"and",[[22,["expanded"]],[22,["identifierInfo"]]],null]],null,{"statements":[[0,"("]],"parameters":[]},null],[0,"\\n"],[6,"span"],[11,"class",[27,["source-code ",[20,"linkClass"]]]],[11,"onmouseup",[26,"action",[[21,0,[]],"onmouseup"],null]],[8],[1,[20,"occName"],false],[9],[0,"\\n"],[4,"if",[[26,"and",[[22,["expanded"]],[22,["identifierInfo"]]],null]],null,{"statements":[[0," :: "],[1,[26,"type-signature",null,[["type","identifiers","noExpand"],[[22,["identifierInfo","idType"]],[22,["identifiers"]],true]]],false],[0,")"]],"parameters":[]},null],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/type-component.hbs"}})}),define("haskell-code-explorer/templates/components/type-signature-text",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"+rUvtMa3",block:'{"symbols":["typeComponent"],"statements":[[4,"each",[[22,["components"]]],null,{"statements":[[4,"if",[[26,"eq",[[21,1,["tag"]],"Text"],null]],null,{"statements":[[1,[21,1,["contents"]],false]],"parameters":[]},{"statements":[[1,[21,1,["name"]],false]],"parameters":[]}]],"parameters":[1]},null],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/type-signature-text.hbs"}})}),define("haskell-code-explorer/templates/components/type-signature",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"SdJzinj9",block:'{"symbols":["typeComponent"],"statements":[[4,"each",[[22,["components"]]],null,{"statements":[[4,"if",[[26,"eq",[[21,1,["tag"]],"Text"],null]],null,{"statements":[[6,"span"],[10,"class","source-code"],[8],[1,[21,1,["contents"]],false],[9]],"parameters":[]},{"statements":[[1,[26,"type-component",null,[["occName","internalId","identifiers","currentLineNumber"],[[21,1,["name"]],[21,1,["internalId"]],[22,["identifiers"]],[22,["currentLineNumber"]]]]],false]],"parameters":[]}]],"parameters":[1]},null],[0,"\\n"],[4,"unless",[[22,["noExpand"]]],null,{"statements":[[4,"if",[[22,["type","componentsExpanded"]]],null,{"statements":[[0," "],[6,"div"],[10,"style","margin-top:5px"],[8],[0,"\\n "],[6,"button"],[10,"class","btn btn-outline-secondary btn-sm"],[3,"action",[[21,0,[]],"toggleExpandTypeSynonyms"]],[8],[1,[20,"expandTypeSynonymsLabel"],false],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/type-signature.hbs"}})}),define("haskell-code-explorer/templates/package",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"VYY6w03q",block:'{"symbols":["section","files","file","reference","ref","hide","identifier"],"statements":[[6,"div"],[10,"class","flex-container"],[8],[0,"\\n "],[6,"div"],[10,"class","package-header"],[8],[0,"\\n "],[6,"span"],[10,"class","package-header-package-name"],[8],[4,"link-to",["package",[22,["model"]]],null,{"statements":[[1,[22,["model","id"]],false]],"parameters":[]},null],[9],[0,"\\n "],[6,"span"],[10,"class","package-header-input"],[8],[0,"\\n"],[4,"input-with-autocomplete",null,[["onSubmit","createSearchUrlFunction","maxItems","selectItem","searchButtonText","placeholder"],[[26,"action",[[21,0,[]],"searchIdentifier"],null],[22,["createSearchUrlFunction"]],10,[26,"action",[[21,0,[]],"showIdentifier"],null],"Search","Identifier"]],{"statements":[[0," "],[6,"span"],[10,"class","source-code-font"],[8],[1,[21,7,["demangledOccName"]],false],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,7,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[10,"class","module-name"],[8],[0,"\\n "],[6,"b"],[8],[1,[21,7,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,7,["locationInfo","packageId","version"]],false],[9],[0,"\\n"],[4,"if",[[21,7,["locationInfo","modulePath"]]],null,{"statements":[[0," "],[1,[21,7,["locationInfo","modulePath"]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[21,7,["locationInfo","moduleName"]],false],[0,"\\n"]],"parameters":[]}],[0," "],[9],[0,"\\n"]],"parameters":[7]},null],[0," "],[9],[0,"\\n"],[4,"radio-button",null,[["value","groupValue"],["currentPackage",[22,["searchMode"]]]],{"statements":[[0," "],[6,"span"],[8],[0,"in "],[1,[22,["model","id"]],false],[9],[0,"\\n"]],"parameters":[]},null],[4,"radio-button",null,[["value","groupValue"],["allPackages",[22,["searchMode"]]]],{"statements":[[0," "],[6,"span"],[8],[0,"in all packages"],[9],[0,"\\n"]],"parameters":[]},null],[4,"if",[[22,["currentFile"]]],null,{"statements":[[0," "],[6,"span"],[10,"class","package-header-filename"],[8],[0,"\\n "],[1,[20,"currentFile"],false],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n "],[6,"div"],[10,"class","package-content"],[8],[0,"\\n"],[4,"resizable-panel",null,[["class","alsoResizeElementId"],["left-panel","#right-panel"]],{"statements":[[0," "],[6,"div"],[10,"class","file-tree-container"],[8],[0,"\\n "],[1,[26,"file-tree",null,[["directoryTree","openFile","currentFile","packageId","hide"],[[22,["model","directoryTree"]],"openFile",[22,["currentFile"]],[22,["model","id"]],[21,6,[]]]]],false],[0,"\\n "],[9],[0,"\\n"]],"parameters":[6]},null],[0," "],[6,"div"],[10,"id","right-panel"],[10,"class","right-panel"],[8],[0,"\\n "],[6,"div"],[10,"id","file-container"],[10,"class","file-container"],[8],[0,"\\n "],[1,[20,"outlet"],false],[0,"\\n "],[9],[0,"\\n"],[4,"bottom-panel",null,[["visible","topPanelElementId","containerElementId"],[[22,["bottomPanelVisible"]],"#file-container","#right-panel"]],{"statements":[[4,"if",[[26,"eq",[[21,1,[]],"header"],null]],null,{"statements":[[0," References to "],[6,"b"],[8],[6,"span"],[10,"class","source-code"],[8],[1,[20,"occName"],false],[9],[9],[0,"\\n"],[4,"if",[[22,["locationInfo","packageId"]]],null,{"statements":[[0," (defined in "],[6,"b"],[8],[1,[22,["locationInfo","packageId","name"]],false],[0,"-"],[1,[22,["locationInfo","packageId","version"]],false],[9],[0," / "],[6,"b"],[8],[1,[22,["locationInfo","moduleName"]],false],[9],[0,")\\n"]],"parameters":[]},null]],"parameters":[]},{"statements":[[0," "],[6,"div"],[10,"id","references-packages"],[10,"class","references-packages"],[8],[0,"\\n"],[4,"if",[[22,["globalReferences"]]],null,{"statements":[[0," "],[6,"span"],[8],[0,"\\n"],[4,"each",[[22,["globalReferences"]]],null,{"statements":[[0," "],[6,"div"],[8],[0,"\\n "],[6,"a"],[11,"id",[27,["references-package-",[21,5,["packageId"]]]]],[11,"class",[27,[[26,"if",[[26,"eq",[[21,5,["packageId"]],[22,["packageId"]]],null],"selected"],null]]]],[10,"href","#"],[3,"action",[[21,0,[]],"updateReferences",[21,5,["packageId"]],[22,["externalId"]],[22,["occName"]],[22,["locationInfo"]],true]],[8],[0,"\\n "],[1,[21,5,["packageId"]],false],[0,"\\n "],[9],[0," ("],[1,[21,5,["count"]],false],[0,")\\n "],[9],[0,"\\n"]],"parameters":[5]},null],[0," "],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n "],[6,"div"],[10,"class","references"],[8],[0,"\\n"],[4,"paginated-list",null,[["url","foundWhere"],[[22,["referencesUrl"]],[26,"concat",["in ",[22,["packageId"]],""],null]]],{"statements":[[0," "],[6,"ul"],[8],[0,"\\n"],[4,"each",[[21,2,[]]],null,{"statements":[[0," "],[6,"li"],[8],[0,"\\n "],[6,"div"],[10,"class","file-name"],[8],[6,"a"],[11,"href",[27,["/package/",[20,"packageId"],"/show/",[21,3,["name"]]]]],[8],[1,[21,3,["name"]],false],[9],[9],[0,"\\n"],[4,"each",[[21,3,["references"]]],null,{"statements":[[0," "],[6,"a"],[10,"class","source-code source-code-snippet"],[11,"href",[27,["/package/",[20,"packageId"],"/show/",[21,3,["name"]],"#L",[21,4,["idSrcSpan","line"]]]]],[8],[1,[21,4,["sourceCodeHtml"]],true],[9],[0,"\\n"]],"parameters":[4]},null],[0," "],[9],[0,"\\n"]],"parameters":[3]},null],[0," "],[9],[0,"\\n"]],"parameters":[2]},null],[0," "],[9],[0,"\\n"]],"parameters":[]}]],"parameters":[1]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package.hbs"}})}),define("haskell-code-explorer/templates/package/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"O2wWOYbc",block:'{"symbols":["module"],"statements":[[6,"div"],[10,"class","package-modules"],[8],[0,"\\n "],[6,"div"],[10,"class","module-search-input"],[8],[0,"\\n "],[1,[26,"input",null,[["class","type","value","placeholder"],["form-control","text",[22,["query"]],"Module name"]]],false],[0,"\\n "],[9],[0,"\\n "],[6,"ul"],[10,"class","modules"],[8],[0,"\\n"],[4,"each",[[22,["modulesFiltered"]]],null,{"statements":[[0," "],[6,"li"],[8],[0,"\\n "],[6,"a"],[11,"href",[27,["/package/",[22,["model","id"]],"/show/",[21,1,[]]]]],[8],[1,[21,1,[]],false],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[1]},null],[0," "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package/index.hbs"}})}),define("haskell-code-explorer/templates/package/search",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"t4+evzG+",block:'{"symbols":["identifiers","identifier"],"statements":[[6,"div"],[10,"class","search-results-header"],[8],[0,"\\n Query : "],[1,[22,["model","query"]],false],[0,"\\n"],[9],[0,"\\n"],[6,"div"],[10,"class","search-results-content"],[8],[0,"\\n"],[4,"paginated-list",null,[["url"],[[22,["model","url"]]]],{"statements":[[0," "],[6,"ul"],[8],[0,"\\n"],[4,"each",[[21,1,[]]],null,{"statements":[[0," "],[6,"li"],[10,"class","search-result"],[8],[0,"\\n "],[6,"span"],[10,"class","source-code"],[8],[6,"b"],[8],[1,[21,2,["demangledOccName"]],false],[9],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,2,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[8],[6,"a"],[10,"href","#"],[11,"onmouseup",[26,"action",[[21,0,[]],"goToDefinition",[21,2,["locationInfo"]]],null]],[8],[0,"Go to definition"],[9],[9],[0,"\\n "],[6,"div"],[10,"class","identifier-module"],[8],[0,"\\n"],[4,"if",[[21,2,["locationInfo","modulePath"]]],null,{"statements":[[0," Defined in "],[6,"a"],[11,"href",[27,["/package/",[21,2,["locationInfo","packageId","name"]],"-",[21,2,["locationInfo","packageId","version"]],"/show/",[21,2,["locationInfo","modulePath"]]]]],[8],[1,[21,2,["locationInfo","modulePath"]],false],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n "],[6,"div"],[8],[1,[21,2,["doc"]],true],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[2]},null],[0," "],[9],[0,"\\n"]],"parameters":[1]},null],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package/search.hbs"}})}),define("haskell-code-explorer/templates/package/show",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"aR1d98il",block:'{"symbols":[],"statements":[[1,[20,"outlet"],false],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package/show.hbs"}})}),define("haskell-code-explorer/templates/package/show/file",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"n+gY0z10",block:'{"symbols":[],"statements":[[4,"if",[[22,["model","isHaskellModule"]]],null,{"statements":[[0," "],[1,[26,"haskell-module",null,[["path","name","packageId","componentId","html","identifiers","occurrences","colorTheme","declarations","findReferences"],[[22,["model","id"]],[22,["model","name"]],[22,["model","packageId"]],[22,["model","componentId"]],[22,["model","sourceCodeHtml"]],[22,["model","identifiers"]],[22,["model","occurrences"]],[22,["settings","colorTheme"]],[22,["model","declarations"]],[26,"action",[[21,0,[]],"findReferences"],null]]]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[26,"text-file",null,[["text","path"],[[22,["model","text"]],[22,["model","id"]]]]],false],[0,"\\n"]],"parameters":[]}]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package/show/file.hbs"}})}),define("haskell-code-explorer/templates/packages",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"mEyAL/ia",block:'{"symbols":["package","version","index","identifier"],"statements":[[6,"div"],[10,"class","flex-container container"],[8],[0,"\\n "],[6,"div"],[8],[0,"\\n "],[6,"div"],[10,"class","global-identifier-search-form"],[8],[0,"\\n"],[4,"input-with-autocomplete",null,[["onSubmit","createSearchUrlFunction","maxItems","selectItem","searchButtonText","placeholder"],[[26,"action",[[21,0,[]],"searchIdentifier"],null],[22,["createSearchUrlFunction"]],10,[26,"action",[[21,0,[]],"showIdentifier"],null],"Search in all packages","Haskell identifier"]],{"statements":[[0," "],[6,"span"],[10,"class","source-code-font"],[8],[1,[21,4,["demangledOccName"]],false],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,4,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[10,"class","module-name"],[8],[0,"\\n "],[6,"b"],[8],[1,[21,4,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,4,["locationInfo","packageId","version"]],false],[9],[0,"\\n"],[4,"if",[[21,4,["locationInfo","modulePath"]]],null,{"statements":[[0," "],[1,[21,4,["locationInfo","modulePath"]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[21,4,["locationInfo","moduleName"]],false],[0,"\\n"]],"parameters":[]}],[0," "],[9],[0,"\\n"]],"parameters":[4]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[8],[0,"\\n "],[6,"div"],[10,"class","package-search-form"],[8],[0,"\\n "],[1,[26,"input",null,[["class","type","value","placeholder"],["form-control","text",[22,["query"]],"Package name"]]],false],[0,"\\n "],[6,"span"],[8],[0,"Number of packages : "],[1,[22,["packages","length"]],false],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[10,"id","packages"],[10,"class","packages"],[8],[0,"\\n "],[6,"ul"],[8],[0,"\\n"],[4,"infinite-list",null,[["containerElementId","elements","perPage"],["packages",[22,["packages"]],80]],{"statements":[[0," "],[6,"li"],[8],[0,"\\n"],[4,"each",[[21,1,["versions"]]],null,{"statements":[[4,"link-to",["package",[26,"concat",[[21,1,["name"]],"-",[21,2,[]]],null]],null,{"statements":[[4,"if",[[26,"gt",[[21,3,[]],0],null]],null,{"statements":[[0," "],[1,[21,2,[]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[21,1,["name"]],false],[0,"-"],[1,[21,2,[]],false],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null]],"parameters":[2,3]},null],[0," "],[9],[0,"\\n"]],"parameters":[1]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/packages.hbs"}})}),define("haskell-code-explorer/templates/search",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"OGWU6vcF", +block:'{"symbols":["identifiers","identifier","identifier"],"statements":[[6,"div"],[10,"class","flex-container container"],[8],[0,"\\n "],[6,"div"],[10,"style","position:relative;height:100%"],[8],[0,"\\n "],[6,"div"],[10,"class","absolute-container"],[8],[0,"\\n "],[6,"div"],[10,"class","global-identifier-search-form"],[8],[0,"\\n"],[4,"input-with-autocomplete",null,[["onSubmit","createSearchUrlFunction","maxItems","selectItem","searchButtonText","placeholder"],[[26,"action",[[21,0,[]],"searchIdentifier"],null],[22,["createSearchUrlFunction"]],10,[26,"action",[[21,0,[]],"showIdentifier"],null],"Search in all packages","Haskell identifier"]],{"statements":[[0," "],[6,"span"],[10,"class","source-code-font"],[8],[1,[21,3,["demangledOccName"]],false],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,3,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[10,"class","module-name"],[8],[0,"\\n "],[6,"b"],[8],[1,[21,3,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,3,["locationInfo","packageId","version"]],false],[9],[0,"\\n"],[4,"if",[[21,3,["locationInfo","modulePath"]]],null,{"statements":[[0," "],[1,[21,3,["locationInfo","modulePath"]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[21,3,["locationInfo","moduleName"]],false],[0,"\\n"]],"parameters":[]}],[0," "],[9],[0,"\\n"]],"parameters":[3]},null],[0," "],[9],[0,"\\n "],[6,"div"],[8],[0,"\\n Query : "],[1,[22,["model","query"]],false],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[10,"class","global-search-results-content"],[8],[0,"\\n"],[4,"paginated-list",null,[["url"],[[22,["model","url"]]]],{"statements":[[0," "],[6,"ul"],[8],[0,"\\n"],[4,"each",[[21,1,[]]],null,{"statements":[[0," "],[6,"li"],[10,"class","search-result"],[8],[0,"\\n "],[6,"span"],[10,"class","source-code"],[8],[6,"b"],[8],[1,[21,2,["demangledOccName"]],false],[9],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,2,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[8],[6,"a"],[10,"href","#"],[11,"onmouseup",[26,"action",[[21,0,[]],"goToDefinition",[21,2,["locationInfo"]]],null]],[8],[0,"Go to definition"],[9],[9],[0,"\\n "],[6,"div"],[10,"class","identifier-module"],[8],[0,"\\n"],[4,"if",[[21,2,["locationInfo","modulePath"]]],null,{"statements":[[0," Defined in "],[6,"b"],[8],[0," "],[1,[21,2,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,2,["locationInfo","packageId","version"]],false],[0," "],[9],[0," "],[6,"a"],[11,"href",[27,["/package/",[21,2,["locationInfo","packageId","name"]],"-",[21,2,["locationInfo","packageId","version"]],"/show/",[21,2,["locationInfo","modulePath"]]]]],[8],[1,[21,2,["locationInfo","modulePath"]],false],[9],[0,"\\n"]],"parameters":[]},{"statements":[[0," Defined in "],[6,"b"],[8],[0," "],[1,[21,2,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,2,["locationInfo","packageId","version"]],false],[0," "],[9],[0," "],[1,[21,2,["locationInfo","moduleName"]],false],[0,"\\n"]],"parameters":[]}],[0," "],[9],[0,"\\n "],[6,"div"],[8],[1,[21,2,["doc"]],true],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[2]},null],[0," "],[9],[0,"\\n"]],"parameters":[1]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/search.hbs"}})}),define("haskell-code-explorer/utils/api-urls",["exports","haskell-code-explorer/config/environment"],function(e,t){function n(e){return"."===e?"%20%2E":".."===e?"%20%2E%2E":e.replace(/\./g,"%2E")}Object.defineProperty(e,"__esModule",{value:!0}),e.urls=void 0 e.urls={packageInfoUrl:function(e){return t.default.APP.staticUrlPrefix+"/"+e+"/"+t.default.APP.haskellCodeExplorerDirectory+"/packageInfo.json"},fileUrl:function(e,n){return t.default.APP.staticUrlPrefix+"/"+e+"/"+n},haskellModuleUrl:function(e,n){return t.default.APP.staticUrlPrefix+"/"+e+"/"+t.default.APP.haskellCodeExplorerDirectory+"/"+encodeURIComponent(encodeURIComponent(n))+".json"},packagesUrl:t.default.APP.apiUrlPrefix+"/packages",identifierDefinitionSiteUrl:function(e,o,s,l,i){return t.default.APP.apiUrlPrefix+"/definitionSite/"+e+"/"+s+"/"+o+"/"+l+"/"+n(encodeURIComponent(i))},modulePathUrl:function(e,n,o){return t.default.APP.apiUrlPrefix+"/modulePath/"+e+"/"+o+"/"+n},expressionsUrl:function(e,n,o,s,l,i){return t.default.APP.apiUrlPrefix+"/expressions/"+e+"/"+encodeURIComponent(n)+"/"+o+"/"+s+"/"+l+"/"+i},referencesUrl:function(e,n){return t.default.APP.apiUrlPrefix+"/references/"+e+"/"+encodeURIComponent(n)},identifierSearchUrl:function(e,o){return t.default.APP.apiUrlPrefix+"/identifiers/"+e+"/"+n(encodeURIComponent(o))},globalReferencesUrl:function(e){return t.default.APP.apiUrlPrefix+"/globalReferences/"+encodeURIComponent(e)},globalIdentifiersUrl:function(e){return t.default.APP.apiUrlPrefix+"/globalIdentifiers/"+n(encodeURIComponent(e))},hoogleDocsUrl:function(e,o,s,l){return t.default.APP.apiUrlPrefix+"/hoogleDocs/"+e+"/"+encodeURIComponent(o)+"/"+s+"/"+n(encodeURIComponent(l))}}}),define("haskell-code-explorer/utils/color-themes",["exports"],function(e){function t(e){return"\n body {\n color: "+e.defaultColor+" !important;\n background-color: "+e.backgroundColor+" !important;\n }\n input {\n color: "+e.defaultColor+" !important;\n background-color: "+e.backgroundColor+" !important;\n border-color: "+e.borderColor+" !important;\n }\n .package-content {\n border-top: 1px solid "+e.borderColor+" !important;\n }\n .header a {\n color : "+e.menuLinkColor+" !important;\n }\n a {\n color: "+e.typeColor+" !important;\n }\n span.link {\n color: "+e.typeColor+" !important;\n }\n .header {\n background-color: "+e.menuColor+" !important;\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n .declarations-content {\n background-color: "+e.navigationPanelColor+" !important;\n border: 1px solid "+e.borderColor+" !important;\n }\n .declarations-header {\n background-color: "+e.navigationPanelColor+" !important;\n border: 1px solid "+e.borderColor+" !important;\n }\n li.declaration {\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n .left-panel {\n background-color: "+e.navigationPanelColor+" !important;\n border-right: 1px solid "+e.borderColor+" !important;\n }\n .show-left-panel-button {\n background-color: "+e.navigationPanelColor+" !important;\n border-right:1px solid "+e.borderColor+" !important;\n border-bottom:1px solid "+e.borderColor+" !important;\n }\n .right-panel {\n background-color: "+e.backgroundColor+" !important;\n }\n a.jstree-anchor {\n color: "+e.defaultColor+" !important;\n }\n .declaration > a {\n color: "+e.defaultColor+" !important;\n }\n .highlighted-line {\n background : "+e.highlightedLineColor+" !important;\n }\n table.source-code {\n background-color: "+e.backgroundColor+" !important;\n color: "+e.defaultColor+" !important;\n }\n .jstree-clicked {\n background-color: "+e.backgroundColor+" !important;\n }\n .jstree-hovered {\n background-color: "+e.backgroundColor+" !important;\n }\n ul.autocomplete-items {\n background-color: "+e.backgroundColor+" !important;\n border-top: 1px solid "+e.borderColor+" !important;\n border-left: 1px solid "+e.borderColor+" !important;\n border-right: 1px solid "+e.borderColor+" !important;\n }\n ul.autocomplete-items > li {\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n ul.autocomplete-items > li:hover {\n background-color: "+e.highlightedLineColor+" !important;\n }\n ul.autocomplete-items > li.highlighted {\n background-color: "+e.highlightedLineColor+" !important;\n }\n .source-code-snippet {\n color: "+e.defaultColor+" !important;\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n .source-code-snippet:hover {\n background-color: "+e.highlightedLineColor+" !important;\n }\n .bottom-panel {\n background-color: "+e.backgroundColor+" !important;\n border-top: 1px solid "+e.borderColor+" !important;\n }\n .bottom-panel-header {\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n .paginated-list-header {\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n li.search-result {\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n .search-results-header {\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n .info-window-content {\n border-top: 1px solid "+e.borderColor+" !important;\n }\n .info-window {\n border: 1px solid "+e.borderColor+" !important;\n background-color:"+e.infoWindowColor+" !important;\n color: "+e.defaultColor+" !important;\n }\n .type-info {\n border-top: 1px solid "+e.borderColor+" !important;\n }\n .references-packages {\n border-right:1px solid "+e.borderColor+" !important;\n }"}function n(e){var n=document.createElement("style") n.type="text/css",n.innerHTML=t(e),n.id="color-theme" var o=document.querySelector("style#color-theme") @@ -220,5 +219,5 @@ var c=e.querySelector("td#LC"+a) return c&&o(c,e),[a]}}}function o(e,t){e.parentNode.scrollIntoView() var n=t.parentNode.parentNode,o=n.offsetHeight t.offsetHeight-n.scrollTop>o&&(n.scrollTop=n.scrollTop-(o/2-20))}function s(e,t,n){Array.prototype.slice.call(e.querySelectorAll("td.line-content")).forEach(function(e){var o=parseInt(e.id.substring(2)) -o>=t&&o<=n?e.classList.add("highlighted-line"):e.classList.remove("highlighted-line")})}Object.defineProperty(e,"__esModule",{value:!0}),e.initializeLineSelection=t,e.highlightLines=s,e.highlightSelectedLines=n}),define("haskell-code-explorer/config/environment",[],function(){try{var e="haskell-code-explorer/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n=JSON.parse(unescape(t)),o={default:n} -return Object.defineProperty(o,"__esModule",{value:!0}),o}catch(t){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("haskell-code-explorer/app").default.create({staticUrlPrefix:"/files",apiUrlPrefix:"/api",haskellCodeExplorerDirectory:".haskell-code-explorer",title:"Haskell Code Explorer",name:"haskell-code-explorer",version:"0.0.1+571363af"}) +o>=t&&o<=n?e.classList.add("highlighted-line"):e.classList.remove("highlighted-line")})}Object.defineProperty(e,"__esModule",{value:!0}),e.initializeLineSelection=t,e.highlightLines=s,e.highlightSelectedLines=n}),define("haskell-code-explorer/config/environment",[],function(){try{var e="haskell-code-explorer/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n=JSON.parse(decodeURIComponent(t)),o={default:n} +return Object.defineProperty(o,"__esModule",{value:!0}),o}catch(t){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("haskell-code-explorer/app").default.create({staticUrlPrefix:"/files",apiUrlPrefix:"/api",haskellCodeExplorerDirectory:".haskell-code-explorer",title:"Haskell Code Explorer",name:"haskell-code-explorer",version:"0.0.1+5f4a1f75"}) diff --git a/javascript/release/assets/haskell-code-explorer-717832df8786392c9b8a9bd8010463d2.css b/javascript/release/assets/haskell-code-explorer-717832df8786392c9b8a9bd8010463d2.css deleted file mode 100644 index 91d1666..0000000 --- a/javascript/release/assets/haskell-code-explorer-717832df8786392c9b8a9bd8010463d2.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Bootstrap v4.0.0 (https://getbootstrap.com) - * Copyright 2011-2018 The Bootstrap Authors - * Copyright 2011-2018 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */dd,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem}dl,ol,pre,ul{margin-top:0}address,dl,ol,p,pre,ul{margin-bottom:1rem}body,caption{text-align:left}pre,textarea{overflow:auto}article,aside,dialog,figcaption,figure,footer,header,hgroup,legend,main,nav,section{display:block}address,legend{line-height:inherit}progress,sub,sup{vertical-align:baseline}button,hr,input{overflow:visible}.btn-outline-danger,.btn-outline-dark,.btn-outline-info,.btn-outline-light,.btn-outline-primary,.btn-outline-success,.btn-outline-warning,.btn:not(:disabled):not(.disabled).active,.btn:not(:disabled):not(.disabled):active{background-image:none}.dropdown-menu,.nav,.navbar-nav{list-style:none}:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-weight:400;line-height:1.5;color:#212529;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0}.btn:not(:disabled):not(.disabled),.navbar-toggler:not(:disabled):not(.disabled),.page-link:not(:disabled):not(.disabled),summary{cursor:pointer}address{font-style:normal}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}blockquote,figure{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-size:1em}pre{-ms-overflow-style:scrollbar}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;caption-side:bottom}th{text-align:inherit}label,output{display:inline-block}button{border-radius:0}button:focus{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[type=submit],[type=reset],button,html [type=button]{-webkit-appearance:button}[type=submit]::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;color:inherit;white-space:normal}.badge,.btn,.dropdown-header,.dropdown-item,.input-group-text,.navbar-brand{white-space:nowrap}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}.display-1,.display-2,.display-3,.display-4{line-height:1.2}summary{display:list-item}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.blockquote,hr{margin-bottom:1rem}.display-1,.display-2,.display-3,.display-4,.lead{font-weight:300}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem}.display-1{font-size:6rem}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-4{font-size:3.5rem}hr{box-sizing:content-box;height:0;margin-top:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014 \00A0"}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}a>code,pre code{color:inherit}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{word-break:break-word}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}.container,.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto;width:100%}.btn,.btn-link,.dropdown-item{font-weight:400}pre{display:block}pre code{font-size:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.col-auto{flex:0 0 auto;width:auto;max-width:none}.col-1{flex:0 0 8.33333%;max-width:8.33333%}.col-2{flex:0 0 16.66667%;max-width:16.66667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333%;max-width:33.33333%}.col-5{flex:0 0 41.66667%;max-width:41.66667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333%;max-width:58.33333%}.col-8{flex:0 0 66.66667%;max-width:66.66667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333%;max-width:83.33333%}.col-11{flex:0 0 91.66667%;max-width:91.66667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:none}.col-sm-1{flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto;max-width:none}.col-md-1{flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:none}.col-lg-1{flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:none}.col-xl-1{flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}.table{width:100%;max-width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered,.table-responsive>.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.collapsing,.modal,.modal-open,.progress{overflow:hidden}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;background-color:transparent;border:solid transparent;border-width:1px 0}.custom-file-input.is-valid~.custom-file-label,.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-file-input:valid~.custom-file-label,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm,.input-group-lg>.form-control-plaintext.form-control,.input-group-lg>.input-group-append>.form-control-plaintext.btn,.input-group-lg>.input-group-append>.form-control-plaintext.input-group-text,.input-group-lg>.input-group-prepend>.form-control-plaintext.btn,.input-group-lg>.input-group-prepend>.form-control-plaintext.input-group-text,.input-group-sm>.form-control-plaintext.form-control,.input-group-sm>.input-group-append>.form-control-plaintext.btn,.input-group-sm>.input-group-append>.form-control-plaintext.input-group-text,.input-group-sm>.input-group-prepend>.form-control-plaintext.btn,.input-group-sm>.input-group-prepend>.form-control-plaintext.input-group-text{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-sm>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:calc(1.8125rem + 2px)}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-lg>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:calc(2.875rem + 2px)}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.invalid-tooltip,.valid-tooltip{position:absolute;z-index:5;max-width:100%;padding:.5rem;line-height:1;border-radius:.2rem;top:100%}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{display:none;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(40,167,69,.8)}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.form-check-input.is-valid~.form-check-label,.was-validated .custom-control-input:valid~.custom-control-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{background-color:#71dd8a}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid~.custom-file-label::before,.was-validated .custom-file-input:valid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-invalid~.custom-file-label,.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-file-input:invalid~.custom-file-label,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{display:none;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.8)}.collapsing,.dropdown,.dropup{position:relative}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.form-check-input.is-invalid~.form-check-label,.was-validated .custom-control-input:invalid~.custom-control-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{background-color:#efa2a9}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(220,53,69,.25)}.custom-file-input.is-invalid~.custom-file-label::before,.was-validated .custom-file-input:invalid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn-block,input[type=submit].btn-block,input[type=button].btn-block,input[type=reset].btn-block{width:100%}.btn{display:inline-block;text-align:center;vertical-align:middle;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn-primary.focus,.btn-primary:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-success.focus,.btn-success:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-info.focus,.btn-info:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-warning.focus,.btn-warning:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-danger.focus,.btn-danger:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-light.focus,.btn-light:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-dark.focus,.btn-dark:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-outline-primary.focus,.btn-outline-primary:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary{color:#007bff;background-color:transparent;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-secondary.focus,.btn-outline-secondary:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary{color:#6c757d;background-color:transparent;background-image:none;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-success.focus,.btn-outline-success:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success{color:#28a745;background-color:transparent;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-info.focus,.btn-outline-info:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info{color:#17a2b8;background-color:transparent;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-warning.focus,.btn-outline-warning:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning{color:#ffc107;background-color:transparent;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-danger.focus,.btn-outline-danger:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger{color:#dc3545;background-color:transparent;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-light.focus,.btn-outline-light:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light{color:#f8f9fa;background-color:transparent;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-dark.focus,.btn-outline-dark:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark{color:#343a40;background-color:transparent;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-link,.btn-link:hover{background-color:transparent}.btn-link.focus,.btn-link:focus,.btn-link:hover{text-decoration:underline;border-color:transparent}.btn-link{color:#007bff}.btn-link:hover{color:#0056b3}.btn-link.focus,.btn-link:focus{box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block}.btn-block+.btn-block{margin-top:.5rem}.dropdown-toggle::after,.dropup .dropdown-toggle::after{width:0;height:0;vertical-align:.255em;content:""}.fade{opacity:0;transition:opacity .15s linear}.fade.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{height:0;transition:height .35s ease}.dropdown-toggle::after{display:inline-block;margin-left:.255em;border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropup .dropdown-menu{margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropleft .dropdown-toggle::before,.dropright .dropdown-toggle::after{width:0;content:"";border-top:.3em solid transparent;border-bottom:.3em solid transparent;height:0}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;border-left:.3em solid;vertical-align:0}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-menu{margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;border-right:.3em solid;vertical-align:0}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn,.custom-control-label,.custom-file,.dropdown-header,.input-group-text,.nav{margin-bottom:0}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;color:#212529;text-align:inherit;background-color:transparent;border:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::before,.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child),.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-file:not(:first-child) .custom-file-label::before,.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;font-size:.875rem;color:#6c757d}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:0 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-group>.btn:first-child,.dropdown-toggle-split::after{margin-left:0}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.input-group-append,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text,.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{margin-left:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file:focus,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file{display:flex;align-items:center}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-prepend{margin-right:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.nav,.navbar{flex-wrap:wrap}.input-group-text input[type=radio],.input-group-text input[type=checkbox]{margin-top:0}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-label::after,.custom-control-label::before{position:absolute;top:.25rem;display:block;width:1rem;height:1rem;content:"";left:0}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-label::before{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label::before{pointer-events:none;user-select:none;background-color:#dee2e6}.custom-checkbox .custom-control-input:checked~.custom-control-label::before,.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{background-color:#007bff}.custom-control-label::after{background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-file,.custom-select{display:inline-block;width:100%}.custom-file-input:lang(en)~.custom-file-label::after,.custom-file-label::after{content:"Browse"}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before,.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center no-repeat #fff;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;appearance:none}.custom-select-lg,.custom-select-sm{padding-top:.375rem;padding-bottom:.375rem}.custom-file-input:focus~.custom-file-control::before,.custom-select:focus{border-color:#80bdff}.custom-select:focus{outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 5px rgba(128,189,255,.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);font-size:75%}.custom-select-lg{height:calc(2.875rem + 2px);font-size:125%}.custom-file,.custom-file-input,.custom-file-label{height:calc(2.25rem + 2px)}.custom-file{position:relative}.custom-file-input{position:relative;z-index:2;width:100%;margin:0;opacity:0}.custom-file-label,.custom-file-label::after{position:absolute;top:0;padding:.375rem .75rem;line-height:1.5;color:#495057;right:0}.custom-file-input:focus~.custom-file-control{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-label{left:0;z-index:1;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{bottom:0;z-index:3;display:block;height:calc(calc(2.25rem + 2px) - 1px * 2);background-color:#e9ecef;border-left:1px solid #ced4da;border-radius:0 .25rem .25rem 0}.nav{display:flex;padding-left:0}.nav-link,.navbar{padding:.5rem 1rem}.nav-link{display:block}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;align-items:center;justify-content:space-between}.navbar>.container,.navbar>.container-fluid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:center center no-repeat;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .dropup .dropdown-menu{top:auto;bottom:100%}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .dropup .dropdown-menu{top:auto;bottom:100%}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.modal-content,.popover{background-clip:padding-box}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{flex:1 1 auto;padding:1.25rem}.card-footer,.card-header{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03)}.card-title{margin-bottom:.75rem}.card-header,.card-subtitle,.card-text:last-child{margin-bottom:0}.card-subtitle{margin-top:-.375rem}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-header{border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.alert,.btn .badge,.page-link{position:relative}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:flex;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:flex;flex:1 0 0%;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:flex;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-header,.card-group>.card:first-child .card-img-top{border-top-right-radius:0}.card-group>.card:first-child .card-footer,.card-group>.card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-header,.card-group>.card:last-child .card-img-top{border-top-left-radius:0}.card-group>.card:last-child .card-footer,.card-group>.card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:.25rem}.card-group>.card:only-child .card-header,.card-group>.card:only-child .card-img-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group>.card:only-child .card-footer,.card-group>.card:only-child .card-img-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child),.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}.card-columns{column-count:3;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%}}.breadcrumb,.pagination{border-radius:.25rem;list-style:none}.card-columns .card{margin-bottom:.75rem}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;background-color:#e9ecef}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0}.page-link,.popover-body,.popover-header{padding:.5rem .75rem}.page-link{display:block;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.close:not(:disabled):not(.disabled),.ember-radio-button,.identifier,td.line-number{cursor:pointer}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.badge,.close{font-weight:700;line-height:1}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;text-align:center;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#6c757d}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#545b62}.badge-success{color:#fff;background-color:#28a745}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning{color:#212529;background-color:#ffc107}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#212529;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#212529;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#212529;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;background-color:#007bff;transition:width .6s ease}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.popover,.tooltip{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;text-decoration:none;word-wrap:break-word}.modal-title,.popover,.tooltip{line-height:1.5}.popover,.text-hide,.tooltip{text-shadow:none}.close:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;outline:0}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-25%)}.modal.show .modal-dialog{transform:translate(0,0)}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - (.5rem * 2))}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;align-items:center;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.popover,.popover .arrow,.popover .arrow::after,.popover .arrow::before,.tooltip,.tooltip .arrow{position:absolute;display:block}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{z-index:1070;margin:0;text-align:left;text-align:start;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{top:0;left:0;z-index:1060;max-width:276px;text-align:left;text-align:start;background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top] .arrow,.bs-popover-top .arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-top .arrow::before{border-width:.5rem .5rem 0}.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::before{bottom:0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-top .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-right .arrow::before{border-width:.5rem .5rem .5rem 0}.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::before{left:0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-right .arrow::after{left:1px;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-bottom .arrow::before{border-width:0 .5rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-bottom .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.carousel,.carousel-inner,.carousel-item{position:relative}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left] .arrow,.bs-popover-left .arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-left .arrow::before{border-width:.5rem 0 .5rem .5rem}.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-left .arrow::after{right:1px;border-left-color:#fff}.popover-header{margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{color:#212529}.carousel-inner{width:100%;overflow:hidden}.carousel-item{display:none;align-items:center;width:100%;transition:transform .6s ease;backface-visibility:hidden;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{transform:translateX(0)}@supports (transform-style:preserve-3d){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{transform:translateX(100%)}@supports (transform-style:preserve-3d){.active.carousel-item-right,.carousel-item-next{transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{transform:translateX(-100%)}@supports (transform-style:preserve-3d){.active.carousel-item-left,.carousel-item-prev{transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:center center no-repeat;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;background-color:rgba(255,255,255,.5)}.carousel-indicators li::after,.carousel-indicators li::before{left:0;display:inline-block;height:10px;position:absolute;content:"";width:100%}.carousel-indicators li::before{top:-10px}.carousel-indicators li::after{bottom:-10px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-left,.rounded-top{border-top-left-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.85714%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.fixed-bottom,.fixed-top{position:fixed;z-index:1030;right:0;left:0}.fixed-top{top:0}.fixed-bottom{bottom:0}@supports (position:sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;clip-path:none}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.right-panel,ul.modules{bottom:0;overflow-x:auto}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#545b62!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-muted{color:#6c757d!important}.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999}thead{display:table-header-group}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}.bottom-panel-header-content,.header-item{white-space:nowrap}body{font-size:14px}a,a:active,a:focus,a:hover,a:visited{outline:0}a.selected{text-decoration:underline}input:focus{outline:0}p{margin-top:1rem}label{margin-bottom:0}ol,ul{list-style:none;padding:0}li{list-style:none}.documentation{margin-top:10px}.documentation li{list-style:disc}.documentation ol,.documentation ul{padding-left:15px}.header,.package-header{padding:5px}.flex-container{display:flex;flex-direction:column;height:100%;width:100%}.absolute-container{position:absolute;top:0;bottom:0;left:0;right:0}.header{flex:none}.header img{float:left}.header-item{display:inline-block;margin-top:5px;font-size:1rem;margin-right:40px}.global-identifier-search-form,.package-search-form{margin-top:20px;max-width:500px}@media screen and (max-width:700px){.header-item{margin-right:10px;margin-left:10px}}.content{flex:auto;position:relative;overflow:auto}.packages{flex:auto;overflow-y:auto}.packages li{margin-bottom:5px}.packages a{margin-right:5px}.package-content{flex:auto;position:relative}.package-header-input{display:inline-block;margin-right:10px}.package-modules{margin-left:10px}.module-name{font-size:.7rem}.package-search-form{margin-bottom:10px}.package-header-filename{white-space:nowrap;margin-left:35px}.package-header-package-name{margin-right:10px;font-size:17px}.module-search-input{max-width:500px;margin:5px}ul.modules{position:absolute;top:50px;margin:0;padding-left:15px;left:0;right:0;display:flex;flex-direction:column;flex-wrap:wrap}ul.modules li{margin-right:10px}.left-panel{position:absolute;bottom:0;top:0;left:0;width:300px}.show-left-panel-button{position:absolute;top:0;right:-20px;z-index:2;width:20px;height:20px;text-align:center;vertical-align:middle;opacity:.6;display:none}.show-left-panel-button a{text-decoration:none}.show-left-panel-button:hover{opacity:1;cursor:pointer}.hide-file-tree{position:relative;top:8px;left:3px}.hide-declarations{margin:7px}.right-panel{position:absolute;top:0;right:0;left:300px;overflow-y:auto}.file-tree-container{overflow-x:hidden;overflow-y:auto;position:absolute;bottom:0;top:0;left:0;right:0}.bottom-panel,.bottom-panel-content,.file-container{position:absolute;right:0;overflow-x:auto;overflow-y:auto;bottom:0;left:0}.file-container{top:0}.bottom-panel{display:none;z-index:4}.bottom-panel-header{position:absolute;top:0;right:0;left:0;height:35px;padding:5px}.bottom-panel-content{top:35px}.bottom-panel-header-options{float:right}.source-code,code,pre{white-space:pre;line-height:1.25}.highlighted-identifier{border-radius:3px;box-shadow:0 0 0 1px #B4B4B4}td.line-number{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:1%;min-width:60px;text-align:left;padding-left:10px;opacity:.8}td.line-number:hover{opacity:1}td.line-content{padding-left:5px}.source-code{font-family:Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;tab-size:4}.break-word{word-wrap:break-word}code,pre{font-family:Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif!important;font-size:100%;color:unset}.source-code-font{font-family:Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;line-height:1.25}.source-code-snippet{padding:4px;text-decoration:none!important;display:block}.source-code-snippet>b{border-radius:3px;border:1px solid #B4B4B4;margin:-1px}.declarations div,.source-code-container{margin:5px}.source-code-snippet:hover{text-decoration:none}.declarations{position:fixed;top:150px;right:15px;width:450px;z-index:1}.declarations-header{opacity:.9;height:50px}.declarations-content{opacity:.9;position:absolute;top:50px;left:0;right:0;max-height:500px;overflow-y:auto;overflow-x:hidden}@media screen and (max-width:1500px){.declarations{display:none}}.info-window-container{position:absolute;width:750px;z-index:10}.info-window-header{margin:5px;width:100%;cursor:move;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}.info-window-content{max-height:200px;overflow-x:auto;overflow-y:auto}.info-window-options{margin-right:10px;margin-left:10px;float:right}.ui-draggable-dragging .info-window-header{cursor:grabbing;cursor:-moz-grabbing;cursor:-webkit-grabbing}span.link{cursor:pointer;white-space:nowrap}span.link:hover{text-decoration:underline}.ui-resizable-n{height:13px!important}.ui-resizable-w{width:13px!important}.type-info{padding-top:5px;padding-bottom:5px}.type-component{display:inline-block}dd{margin-left:1em}.autocomplete-container{position:absolute;z-index:10;display:none;left:0}ul.autocomplete-items li{cursor:pointer;max-height:200px;overflow:hidden}.autocomplete-item{padding:5px}.file-tree-header{position:absolute;top:0;left:0;right:0;height:65px;margin:5px}.file-tree-content{position:absolute;top:70px;left:0;right:0;bottom:0;overflow-x:auto}button{color:#000}.paginated-list-header{position:absolute;top:0;left:0;right:0;height:40px;padding:5px;white-space:nowrap}.paginated-list-content{position:absolute;top:40px;bottom:0;left:0;right:0;overflow:auto}.pagination-button{font-size:10px}.search-results-header{position:absolute;top:0;left:0;right:0;height:35px;padding:5px;white-space:nowrap}.search-results-content{position:absolute;top:35px;bottom:0;left:0;right:0}.global-search-results-content{position:absolute;top:80px;bottom:0;left:0;right:0}.references,.references-packages{position:absolute;top:0;bottom:0}.search-result{padding:5px}.expression{margin-bottom:15px}.expressions,.identifier-info{margin:5px}.file-name{margin-left:5px}.identifier-module{margin-top:10px}.identifier-menu-item{margin-right:10px}.references-packages{width:230px;overflow:auto;padding:5px}.references{left:230px;right:0} \ No newline at end of file diff --git a/javascript/release/assets/vendor-c68699fa3ef851ebff1b584737d944c2.css b/javascript/release/assets/vendor-c68699fa3ef851ebff1b584737d944c2.css deleted file mode 100644 index 6ff1da5..0000000 --- a/javascript/release/assets/vendor-c68699fa3ef851ebff1b584737d944c2.css +++ /dev/null @@ -1,3 +0,0 @@ -/*! jQuery UI - v1.12.1 - 2018-03-18 -* http://jqueryui.com -* Copyright jQuery Foundation and other contributors; Licensed MIT */.jstree-anchor:focus,.vakata-context li>a:focus{outline:0}.jstree-anchor,.jstree-node{white-space:nowrap}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.jstree-children,.jstree-container-ul,.jstree-node{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-anchor,.jstree-icon,.jstree-icon:empty{display:inline-block;margin:0;vertical-align:top}.jstree-anchor{padding:0 4px 0 1px}.jstree-anchor,.jstree-anchor:active,.jstree-anchor:hover,.jstree-anchor:link,.jstree-anchor:visited{text-decoration:none;color:inherit}.jstree-icon,.jstree-icon:empty{text-decoration:none;padding:0;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children,.jstree-anchor>.jstree-themeicon-hidden,.jstree-hidden,.jstree-no-icons .jstree-themeicon,.jstree-node.jstree-hidden{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jstree-contextmenu .jstree-anchor{-webkit-user-select:none;-webkit-touch-callout:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999}.vakata-context .vakata-context-hover>a,.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 #fff;border-radius:1px}.vakata-context li>a>i,.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context .vakata-contextmenu-disabled>a>i{filter:grayscale(100%)}.vakata-context li>a>i{text-decoration:none;display:inline-block;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-copy,#jstree-dnd .jstree-icon{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default .jstree-icon,.jstree-default .jstree-node{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-animated,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-context,.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{color:#666}.jstree-default .jstree-disabled.jstree-hovered{box-shadow:none}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{min-width:100%;display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top}.jstree-default>.jstree-wholerow-ul .jstree-clicked,.jstree-default>.jstree-wholerow-ul .jstree-hovered{background:0 0;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;height:24px}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-webkit-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:linear-gradient(to bottom,#beebff 0,#a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px;background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon,.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon,.jstree-default .jstree-node{background-image:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png)}.jstree-default .jstree-last{background:0 0}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default>.jstree-no-dots .jstree-node{background:0 0}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled,.jstree-default .jstree-disabled.jstree-hovered{background:0 0}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default .jstree-checked>.jstree-checkbox,.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox{background-position:-228px -4px}.jstree-default .jstree-checked>.jstree-checkbox:hover,.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px;background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node{background:0 0}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber-62be6ed2b189444b472b8000dc187240.gif) center center no-repeat}.jstree-default .jstree-file{background:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png) -100px -68px no-repeat}.jstree-default .jstree-folder{background:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png) -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-er,#jstree-dnd.jstree-default .jstree-ok{background-image:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:0 0;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default .jstree-ellipsis{overflow:hidden}.jstree-default .jstree-ellipsis .jstree-anchor{width:calc(100% - 29px);text-overflow:ellipsis;overflow:hidden}#jstree-dnd.jstree-default-small i,.jstree-default-small .jstree-icon,.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px;background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-icon,.jstree-default-small .jstree-node{background-image:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png)}.jstree-default-small .jstree-last{background:0 0}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-small>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled,.jstree-default-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small .jstree-checked>.jstree-checkbox,.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small .jstree-checked>.jstree-checkbox:hover,.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px;background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber-62be6ed2b189444b472b8000dc187240.gif) center center no-repeat}.jstree-default-small .jstree-file{background:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png) -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png) -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-er,#jstree-dnd.jstree-default-small .jstree-ok{background-image:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:0 0}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small .jstree-ellipsis{overflow:hidden}.jstree-default-small .jstree-ellipsis .jstree-anchor{width:calc(100% - 23px);text-overflow:ellipsis;overflow:hidden}#jstree-dnd.jstree-default-large i,.jstree-default-large .jstree-icon,.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px;background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-icon,.jstree-default-large .jstree-node{background-image:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png)}.jstree-default-large .jstree-last{background:0 0}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-large>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled,.jstree-default-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large .jstree-checked>.jstree-checkbox,.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large .jstree-checked>.jstree-checkbox:hover,.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px;background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber-62be6ed2b189444b472b8000dc187240.gif) center center no-repeat}.jstree-default-large .jstree-file{background:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png) -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png) -256px 0 no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-er,#jstree-dnd.jstree-default-large .jstree-ok{background-image:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:0 0}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large .jstree-ellipsis{overflow:hidden}.jstree-default-large .jstree-ellipsis .jstree-anchor{width:calc(100% - 37px);text-overflow:ellipsis;overflow:hidden}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px-51286e68b083696edaf4f9fc577e2a2d.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px-51286e68b083696edaf4f9fc577e2a2d.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive .jstree-node{background:0 0}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:0 0}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive>.jstree-striped{background:0 0}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon{background-image:url(40px-51286e68b083696edaf4f9fc577e2a2d.png);background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:0 0}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url(40px-51286e68b083696edaf4f9fc577e2a2d.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url(40px-51286e68b083696edaf4f9fc577e2a2d.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background:#d6d6d6;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px} \ No newline at end of file diff --git a/javascript/release/assets/vendor-ec4ad93c0a3d82f998b275a606baae84.css b/javascript/release/assets/vendor-ec4ad93c0a3d82f998b275a606baae84.css new file mode 100644 index 0000000..bc3c11a --- /dev/null +++ b/javascript/release/assets/vendor-ec4ad93c0a3d82f998b275a606baae84.css @@ -0,0 +1,3 @@ +/*! jQuery UI - v1.12.1 - 2018-03-18 +* http://jqueryui.com +* Copyright jQuery Foundation and other contributors; Licensed MIT */.jstree-anchor,.jstree-node,.vakata-context li>a{white-space:nowrap}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.jstree-wholerow-ul,.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon,.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.jstree-children,.jstree-container-ul,.jstree-node{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-anchor,.jstree-icon,.jstree-icon:empty{display:inline-block;margin:0;vertical-align:top}.jstree-anchor{padding:0 4px 0 1px}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:active,.jstree-anchor:hover,.jstree-anchor:link,.jstree-anchor:visited{text-decoration:none;color:inherit}.jstree-icon,.jstree-icon:empty{text-decoration:none;padding:0;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children,.jstree-anchor>.jstree-themeicon-hidden,.jstree-hidden,.jstree-no-icons .jstree-themeicon,.jstree-node.jstree-hidden{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jstree-contextmenu .jstree-anchor{-webkit-user-select:none;-webkit-touch-callout:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999}.vakata-context .vakata-context-hover>a,.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;line-height:2.4em;text-shadow:1px 1px 0 #fff;border-radius:1px}.vakata-context li>a>i,.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context .vakata-contextmenu-disabled>a>i{filter:grayscale(100%)}.vakata-context li>a>i{text-decoration:none;display:inline-block;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-copy,#jstree-dnd .jstree-icon{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon,.pace-inactive{display:none}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default .jstree-icon,.jstree-default .jstree-node{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-animated,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-context,.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-disabled{color:#666}.jstree-default .jstree-disabled.jstree-hovered{box-shadow:none}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{min-width:100%;display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top}.jstree-default>.jstree-wholerow-ul .jstree-clicked,.jstree-default>.jstree-wholerow-ul .jstree-hovered{background:0 0;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;height:24px}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-webkit-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:linear-gradient(to bottom,#beebff 0,#a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px;background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon,.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon,.jstree-default .jstree-node{background-image:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png)}.jstree-default .jstree-last{background:0 0}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default>.jstree-no-dots .jstree-node{background:0 0}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled,.jstree-default .jstree-disabled.jstree-hovered{background:0 0}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default .jstree-checked>.jstree-checkbox,.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox{background-position:-228px -4px}.jstree-default .jstree-checked>.jstree-checkbox:hover,.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px;background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node{background:0 0}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber-62be6ed2b189444b472b8000dc187240.gif) center center no-repeat}.jstree-default .jstree-file{background:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png) -100px -68px no-repeat}.jstree-default .jstree-folder{background:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png) -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-er,#jstree-dnd.jstree-default .jstree-ok{background-image:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:0 0;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default .jstree-ellipsis{overflow:hidden}.jstree-default .jstree-ellipsis .jstree-anchor{width:calc(100% - 29px);text-overflow:ellipsis;overflow:hidden}#jstree-dnd.jstree-default-small i,.jstree-default-small .jstree-icon,.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px;background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-icon,.jstree-default-small .jstree-node{background-image:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png)}.jstree-default-small .jstree-last{background:0 0}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-small>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled,.jstree-default-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small .jstree-checked>.jstree-checkbox,.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small .jstree-checked>.jstree-checkbox:hover,.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px;background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber-62be6ed2b189444b472b8000dc187240.gif) center center no-repeat}.jstree-default-small .jstree-file{background:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png) -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png) -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-er,#jstree-dnd.jstree-default-small .jstree-ok{background-image:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:0 0}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small .jstree-ellipsis{overflow:hidden}.jstree-default-small .jstree-ellipsis .jstree-anchor{width:calc(100% - 23px);text-overflow:ellipsis;overflow:hidden}#jstree-dnd.jstree-default-large i,.jstree-default-large .jstree-icon,.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px;background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-icon,.jstree-default-large .jstree-node{background-image:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png)}.jstree-default-large .jstree-last{background:0 0}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-large>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled,.jstree-default-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large .jstree-checked>.jstree-checkbox,.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large .jstree-checked>.jstree-checkbox:hover,.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px;background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber-62be6ed2b189444b472b8000dc187240.gif) center center no-repeat}.jstree-default-large .jstree-file{background:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png) -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png) -256px 0 no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-er,#jstree-dnd.jstree-default-large .jstree-ok{background-image:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:0 0}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large .jstree-ellipsis{overflow:hidden}.jstree-default-large .jstree-ellipsis .jstree-anchor{width:calc(100% - 37px);text-overflow:ellipsis;overflow:hidden}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px-51286e68b083696edaf4f9fc577e2a2d.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px-51286e68b083696edaf4f9fc577e2a2d.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive .jstree-node{background:0 0}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:0 0}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive>.jstree-striped{background:0 0}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon{background-image:url(40px-51286e68b083696edaf4f9fc577e2a2d.png);background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:0 0}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url(40px-51286e68b083696edaf4f9fc577e2a2d.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url(40px-51286e68b083696edaf4f9fc577e2a2d.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace .pace-progress{background:#d6d6d6;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px} \ No newline at end of file diff --git a/javascript/release/assets/vendor-b97a1e7d03d00bb4514dc45da44b51ff.js b/javascript/release/assets/vendor-f5e9739e5dff1ec0540918c848a0553c.js similarity index 77% rename from javascript/release/assets/vendor-b97a1e7d03d00bb4514dc45da44b51ff.js rename to javascript/release/assets/vendor-f5e9739e5dff1ec0540918c848a0553c.js index e0cf922..fe0d27c 100644 --- a/javascript/release/assets/vendor-b97a1e7d03d00bb4514dc45da44b51ff.js +++ b/javascript/release/assets/vendor-f5e9739e5dff1ec0540918c848a0553c.js @@ -1,7 +1,8 @@ -function createDeprecatedModule(e){define(e,["exports","ember-resolver/resolver","ember"],function(t,n,r){r.default.deprecate("Usage of `"+e+"` module is deprecated, please update to `ember-resolver`.",!1,{id:"ember-resolver.legacy-shims",until:"3.0.0"}),t.default=n.default})}window.EmberENV={FEATURES:{},EXTEND_PROTOTYPES:{Date:!1}} +function createDeprecatedModule(e){define(e,["exports","ember-resolver/resolver","ember"],function(t,n,r){r.default.deprecate("Usage of `"+e+"` module is deprecated, please update to `ember-resolver`.",!1,{id:"ember-resolver.legacy-shims",until:"3.0.0"}),t.default=n.default})}window.EmberENV=function(e,t){for(var n in t)e[n]=t[n] +return e}(window.EmberENV||{},{FEATURES:{},EXTEND_PROTOTYPES:{Date:!1}}) var runningTests=!1,loader,define,requireModule,require,requirejs;(function(e){"use strict" function t(){var e=Object.create(null) -return e.__=void 0,delete e.__,e}function n(e){throw new Error("an unsupported module was defined, expected `define(id, deps, module)` instead got: `"+e+"` arguments to define`")}function r(e,t,n,r){this.uuid=p++,this.id=e,this.deps=!t.length&&n.length?f:t,this.module={exports:{}},this.callback=n,this.hasExportsAsDep=!1,this.isAlias=r,this.reified=new Array(t.length),this.state="new"}function i(){}function o(e){this.id=e}function s(e,t){throw new Error("Could not find module `"+e+"` imported from `"+t+"`")}function a(e,t,n){for(var r=h[e]||h[e+"/index"];r&&r.isAlias;)r=h[r.id] +return e.__=void 0,delete e.__,e}function n(e){throw new Error("an unsupported module was defined, expected `define(id, deps, module)` instead got: `"+e+"` arguments to define`")}function r(e,t,n,r){this.uuid=p++,this.id=e,this.deps=!t.length&&n.length?f:t,this.module={exports:{}},this.callback=n,this.hasExportsAsDep=!1,this.isAlias=r,this.reified=new Array(t.length),this.state="new"}function i(){}function o(e){this.id=e}function s(e,t){throw new Error("Could not find module `"+e+"` imported from `"+t+"`")}function a(e,t,n){for(var r=h[e]||h[e+"/index"];r&&r.isAlias;)r=h[r.id]||h[r.id+"/index"] return r||s(e,t),n&&"pending"!==r.state&&"finalized"!==r.state&&(r.findDeps(n),n.push(r)),r}function u(e,t){if("."!==e.charAt(0))return e for(var n=e.split("/"),r=t.split("/"),i=r.slice(0,-1),o=0,s=n.length;ol;)if((a=u[l++])!=a)return!0}else for(;c>l;l++)if((e||l in u)&&u[l]===n)return e||l||0 return!e&&-1}}},{114:114,117:117,118:118}],12:[function(e,t,n){var r=e(25),i=e(47),o=e(119),s=e(118),a=e(15) t.exports=function(e,t){var n=1==e,u=2==e,c=3==e,l=4==e,h=6==e,d=5==e||h,p=t||a -return function(t,a,f){for(var g,m,v=o(t),y=i(v),b=r(a,f,3),C=s(y.length),A=0,_=n?p(t,C):u?p(t,0):void 0;C>A;A++)if((d||A in y)&&(g=y[A],m=b(g,A,v),e))if(n)_[A]=m -else if(m)switch(e){case 3:return!0 -case 5:return g -case 6:return A -case 2:_.push(g)}else if(l)return!1 -return h?-1:c||l?l:_}}},{118:118,119:119,15:15,25:25,47:47}],13:[function(e,t,n){var r=e(3),i=e(119),o=e(47),s=e(118) +return function(t,a,f){for(var m,g,v=o(t),y=i(v),b=r(a,f,3),_=s(y.length),w=0,x=n?p(t,_):u?p(t,0):void 0;_>w;w++)if((d||w in y)&&(m=y[w],g=b(m,w,v),e))if(n)x[w]=g +else if(g)switch(e){case 3:return!0 +case 5:return m +case 6:return w +case 2:x.push(m)}else if(l)return!1 +return h?-1:c||l?l:x}}},{118:118,119:119,15:15,25:25,47:47}],13:[function(e,t,n){var r=e(3),i=e(119),o=e(47),s=e(118) t.exports=function(e,t,n,a,u){r(t) var c=i(e),l=o(c),h=s(c.length),d=u?h-1:0,p=u?-1:1 if(n<2)for(;;){if(d in l){a=l[d],d+=p @@ -76,39 +77,39 @@ return i(t.prototype)&&(a.prototype=t.prototype),a}},{3:3,46:46,51:51}],17:[func t.exports=function(e){var t,n,a return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=s(t=Object(e),i))?n:o?r(t):"Object"==(a=r(t))&&"function"==typeof t.callee?"Arguments":a}},{128:128,18:18}],18:[function(e,t,n){var r={}.toString t.exports=function(e){return r.call(e).slice(8,-1)}},{}],19:[function(e,t,n){"use strict" -var r=e(72).f,i=e(71),o=e(93),s=e(25),a=e(6),u=e(39),c=e(55),l=e(57),h=e(100),d=e(29),p=e(66).fastKey,f=e(125),g=d?"_s":"size",m=function(e,t){var n,r=p(t) +var r=e(72).f,i=e(71),o=e(93),s=e(25),a=e(6),u=e(39),c=e(55),l=e(57),h=e(100),d=e(29),p=e(66).fastKey,f=e(125),m=d?"_s":"size",g=function(e,t){var n,r=p(t) if("F"!==r)return e._i[r] for(n=e._f;n;n=n.n)if(n.k==t)return n} -t.exports={getConstructor:function(e,t,n,c){var l=e(function(e,r){a(e,l,t,"_i"),e._t=t,e._i=i(null),e._f=void 0,e._l=void 0,e[g]=0,void 0!=r&&u(r,n,e[c],e)}) +t.exports={getConstructor:function(e,t,n,c){var l=e(function(e,r){a(e,l,t,"_i"),e._t=t,e._i=i(null),e._f=void 0,e._l=void 0,e[m]=0,void 0!=r&&u(r,n,e[c],e)}) return o(l.prototype,{clear:function(){for(var e=f(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i] -e._f=e._l=void 0,e[g]=0},delete:function(e){var n=f(this,t),r=m(n,e) +e._f=e._l=void 0,e[m]=0},delete:function(e){var n=f(this,t),r=g(n,e) if(r){var i=r.n,o=r.p -delete n._i[r.i],r.r=!0,o&&(o.n=i),i&&(i.p=o),n._f==r&&(n._f=i),n._l==r&&(n._l=o),n[g]--}return!!r},forEach:function(e){f(this,t) -for(var n,r=s(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!m(f(this,t),e)}}),d&&r(l.prototype,"size",{get:function(){return f(this,t)[g]}}),l},def:function(e,t,n){var r,i,o=m(e,t) -return o?o.v=n:(e._l=o={i:i=p(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=o),r&&(r.n=o),e[g]++,"F"!==i&&(e._i[i]=o)),e},getEntry:m,setStrong:function(e,t,n){c(e,t,function(e,n){this._t=f(e,t),this._k=n,this._l=void 0},function(){for(var e=this,t=e._k,n=e._l;n&&n.r;)n=n.p +delete n._i[r.i],r.r=!0,o&&(o.n=i),i&&(i.p=o),n._f==r&&(n._f=i),n._l==r&&(n._l=o),n[m]--}return!!r},forEach:function(e){f(this,t) +for(var n,r=s(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!g(f(this,t),e)}}),d&&r(l.prototype,"size",{get:function(){return f(this,t)[m]}}),l},def:function(e,t,n){var r,i,o=g(e,t) +return o?o.v=n:(e._l=o={i:i=p(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=o),r&&(r.n=o),e[m]++,"F"!==i&&(e._i[i]=o)),e},getEntry:g,setStrong:function(e,t,n){c(e,t,function(e,n){this._t=f(e,t),this._k=n,this._l=void 0},function(){for(var e=this,t=e._k,n=e._l;n&&n.r;)n=n.p return e._t&&(e._l=n=n?n.n:e._t._f)?"keys"==t?l(0,n.k):"values"==t?l(0,n.v):l(0,[n.k,n.v]):(e._t=void 0,l(1))},n?"entries":"values",!n,!0),h(t)}}},{100:100,125:125,25:25,29:29,39:39,55:55,57:57,6:6,66:66,71:71,72:72,93:93}],20:[function(e,t,n){var r=e(17),i=e(10) t.exports=function(e){return function(){if(r(this)!=e)throw TypeError(e+"#toJSON isn't generic") return i(this)}}},{10:10,17:17}],21:[function(e,t,n){"use strict" -var r=e(93),i=e(66).getWeak,o=e(7),s=e(51),a=e(6),u=e(39),c=e(12),l=e(41),h=e(125),d=c(5),p=c(6),f=0,g=function(e){return e._l||(e._l=new m)},m=function(){this.a=[]},v=function(e,t){return d(e.a,function(e){return e[0]===t})} -m.prototype={get:function(e){var t=v(this,e) +var r=e(93),i=e(66).getWeak,o=e(7),s=e(51),a=e(6),u=e(39),c=e(12),l=e(41),h=e(125),d=c(5),p=c(6),f=0,m=function(e){return e._l||(e._l=new g)},g=function(){this.a=[]},v=function(e,t){return d(e.a,function(e){return e[0]===t})} +g.prototype={get:function(e){var t=v(this,e) if(t)return t[1]},has:function(e){return!!v(this,e)},set:function(e,t){var n=v(this,e) n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=p(this.a,function(t){return t[0]===e}) return~t&&this.a.splice(t,1),!!~t}},t.exports={getConstructor:function(e,t,n,o){var c=e(function(e,r){a(e,c,t,"_i"),e._t=t,e._i=f++,e._l=void 0,void 0!=r&&u(r,n,e[o],e)}) return r(c.prototype,{delete:function(e){if(!s(e))return!1 var n=i(e) -return!0===n?g(h(this,t)).delete(e):n&&l(n,this._i)&&delete n[this._i]},has:function(e){if(!s(e))return!1 +return!0===n?m(h(this,t)).delete(e):n&&l(n,this._i)&&delete n[this._i]},has:function(e){if(!s(e))return!1 var n=i(e) -return!0===n?g(h(this,t)).has(e):n&&l(n,this._i)}}),c},def:function(e,t,n){var r=i(o(t),!0) -return!0===r?g(e).set(t,n):r[e._i]=n,e},ufstore:g}},{12:12,125:125,39:39,41:41,51:51,6:6,66:66,7:7,93:93}],22:[function(e,t,n){"use strict" +return!0===n?m(h(this,t)).has(e):n&&l(n,this._i)}}),c},def:function(e,t,n){var r=i(o(t),!0) +return!0===r?m(e).set(t,n):r[e._i]=n,e},ufstore:m}},{12:12,125:125,39:39,41:41,51:51,6:6,66:66,7:7,93:93}],22:[function(e,t,n){"use strict" var r=e(40),i=e(33),o=e(94),s=e(93),a=e(66),u=e(39),c=e(6),l=e(51),h=e(35),d=e(56),p=e(101),f=e(45) -t.exports=function(e,t,n,g,m,v){var y=r[e],b=y,C=m?"set":"add",A=b&&b.prototype,_={},I=function(e){var t=A[e] -o(A,e,"delete"==e?function(e){return!(v&&!l(e))&&t.call(this,0===e?0:e)}:"has"==e?function(e){return!(v&&!l(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return v&&!l(e)?void 0:t.call(this,0===e?0:e)}:"add"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})} -if("function"==typeof b&&(v||A.forEach&&!h(function(){(new b).entries().next()}))){var w=new b,x=w[C](v?{}:-0,1)!=w,k=h(function(){w.has(1)}),j=d(function(e){new b(e)}),E=!v&&h(function(){for(var e=new b,t=5;t--;)e[C](t,t) +t.exports=function(e,t,n,m,g,v){var y=r[e],b=y,_=g?"set":"add",w=b&&b.prototype,x={},k=function(e){var t=w[e] +o(w,e,"delete"==e?function(e){return!(v&&!l(e))&&t.call(this,0===e?0:e)}:"has"==e?function(e){return!(v&&!l(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return v&&!l(e)?void 0:t.call(this,0===e?0:e)}:"add"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})} +if("function"==typeof b&&(v||w.forEach&&!h(function(){(new b).entries().next()}))){var j=new b,E=j[_](v?{}:-0,1)!=j,S=h(function(){j.has(1)}),C=d(function(e){new b(e)}),A=!v&&h(function(){for(var e=new b,t=5;t--;)e[_](t,t) return!e.has(-0)}) -j||(b=t(function(t,n){c(t,b,e) +C||(b=t(function(t,n){c(t,b,e) var r=f(new y,t,b) -return void 0!=n&&u(n,m,r[C],r),r}),b.prototype=A,A.constructor=b),(k||E)&&(I("delete"),I("has"),m&&I("get")),(E||x)&&I(C),v&&A.clear&&delete A.clear}else b=g.getConstructor(t,e,m,C),s(b.prototype,n),a.NEED=!0 -return p(b,e),_[e]=b,i(i.G+i.W+i.F*(b!=y),_),v||g.setStrong(b,e,m),b}},{101:101,33:33,35:35,39:39,40:40,45:45,51:51,56:56,6:6,66:66,93:93,94:94}],23:[function(e,t,n){var r=t.exports={version:"2.5.0"} +return void 0!=n&&u(n,g,r[_],r),r}),b.prototype=w,w.constructor=b),(S||A)&&(k("delete"),k("has"),g&&k("get")),(A||E)&&k(_),v&&w.clear&&delete w.clear}else b=m.getConstructor(t,e,g,_),s(b.prototype,n),a.NEED=!0 +return p(b,e),x[e]=b,i(i.G+i.W+i.F*(b!=y),x),v||m.setStrong(b,e,g),b}},{101:101,33:33,35:35,39:39,40:40,45:45,51:51,56:56,6:6,66:66,93:93,94:94}],23:[function(e,t,n){var r=t.exports={version:"2.5.0"} "number"==typeof __e&&(__e=r)},{}],24:[function(e,t,n){"use strict" var r=e(72),i=e(92) t.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},{72:72,92:92}],25:[function(e,t,n){var r=e(3) @@ -127,9 +128,9 @@ return e}},{}],29:[function(e,t,n){t.exports=!e(35)(function(){return 7!=Object. t.exports=function(e){return o?i.createElement(e):{}}},{40:40,51:51}],31:[function(e,t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},{}],32:[function(e,t,n){var r=e(81),i=e(78),o=e(82) t.exports=function(e){var t=r(e),n=i.f if(n)for(var s,a=n(e),u=o.f,c=0;a.length>c;)u.call(e,s=a[c++])&&t.push(s) -return t}},{78:78,81:81,82:82}],33:[function(e,t,n){var r=e(40),i=e(23),o=e(42),s=e(94),a=e(25),u=function(e,t,n){var c,l,h,d,p=e&u.F,f=e&u.G,g=e&u.S,m=e&u.P,v=e&u.B,y=f?r:g?r[t]||(r[t]={}):(r[t]||{}).prototype,b=f?i:i[t]||(i[t]={}),C=b.prototype||(b.prototype={}) +return t}},{78:78,81:81,82:82}],33:[function(e,t,n){var r=e(40),i=e(23),o=e(42),s=e(94),a=e(25),u=function(e,t,n){var c,l,h,d,p=e&u.F,f=e&u.G,m=e&u.S,g=e&u.P,v=e&u.B,y=f?r:m?r[t]||(r[t]={}):(r[t]||{}).prototype,b=f?i:i[t]||(i[t]={}),_=b.prototype||(b.prototype={}) f&&(n=t) -for(c in n)l=!p&&y&&void 0!==y[c],h=(l?y:n)[c],d=v&&l?a(h,r):m&&"function"==typeof h?a(Function.call,h):h,y&&s(y,c,h,e&u.U),b[c]!=h&&o(b,c,d),m&&C[c]!=h&&(C[c]=h)} +for(c in n)l=!p&&y&&void 0!==y[c],h=(l?y:n)[c],d=v&&l?a(h,r):g&&"function"==typeof h?a(Function.call,h):h,y&&s(y,c,h,e&u.U),b[c]!=h&&o(b,c,d),g&&_[c]!=h&&(_[c]=h)} r.core=i,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},{23:23,25:25,40:40,42:42,94:94}],34:[function(e,t,n){var r=e(128)("match") t.exports=function(e){var t=/./ try{"/./"[e](t)}catch(n){try{return t[r]=!1,!"/./"[e](t)}catch(e){}}return!0}},{128:128}],35:[function(e,t,n){t.exports=function(e){try{return!!e()}catch(e){return!0}}},{}],36:[function(e,t,n){"use strict" @@ -140,12 +141,12 @@ return t[u]=function(){return 7},7!=""[e](t)})&&(i(String.prototype,e,l),r(RegEx var r=e(7) t.exports=function(){var e=r(this),t="" return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},{7:7}],38:[function(e,t,n){"use strict" -function r(e,t,n,c,l,h,d,p){for(var f,g,m=l,v=0,y=!!d&&a(d,p,3);v0)m=r(e,t,f,s(f.length),m,h-1)-1 -else{if(m>=9007199254740991)throw TypeError() -e[m]=f}m++}v++}return m}var i=e(49),o=e(51),s=e(118),a=e(25),u=e(128)("isConcatSpreadable") -t.exports=r},{118:118,128:128,25:25,49:49,51:51}],39:[function(e,t,n){var r=e(25),i=e(53),o=e(48),s=e(7),a=e(118),u=e(129),c={},l={},n=t.exports=function(e,t,n,h,d){var p,f,g,m,v=d?function(){return e}:u(e),y=r(n,h,t?2:1),b=0 +function r(e,t,n,c,l,h,d,p){for(var f,m,g=l,v=0,y=!!d&&a(d,p,3);v0)g=r(e,t,f,s(f.length),g,h-1)-1 +else{if(g>=9007199254740991)throw TypeError() +e[g]=f}g++}v++}return g}var i=e(49),o=e(51),s=e(118),a=e(25),u=e(128)("isConcatSpreadable") +t.exports=r},{118:118,128:128,25:25,49:49,51:51}],39:[function(e,t,n){var r=e(25),i=e(53),o=e(48),s=e(7),a=e(118),u=e(129),c={},l={},n=t.exports=function(e,t,n,h,d){var p,f,m,g,v=d?function(){return e}:u(e),y=r(n,h,t?2:1),b=0 if("function"!=typeof v)throw TypeError(e+" is not iterable!") -if(o(v)){for(p=a(e.length);p>b;b++)if((m=t?y(s(f=e[b])[0],f[1]):y(e[b]))===c||m===l)return m}else for(g=v.call(e);!(f=g.next()).done;)if((m=i(g,y,f.value,t))===c||m===l)return m} +if(o(v)){for(p=a(e.length);p>b;b++)if((g=t?y(s(f=e[b])[0],f[1]):y(e[b]))===c||g===l)return g}else for(m=v.call(e);!(f=m.next()).done;)if((g=i(m,y,f.value,t))===c||g===l)return g} n.BREAK=c,n.RETURN=l},{118:118,129:129,25:25,48:48,53:53,7:7}],40:[function(e,t,n){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")() "number"==typeof __g&&(__g=r)},{}],41:[function(e,t,n){var r={}.hasOwnProperty t.exports=function(e,t){return r.call(e,t)}},{}],42:[function(e,t,n){var r=e(72),i=e(92) @@ -169,11 +170,11 @@ throw void 0!==o&&r(o.call(e)),t}}},{7:7}],54:[function(e,t,n){"use strict" var r=e(71),i=e(92),o=e(101),s={} e(42)(s,e(128)("iterator"),function(){return this}),t.exports=function(e,t,n){e.prototype=r(s,{next:i(1,n)}),o(e,t+" Iterator")}},{101:101,128:128,42:42,71:71,92:92}],55:[function(e,t,n){"use strict" var r=e(60),i=e(33),o=e(94),s=e(42),a=e(41),u=e(58),c=e(54),l=e(101),h=e(79),d=e(128)("iterator"),p=!([].keys&&"next"in[].keys()),f=function(){return this} -t.exports=function(e,t,n,g,m,v,y){c(n,t,g) -var b,C,A,_=function(e){if(!p&&e in k)return k[e] -switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},I=t+" Iterator",w="values"==m,x=!1,k=e.prototype,j=k[d]||k["@@iterator"]||m&&k[m],E=j||_(m),S=m?w?_("entries"):E:void 0,T="Array"==t?k.entries||j:j -if(T&&(A=h(T.call(new e)))!==Object.prototype&&A.next&&(l(A,I,!0),r||a(A,d)||s(A,d,f)),w&&j&&"values"!==j.name&&(x=!0,E=function(){return j.call(this)}),r&&!y||!p&&!x&&k[d]||s(k,d,E),u[t]=E,u[I]=f,m)if(b={values:w?E:_("values"),keys:v?E:_("keys"),entries:S},y)for(C in b)C in k||o(k,C,b[C]) -else i(i.P+i.F*(p||x),t,b) +t.exports=function(e,t,n,m,g,v,y){c(n,t,m) +var b,_,w,x=function(e){if(!p&&e in S)return S[e] +switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},k=t+" Iterator",j="values"==g,E=!1,S=e.prototype,C=S[d]||S["@@iterator"]||g&&S[g],A=C||x(g),P=g?j?x("entries"):A:void 0,T="Array"==t?S.entries||C:C +if(T&&(w=h(T.call(new e)))!==Object.prototype&&w.next&&(l(w,k,!0),r||a(w,d)||s(w,d,f)),j&&C&&"values"!==C.name&&(E=!0,A=function(){return C.call(this)}),r&&!y||!p&&!E&&S[d]||s(S,d,A),u[t]=A,u[k]=f,g)if(b={values:j?A:x("values"),keys:v?A:x("keys"),entries:P},y)for(_ in b)_ in S||o(S,_,b[_]) +else i(i.P+i.F*(p||E),t,b) return b}},{101:101,128:128,33:33,41:41,42:42,54:54,58:58,60:60,79:79,94:94}],56:[function(e,t,n){var r=e(128)("iterator"),i=!1 try{var o=[7][r]() o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(e){}t.exports=function(e,t){if(!t&&!i)return!1 @@ -212,7 +213,7 @@ t=e,n=r}),this.resolve=i(t),this.reject=i(n)}var i=e(3) t.exports.f=function(e){return new r(e)}},{3:3}],70:[function(e,t,n){"use strict" var r=e(81),i=e(78),o=e(82),s=e(119),a=e(47),u=Object.assign t.exports=!u||e(35)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst" -return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=u({},e)[n]||Object.keys(u({},t)).join("")!=r})?function(e,t){for(var n=s(e),u=arguments.length,c=1,l=i.f,h=o.f;u>c;)for(var d,p=a(arguments[c++]),f=l?r(p).concat(l(p)):r(p),g=f.length,m=0;g>m;)h.call(p,d=f[m++])&&(n[d]=p[d]) +return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=u({},e)[n]||Object.keys(u({},t)).join("")!=r})?function(e,t){for(var n=s(e),u=arguments.length,c=1,l=i.f,h=o.f;u>c;)for(var d,p=a(arguments[c++]),f=l?r(p).concat(l(p)):r(p),m=f.length,g=0;m>g;)h.call(p,d=f[g++])&&(n[d]=p[d]) return n}:u},{119:119,35:35,47:47,78:78,81:81,82:82}],71:[function(e,t,n){var r=e(7),i=e(73),o=e(31),s=e(102)("IE_PROTO"),a=function(){},u=function(){var t,n=e(30)("iframe"),r=o.length for(n.style.display="none",e(43).appendChild(n),n.src="javascript:",t=n.contentWindow.document,t.open(),t.write(" - - + + - - + + diff --git a/server b/server index 6795b8b..901e61d 100755 --- a/server +++ b/server @@ -1,7 +1,59 @@ +#!/usr/bin/env bash + +set -euo pipefail + +cd javascript +npm run release +cd .. + haskell-code-server \ --package . \ --package ../hakyll \ --package ../lrucache \ --package ../pandoc \ --package ../attoparsec \ + --package ../pandoc \ + --package ../parsec \ + --package ../servant/servant \ + --package ../servant/servant-auth/servant-auth-client \ + --package ../servant/servant-auth/servant-auth-docs \ + --package ../servant/servant-auth/servant-auth-server \ + --package ../servant/servant-auth/servant-auth-swagger \ + --package ../servant/servant-client \ + --package ../servant/servant-client-core \ + --package ../servant/servant-client-ghcjs \ + --package ../servant/servant-conduit \ + --package ../servant/servant-docs \ + --package ../servant/servant-foreign \ + --package ../servant/servant-http-streams \ + --package ../servant/servant-machines \ + --package ../servant/servant-pipes \ + --package ../servant/servant-quickcheck \ + --package ../servant/servant-server \ + --package ../servant/servant-swagger \ + --package ../wai/auto-update \ + --package ../wai/mime-types \ + --package ../wai/recv \ + --package ../wai/time-manager \ + --package ../wai/wai \ + --package ../wai/wai-app-static \ + --package ../wai/wai-conduit \ + --package ../wai/wai-extra \ + --package ../wai/wai-frontend-monadcgi \ + --package ../wai/wai-http2-extra \ + --package ../wai/wai-websockets \ + --package ../wai/warp \ + --package ../wai/warp-quic \ + --package ../wai/warp-tls \ + --package ../cabal/Cabal-syntax \ + --package ../cabal/Cabal \ + --package ../cabal/Cabal-described \ + --package ../cabal/Cabal-QuickCheck \ + --package ../cabal/Cabal-tests \ + --package ../cabal/Cabal-tree-diff \ + --package ../cabal/cabal-benchmarks \ + --package ../cabal/cabal-install-solver \ + --package ../cabal/cabal-install \ + --package ../cabal/cabal-testsuite \ + --package ../cabal/solver-benchmarks \ --port 8080 \ No newline at end of file diff --git a/src/HaskellCodeExplorer/GhcUtils.hs b/src/HaskellCodeExplorer/GhcUtils.hs index 11753c9..0243d27 100644 --- a/src/HaskellCodeExplorer/GhcUtils.hs +++ b/src/HaskellCodeExplorer/GhcUtils.hs @@ -413,11 +413,16 @@ moduleLocationInfo unitState flags moduleNameMap currentPackageId compId moduleN Nothing -> currentPackageLocation _ -> currentPackageLocation +isFilePathSameAsModPath :: HCE.HaskellFilePath -> HCE.HaskellModulePath -> Bool +isFilePathSameAsModPath haskellFilePath haskellModulePath = + let filePath = HCE.getHaskellFilePath haskellFilePath + modulePath = HCE.getHaskellModulePath haskellModulePath + in T.isSuffixOf modulePath filePath + isDefinedInCurrentModule :: HCE.SourceCodeTransformation -> HCE.HaskellFilePath -> Bool isDefinedInCurrentModule transformation file = let includedFiles = HM.keys $ HCE.fileIndex transformation - modPath = HCE.getHaskellModulePath transformation.filePath - in HCE.getHaskellFilePath file == modPath || (file `elem` includedFiles) + in isFilePathSameAsModPath file transformation.filePath || (file `elem` includedFiles) nameLocationInfo :: UnitState diff --git a/src/HaskellCodeExplorer/ModuleInfo.hs b/src/HaskellCodeExplorer/ModuleInfo.hs index 48f95e7..fb54b48 100644 --- a/src/HaskellCodeExplorer/ModuleInfo.hs +++ b/src/HaskellCodeExplorer/ModuleInfo.hs @@ -257,7 +257,7 @@ createModuleInfo (fileMap, defSiteMap, moduleNameMap) (flags, typecheckedModule, , externalIds = externalIds } , if not $ isHsBoot modulePath - then (HM.union + then ( HM.union (HM.fromList . (( HCE.HaskellFilePath $ HCE.getHaskellModulePath modulePath , modulePath) :) . diff --git a/src/HaskellCodeExplorer/PackageInfo.hs b/src/HaskellCodeExplorer/PackageInfo.hs index 6739827..d66ed1c 100644 --- a/src/HaskellCodeExplorer/PackageInfo.hs +++ b/src/HaskellCodeExplorer/PackageInfo.hs @@ -134,6 +134,7 @@ import System.FilePath , addTrailingPathSeparator , isAbsolute , joinPath + , makeRelative , normalise , replaceExtension , splitPath @@ -749,9 +750,12 @@ findHaskellModulePath buildDir srcDirs modSum = do | otherwise -> do return Nothing Nothing -> do - toHaskellModulePath modulePath + absBuildDir <- makeAbsolute buildDir + let relativePath = makeRelative absBuildDir modulePath + toHaskellModulePath relativePath Nothing -> do return Nothing + indexModule :: HCE.SourceCodePreprocessing diff --git a/temp.html b/temp.html new file mode 100644 index 0000000..e69de29 From 5aa8094e52b80f1d145ecd23aaf1d586d154e41c Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Sat, 8 Nov 2025 22:02:16 +0800 Subject: [PATCH 17/22] Filter haskell modules in DirTree --- indexer | 98 +++++++++---------- ...lorer-444a9fb93e5ba11e858dc42c9b54ce47.js} | 2 +- javascript/release/index.html | 4 +- src/HaskellCodeExplorer/PackageInfo.hs | 5 +- 4 files changed, 56 insertions(+), 53 deletions(-) rename javascript/release/assets/{haskell-code-explorer-470eee8a7194bbaf0c429fc96db08c30.js => haskell-code-explorer-444a9fb93e5ba11e858dc42c9b54ce47.js} (99%) diff --git a/indexer b/indexer index 7b64243..8adfbc2 100755 --- a/indexer +++ b/indexer @@ -5,11 +5,11 @@ set -euo pipefail stack build stack install -rm -rf ./.haskell-code-explorer -stack --stack-yaml ../haskell-code-explorer/stack.yaml exec -- haskell-code-indexer -v --dist .stack-work/dist/aarch64-osx/ghc-9.10.2/ -p . --before-preprocessing +# rm -rf ./.haskell-code-explorer +# stack --stack-yaml ../haskell-code-explorer/stack.yaml exec -- haskell-code-indexer -v --dist .stack-work/dist/aarch64-osx/ghc-9.10.2/ -p . --before-preprocessing -rm -rf ../hakyll/.haskell-code-explorer -stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v --dist ../hakyll/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../hakyll --before-preprocessing +# rm -rf ../hakyll/.haskell-code-explorer +# stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v --dist ../hakyll/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../hakyll --before-preprocessing # rm -rf ../lrucache/.haskell-code-explorer # stack --stack-yaml ../lrucache/stack.yaml exec -- haskell-code-indexer -v --dist ../lrucache/dist-newstyles/dist/aarch64-osx/ghc-9.10.2/ -p ../lrucache --before-preprocessing @@ -23,50 +23,50 @@ stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v --dist . # rm -rf ../parsec/.haskell-code-explorer # stack --stack-yaml ../parsec/stack.yaml exec -- haskell-code-indexer -v --dist ../parsec/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../parsec --before-preprocessing -# rm -rf ../hakyll/.haskell-code-explorer -# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant --before-preprocessing -# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-client/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-client --before-preprocessing -# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-docs/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-docs --before-preprocessing -# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-server/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-server --before-preprocessing -# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-swagger/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-swagger --before-preprocessing -# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-client/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-client --before-preprocessing -# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-client-core/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-client-core --before-preprocessing -# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-client-ghcjs/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-client-ghcjs --before-preprocessing -# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-conduit/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-conduit --before-preprocessing -# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-docs/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-docs --before-preprocessing -# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-foreign/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-foreign --before-preprocessing -# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-http-streams/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-http-streams --before-preprocessing -# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-machines/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-machines --before-preprocessing -# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-pipes/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-pipes --before-preprocessing -# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-quickcheck/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-quickcheck --before-preprocessing -# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-server/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-server --before-preprocessing -# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-swagger/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-swagger --before-preprocessing +rm -rf ../wai/.haskell-code-explorer +stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/auto-update/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/auto-update --before-preprocessing +stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/mime-types/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/mime-types --before-preprocessing +stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/recv/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/recv --before-preprocessing +stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/time-manager/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/time-manager --before-preprocessing +stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai --before-preprocessing +stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-app-static/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-app-stat --before-preprocessing +stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-conduit/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-conduit --before-preprocessing +stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-extra/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-extra --before-preprocessing +stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-frontend-monadcgi/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-frontend-mona --before-preprocessing +stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-http2-extra/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-http2-extra --before-preprocessing +stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-websockets/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-websockets --before-preprocessing +stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/warp/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/warp --ghc "-fno-allow-sendfilefd" --before-preprocessing +stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/warp-quic/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/warp-quic --before-preprocessing +stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/warp-tls/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/warp-tls --before-preprocessing -# rm -rf ../wai/.haskell-code-explorer -# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/auto-update/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/auto-update --before-preprocessing -# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/mime-types/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/mime-types --before-preprocessing -# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/recv/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/recv --before-preprocessing -# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/time-manager/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/time-manager --before-preprocessing -# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai --before-preprocessing -# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-app-static/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-app-stat --before-preprocessingic -# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-conduit/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-conduit --before-preprocessing -# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-extra/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-extra --before-preprocessing -# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-frontend-monadcgi/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-frontend-mona --before-preprocessingdcgi -# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-http2-extra/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-http2-extra --before-preprocessing -# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-websockets/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-websockets --before-preprocessing -# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/warp/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/warp --ghc "-fno-allow-sendfilefd" --before-preprocessing -# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/warp-quic/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/warp-quic --before-preprocessing -# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/warp-tls/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/warp-tls --before-preprocessing +rm -rf ../cabal/.haskell-code-explorer +stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-syntax/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-syntax --ghc "-i./.stack-work/dist/aarch64-osx/ghc-9.10.2/build" --before-preprocessing +stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal --before-preprocessing +stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-described/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-described --before-preprocessing +stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-QuickCheck/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-QuickCheck --before-preprocessing +stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-tests/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-tests --before-preprocessing +stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-tree-diff/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-tree-diff --before-preprocessing +stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-benchmarks/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-benchmarks --before-preprocessing +stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-install-solver/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-install-solver --before-preprocessing +stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-install/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-install --before-preprocessing +stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-testsuite/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-testsuite --before-preprocessing +stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/solver-benchmarks/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/solver-benchmarks --before-preprocessing -# rm -rf ../cabal/.haskell-code-explorer -# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-syntax/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-syntax --ghc "-i./.stack-work/dist/aarch64-osx/ghc-9.10.2/build" --before-preprocessing -# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal --before-preprocessing -# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-described/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-described --before-preprocessing -# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-QuickCheck/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-QuickCheck --before-preprocessing -# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-tests/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-tests --before-preprocessing -# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-tree-diff/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-tree-diff --before-preprocessing -# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-benchmarks/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-benchmarks --before-preprocessing -# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-install-solver/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-install-solver --before-preprocessing -# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-install/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-install --before-preprocessing -# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-testsuite/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-testsuite --before-preprocessing -# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/solver-benchmarks/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/solver-benchmarks --before-preprocessing \ No newline at end of file +rm -rf ../servant/.haskell-code-explorer +stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant --before-preprocessing +stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-client/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-client --before-preprocessing +stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-docs/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-docs --before-preprocessing +stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-server/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-server --before-preprocessing +stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-swagger/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-swagger --before-preprocessing +stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-client/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-client --before-preprocessing +stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-client-core/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-client-core --before-preprocessing +stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-client-ghcjs/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-client-ghcjs --before-preprocessing +stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-conduit/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-conduit --before-preprocessing +stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-docs/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-docs --before-preprocessing +stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-foreign/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-foreign --before-preprocessing +stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-http-streams/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-http-streams --before-preprocessing +stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-machines/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-machines --before-preprocessing +stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-pipes/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-pipes --before-preprocessing +stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-quickcheck/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-quickcheck --before-preprocessing +stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-server/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-server --before-preprocessing +stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-swagger/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-swagger --before-preprocessing \ No newline at end of file diff --git a/javascript/release/assets/haskell-code-explorer-470eee8a7194bbaf0c429fc96db08c30.js b/javascript/release/assets/haskell-code-explorer-444a9fb93e5ba11e858dc42c9b54ce47.js similarity index 99% rename from javascript/release/assets/haskell-code-explorer-470eee8a7194bbaf0c429fc96db08c30.js rename to javascript/release/assets/haskell-code-explorer-444a9fb93e5ba11e858dc42c9b54ce47.js index ca25fb9..df5a2a5 100644 --- a/javascript/release/assets/haskell-code-explorer-470eee8a7194bbaf0c429fc96db08c30.js +++ b/javascript/release/assets/haskell-code-explorer-444a9fb93e5ba11e858dc42c9b54ce47.js @@ -220,4 +220,4 @@ return c&&o(c,e),[a]}}}function o(e,t){e.parentNode.scrollIntoView() var n=t.parentNode.parentNode,o=n.offsetHeight t.offsetHeight-n.scrollTop>o&&(n.scrollTop=n.scrollTop-(o/2-20))}function s(e,t,n){Array.prototype.slice.call(e.querySelectorAll("td.line-content")).forEach(function(e){var o=parseInt(e.id.substring(2)) o>=t&&o<=n?e.classList.add("highlighted-line"):e.classList.remove("highlighted-line")})}Object.defineProperty(e,"__esModule",{value:!0}),e.initializeLineSelection=t,e.highlightLines=s,e.highlightSelectedLines=n}),define("haskell-code-explorer/config/environment",[],function(){try{var e="haskell-code-explorer/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n=JSON.parse(decodeURIComponent(t)),o={default:n} -return Object.defineProperty(o,"__esModule",{value:!0}),o}catch(t){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("haskell-code-explorer/app").default.create({staticUrlPrefix:"/files",apiUrlPrefix:"/api",haskellCodeExplorerDirectory:".haskell-code-explorer",title:"Haskell Code Explorer",name:"haskell-code-explorer",version:"0.0.1+5f4a1f75"}) +return Object.defineProperty(o,"__esModule",{value:!0}),o}catch(t){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("haskell-code-explorer/app").default.create({staticUrlPrefix:"/files",apiUrlPrefix:"/api",haskellCodeExplorerDirectory:".haskell-code-explorer",title:"Haskell Code Explorer",name:"haskell-code-explorer",version:"0.0.1+9b84bbf1"}) diff --git a/javascript/release/index.html b/javascript/release/index.html index 770d4e9..4b27a66 100644 --- a/javascript/release/index.html +++ b/javascript/release/index.html @@ -8,7 +8,7 @@ - + @@ -18,7 +18,7 @@ - + diff --git a/src/HaskellCodeExplorer/PackageInfo.hs b/src/HaskellCodeExplorer/PackageInfo.hs index d66ed1c..3d88a38 100644 --- a/src/HaskellCodeExplorer/PackageInfo.hs +++ b/src/HaskellCodeExplorer/PackageInfo.hs @@ -442,9 +442,12 @@ buildDirectoryTree path ignoreDirectories isHaskellModule = do case splitPath p of _x:xs -> joinPath xs [] -> "" + filterHaskellModule :: HCE.DirTree -> Bool + filterHaskellModule (HCE.File _ _ False) = False + filterHaskellModule _ = True toDirTree :: DT.DirTree FilePath -> HCE.DirTree toDirTree (DT.Dir name contents) = - HCE.Dir name (map toDirTree . filter (not . DT.failed) $ contents) + HCE.Dir name (filter filterHaskellModule $ map toDirTree . filter (not . DT.failed) $ contents) toDirTree (DT.File name filePath) = HCE.File name filePath (isHaskellModule filePath) toDirTree (DT.Failed name err) = From 47b04edeb3d09e249ecabac9d8016f8b1bbf4b6a Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Sun, 9 Nov 2025 12:50:19 +0800 Subject: [PATCH 18/22] Upgrade server script --- .gitignore | 1 + ...plorer-444a9fb93e5ba11e858dc42c9b54ce47.js | 223 ------------------ javascript/release/index.html | 4 +- server | 3 + 4 files changed, 6 insertions(+), 225 deletions(-) delete mode 100644 javascript/release/assets/haskell-code-explorer-444a9fb93e5ba11e858dc42c9b54ce47.js diff --git a/.gitignore b/.gitignore index 26e1129..17c6f4d 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ stack*.yaml.lock *.dyn_o vendor +distribute \ No newline at end of file diff --git a/javascript/release/assets/haskell-code-explorer-444a9fb93e5ba11e858dc42c9b54ce47.js b/javascript/release/assets/haskell-code-explorer-444a9fb93e5ba11e858dc42c9b54ce47.js deleted file mode 100644 index df5a2a5..0000000 --- a/javascript/release/assets/haskell-code-explorer-444a9fb93e5ba11e858dc42c9b54ce47.js +++ /dev/null @@ -1,223 +0,0 @@ -"use strict" -define("haskell-code-explorer/app",["exports","ember-resolver","ember-load-initializers","haskell-code-explorer/config/environment"],function(e,t,n,o){Object.defineProperty(e,"__esModule",{value:!0}) -var s -s=Ember.Application.extend({modulePrefix:o.default.modulePrefix,Resolver:t.default}),(0,n.default)(s,o.default.modulePrefix),e.default=s}),define("haskell-code-explorer/components/bottom-panel",["exports"],function(e){function t(e){var t=Math.floor(e.$containerElement.height()/2) -e.$().css({display:"block",top:t+"px"}),e.$topPanelElement.css({height:t+"px"})}function n(e){var t=Math.floor(e.$containerElement.height()/2) -e.$().css({display:"none",height:t+"px"}),e.$topPanelElement.css({height:"100%"})}Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({classNames:["bottom-panel"],didInsertElement:function(){var e=this -this._super.apply(this,arguments),this.$topPanelElement=Ember.$(this.get("topPanelElementId")),this.$containerElement=Ember.$(this.get("containerElementId")),Ember.run.next(this,function(){Ember.$(e.element).resizable({handles:"n",maxHeight:700,minHeight:200,resize:function(t,n){Ember.run.next(e,function(){e.$topPanelElement.css({height:e.$containerElement.height()-n.size.height})})}})})},visibilityObserver:Ember.observer("visible",function(){this.get("visible")?t(this):n(this)}),actions:{close:function(){this.set("visible",!1)}}})}),define("haskell-code-explorer/components/expression-info",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({})}),define("haskell-code-explorer/components/file-tree",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}) -var t=function e(t,o){return o.contents.map(function(o){var s={} -return s.text=o.name,s.data=o,o.path&&(s.id=o.path,s.a_attr={href:"/package/"+t+"/show/"+o.path}),"Dir"===o.tag?(s.children=e(t,o),s.state={opened:n(o)}):o.isHaskellModule?(s.icon="/assets/haskell.ico",s.isHaskellModule=!0):(s.icon="jstree-file",s.isHaskellModule=!1),s})},n=function e(t){return t.contents.some(function(t){return"File"===t.tag?t.isHaskellModule:e(t)})},o=function(e){var t=e.lastIndexOf(".") -return t<1?"":e.substr(t+1)} -e.default=Ember.Component.extend({query:null,sortType:"alphabetical",sortTypeObserver:Ember.observer("sortType",function(){var e=this -Ember.run.next(this,function(){e.jstree.refresh()})}),didInsertElement:function(){var e=this -this._super.apply(this,arguments) -var n=this.element.getElementsByClassName("file-tree")[0],s=this,l=Ember.$(n).jstree({core:{data:t(this.get("packageId"),this.get("directoryTree"))},plugins:["search","sort"],search:{case_insensitive:!0,show_only_matches:!0,show_only_matches_children:!0},sort:function(e,t){var n=this.get_node(e).data,l=this.get_node(t).data -if("alphabetical"===s.get("sortType"))return n.name.localeCompare(l.name) -var i=("Dir"===n.tag?"0":"1")+o(n.name)+n.name,r=("Dir"===l.tag?"0":"1")+o(l.name)+l.name -return i.localeCompare(r)}}) -l.on("select_node.jstree",function(t,n){var o=n.node.data -"Dir"!=o.tag&&e.sendAction("openFile",o.path)}) -var i=l.jstree(!0) -if(this.get("currentFile")){i.select_node(this.get("currentFile")) -var r=i.get_node(this.get("currentFile"),!0)[0] -r&&r.scrollIntoView()}this.jstree=i},currentFileObserver:Ember.observer("currentFile",function(){var e=this -Ember.run.next(function(){e.jstree.deselect_all(),e.jstree.select_node(e.get("currentFile"))})}),queryObserver:Ember.observer("query",function(){this.get("query")?this.jstree.search(this.get("query")):this.jstree.clear_search()}),actions:{hide:function(){this.get("hide")()}}})}),define("haskell-code-explorer/components/haskell-module",["exports","haskell-code-explorer/utils/go-to-definition","haskell-code-explorer/utils/line-selection","haskell-code-explorer/utils/language-extensions"],function(e,t,n,o){function s(e,t){return e.line===t.line?e.column===t.column?0:e.column>t.column?1:-1:e.line>t.line?1:-1}function l(e,t,n){if(e[t.line]&&e[n.line]){if(t.line===n.line)return e[t.line].slice(t.column-1,n.column-1) -for(var o=e[t.line],s=[],l=t.line+1;l0){var s=null -o.forEach(function(o){var l=d(o,n.get("identifiers"),n.get("occurrences"),n.get("path"),n.get("colorTheme"),n.get("name")) -o.style.cssText=l,o.onmouseup=function(e){if(s&&clearTimeout(s),window.getSelection().isCollapsed){var l=n.get("identifiers")[o.dataset.identifier],i=n.get("occurrences")[o.dataset.occurrence],r=parseInt(o.parentNode.dataset.line) -"ModuleId"===i.sort.tag?(0,t.goToDefinition)(n.get("store"),i.sort.contents,e.which,r):!l||1!==e.which&&2!==e.which||(i.isBinder?"External"===l.sort&&n.get("findReferences")(n.get("packageId"),l.externalId,l.demangledOccName,l.locationInfo):(0,t.goToDefinition)(n.get("store"),l.locationInfo,e.which,r))}},o.onmouseover=function(){r(e,o,!0),s&&clearTimeout(s),s=setTimeout(function(){Ember.run.next(n,function(){var e=n.get("identifiers")[o.dataset.identifier],t=n.get("occurrences")[o.dataset.occurrence] -console.log(t),console.log(e),n.set("selectedIdentifier",o),n.set("currentLineNumber",parseInt(o.parentNode.dataset.line)||1),n.set("identifierInfo",e),n.set("identifierOccurrence",t),n.set("hasSelectedExpression",!1),n.set("isHoveredOverIdentifier",!0)})},250)},o.onmouseout=function(){r(e,o,!1),s&&clearTimeout(s),s=setTimeout(function(){Ember.run.next(n,function(){n.set("isHoveredOverIdentifier",!1)})},250)}}),n.timer=s}}function p(e,t){return e===t||!!(16&e.compareDocumentPosition(t))}function h(e,t){var n=Array.prototype.slice.call(e.querySelectorAll("td.line-content")) -if(n.length>0){var o=[""] -n.forEach(function(e){o.push(e.textContent)}) -var i=["#text","SPAN","TD"],r=!1,a=!1,c=function(){Ember.run.next(function(){if(!r&&!a){a=!0,setTimeout(function(){a=!1},400),t.set("hasSelectedExpression",!1) -var n=window.getSelection() -if(n.anchorNode&&n.focusNode&&p(e,n.anchorNode)&&p(e,n.focusNode)&&-1!==i.indexOf(n.anchorNode.nodeName)&&-1!==i.indexOf(n.focusNode.nodeName)&&!n.isCollapsed){var c=document.createRange() -c.setStart(n.anchorNode,n.anchorOffset),c.setEnd(n.focusNode,n.focusOffset) -var d=c.collapsed,u=void 0,h=void 0,m=void 0,f=void 0 -d?(u=n.focusNode,h=n.focusOffset,m=n.anchorNode,f=n.anchorOffset):(u=n.anchorNode,h=n.anchorOffset,m=n.focusNode,f=n.focusOffset) -var g=void 0,b=void 0,k=void 0,x=void 0,y=void 0 -if("#text"===u.nodeName){var w=u.parentNode -if(b=parseInt(w.dataset.start)+h,g=parseInt(w.parentNode.dataset.line),h===u.textContent.length&&null===w.nextSibling){for(var v=u.parentNode.parentNode.parentNode,_=v.nextSibling;""===_.children[1].textContent;)_=_.nextSibling -y=_.children[1].children[0]}else y=0!==h&&w.nextSibling?w.nextSibling:w}else if("SPAN"===u.nodeName){b=1,g=parseInt(u.parentNode.dataset.line) -for(var E=u.parentNode.parentNode,I=E.nextSibling;""===I.children[1].textContent;)I=I.nextSibling -y=I.children[1].children[0]}else if("TD"===u.nodeName){if(h>0){var P=u.children[h-1] -b=parseInt(P.dataset.start)}else b=1 -g=parseInt(u.id.slice(2)),y=u.children[0]}if("#text"===m.nodeName)x=parseInt(m.parentNode.dataset.start)+f,k=parseInt(m.parentNode.parentNode.dataset.line) -else if("SPAN"===m.nodeName)x=1,k=parseInt(m.parentNode.dataset.line) -else if("TD"===m.nodeName){if(f>0){var C=m.children[f-1] -x=parseInt(C.dataset.start)}else x=1 -k=parseInt(m.id.slice(2))}var T=t.get("store").loadExpressions(t.get("packageId"),t.get("path"),g,b,k,x) -r=!0,T.then(function(e){Ember.run.next(function(){if(e&&e.length>0){e.sort(function(e,t){return s(e.srcSpan.start,t.srcSpan.start)<=0&&s(e.srcSpan.end,t.srcSpan.end)>=0?-1:1}) -var n=e.reduce(function(e,t){var n=Ember.copy(t),s=l(o,t.srcSpan.start,t.srcSpan.end) -return s?(n.sourceCode=s,e.concat(n)):e},[]) -n.length>0&&(t.set("selectedIdentifier",y),t.set("expressions",n),t.set("currentLineNumber",parseInt(y.parentNode.dataset.line)||1),t.set("hasSelectedExpression",!0))}r=!1})})}}})} -e.addEventListener("mouseup",c),t._onmouseup=c}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({store:Ember.inject.service("store"),selectedIdentifier:null,isHoveredOverIdentifier:!1,hasSelectedExpression:!1,showDeclarations:!0,showDeclarationsLabel:Ember.computed("showDeclarations",function(){return this.get("showDeclarations")?"Hide":"Show"}),queryObserver:Ember.observer("query",function(){var e=this -Ember.run.debounce(this,function(){var t=new RegExp(e.get("query"),"i"),n=e.get("declarations").filter(function(e){return-1!=e.name.search(t)}) -Ember.run.next(function(){e.set("filteredDeclarations",n)})},300)}),identifierLocationInfo:Ember.computed("identifierInfo","identifierOccurrence",function(){var e=this.get("identifierOccurrence"),t=this.get("identifierInfo") -if(e)return"ModuleId"===e.sort.tag?e.sort.contents:t?t.locationInfo:null}),themeObserver:Ember.observer("colorTheme",function(){var e=this -Ember.run.next(this,function(){e.cleanup(),e.didInsertElement()})}),fileObserver:Ember.observer("path",function(){var e=this -Ember.run.next(this,function(){e.cleanup(),e.didInsertElement()})}),cleanup:function(){this.timer&&clearTimeout(this.timer),this._onhashchange&&window.removeEventListener("hashchange",this._onhashchange),this._onkeydown&&document.removeEventListener("keydown",this._onkeydown),this._onkeyup&&document.removeEventListener("keyup",this._onkeyup),this._onmouseup&&this.sourceCodeContainerElement.removeEventListener("mouseup",this._onmouseup),this.set("selectedIdentifier",null),this.set("isHoveredOverIdentifier",!1),this.set("hasSelectedExpression",!1),this.set("showDeclarations",!0)},didReceiveAttrs:function(){this.set("filteredDeclarations",this.get("declarations"))},didInsertElement:function(){var e=this -this._super.apply(this,arguments) -var t=this.element.querySelector(".source-code-container") -t.innerHTML=this.get("html"),this.sourceCodeContainerElement=t -for(var s=this.sourceCodeContainerElement.querySelectorAll("tr > td:nth-child(2)"),l=s.length,i=0;it.element.offsetHeight-100&&(o=!0,Ember.run.next(t,function(){var e=l.slice(n*s,(n+1)*s) -t.get("renderedElements").pushObjects(e),n++,o=!1}))}}}})}),define("haskell-code-explorer/components/info-window",["exports"],function(e){function t(e){var t=e.get("targetElement") -if(t){var n=e.element.offsetHeight,o=t.offsetHeight,s=t.parentNode,l=document.querySelector("#"+e.get("containerElementId")),i=t.getBoundingClientRect().top,r=void 0 -r=l?l.getBoundingClientRect().top:0 -var a=void 0 -a=i0&&(-1!==e?e===n-1?this.set("highlightedItemIndex",0):this.set("highlightedItemIndex",e+1):this.set("highlightedItemIndex",0))},onUp:function(){this.showAutocompleteList() -var e=this.get("highlightedItemIndex"),t=this.get("items"),n=t.length -n>0&&(-1!==e?0===e?this.set("highlightedItemIndex",n-1):this.set("highlightedItemIndex",e-1):this.set("highlightedItemIndex",n-1))},hideAutocompleteList:function(){this.set("highlightedItemIndex",-1),this.$autocompleteContainer.css({display:"none"})},showAutocompleteList:function(){""!==this.get("query")&&this.$autocompleteContainer.css({display:"block"})},searchUrlObserver:Ember.observer("createSearchUrlFunction",function(){this.notifyPropertyChange("query")}),queryObserver:Ember.observer("query",function(){var e=this -if(this.get("query")){var t=this.get("maxItems")?this.get("maxItems"):10,n=this.get("createSearchUrlFunction")(this.get("query"))+"?per_page="+t -Ember.run.debounce(this,function(){e.get("store").loadFromUrlPaginated(n).then(function(t){Ember.run.next(function(){e.set("items",t.items)})})},400),this.showAutocompleteList()}else this.hideAutocompleteList(),this.set("items",[])}),actions:{onSubmit:function(){this.hideAutocompleteList(),this.get("onSubmit")(this.get("query"))},goToDefinition:function(e){this.hideAutocompleteList(),this.get("selectItem")(e)}}})}),define("haskell-code-explorer/components/instance-info",["exports","haskell-code-explorer/utils/go-to-definition"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({store:Ember.inject.service("store"),style:Ember.computed("nestedLevel",function(){return new Ember.String.htmlSafe("margin-left :"+10*this.get("nestedLevel")+"px")}),nextNestedLevel:Ember.computed("nestedLevel",function(){return this.get("nestedLevel")+1}),actions:{goToDefinition:function(e){return(0,t.goToDefinition)(this.get("store"),this.get("instance.location"),e.which,this.get("currentLineNumber")),!1}}})}),define("haskell-code-explorer/components/labeled-radio-button",["exports","ember-radio-button/components/labeled-radio-button"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("haskell-code-explorer/components/paginated-list",["exports"],function(e){function t(e,t,n){e.loadFromUrlPaginated(n).then(function(e){Ember.run.next(function(){t.set("total",e.total),t.set("items",e.items),t.set("first",e.linkHeader.first),t.set("next",e.linkHeader.next),t.set("prev",e.linkHeader.prev),t.set("last",e.linkHeader.last) -var o=n.match(/(&|\?)page=(\d+)/),s=n.match(/(&|\?)per_page=(\d+)/),l=o?o[2]:1,i=s?s[2]:20;(e.linkHeader.next||e.linkHeader.prev)&&(t.set("firstItemOnPage",(l-1)*i+1),e.linkHeader.last?t.set("lastItemOnPage",l*i):t.set("lastItemOnPage",e.total))})})}Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({store:Ember.inject.service("store"),init:function(){this._super.apply(this,arguments),this.get("url")&&t(this.get("store"),this,this.get("url"))},urlObserver:Ember.observer("url",function(){t(this.get("store"),this,this.get("url")),this.element.querySelector(".paginated-list-content").scrollTop=0}),actions:{update:function(e){this.element.querySelector(".paginated-list-content").scrollTop=0,t(this.get("store"),this,e)}}})}),define("haskell-code-explorer/components/radio-button-input",["exports","ember-radio-button/components/radio-button-input"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("haskell-code-explorer/components/radio-button",["exports","ember-radio-button/components/radio-button"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("haskell-code-explorer/components/resizable-panel",["exports"],function(e){function t(e,t){e.$alsoResizeElement.css({left:0}),e.$().css({width:0}),e.set("hidden",!0),e.$(".show-left-panel-button").show(),t&&e.set("hiddenByUser",!0)}function n(e,t){e.$alsoResizeElement.css({left:300}),e.$().css({width:300}),e.set("hidden",!1),e.$(".show-left-panel-button").hide(),t&&e.set("hiddenByUser",!1)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({hidden:!1,hiddenByUser:!1,didInsertElement:function(){var e=this -this._super.apply(this,arguments),Ember.run.next(this,function(){var o=function(){if(!e.get("hiddenByUser")){var o=window.innerWidth -!e.get("hidden")&&o<700?t(e,!1):e.get("hidden")&&o>700&&n(e,!1)}} -e._onresize=o,window.addEventListener("resize",o) -var s=Ember.$(e.get("alsoResizeElementId")) -Ember.$(e.element).resizable({maxWidth:800,minWidth:200,handles:"e",resize:function(t,n){Ember.run.next(e,function(){s.css({left:n.size.width})})}}),e.$alsoResizeElement=s,window.innerWidth<700&&(e.set("hidden",!0),t(e,!1))})},hideButtonLabel:Ember.computed("hidden",function(){return this.get("hidden")?">":"<"}),willDestroyElement:function(){this._onresize&&window.removeEventListener("resize",this._onresize)},actions:{hide:function(){this.get("hidden")?n(this,!0):t(this,!0)}}})}),define("haskell-code-explorer/components/text-file",["exports","haskell-code-explorer/utils/line-selection"],function(e,t){function n(e){return e.replace(/[\"&<>]/g,function(e){return{'"':""","&":"&","<":"<",">":">"}[e]})}function o(e){var t=0 -return""+e.split("\n").map(function(e){return""}).join("")+"
"+t+""+n(e)+"
"}Object.defineProperty(e,"__esModule",{value:!0}) -var s=["markdown","mdown","mkdn","mkd","md"] -e.default=Ember.Component.extend({isMarkdown:Ember.computed("path",function(){var e=this.get("path").split(".").pop() -return s.any(function(t){return e===t})}),html:Ember.computed("path","isMarkdown",function(){return this.get("isMarkdown")?this.markdownConverter.makeHtml(this.get("text")):o(this.get("text"))}),init:function(){this._super.apply(this,arguments),this.markdownConverter=new showdown.Converter},didInsertElement:function(){var e=this.element.querySelector(".source-code-container");(0,t.initializeLineSelection)(e,this),this.element.parentNode.scrollTop=0},willDestroyElement:function(){this.cleanup()},cleanup:function(){this._onhashchange&&window.removeEventListener("hashchange",this._onhashchange),this._onkeydown&&document.removeEventListener("keydown",this._onkeydown),this._onkeyup&&document.removeEventListener("keyup",this._onkeyup)},pathObserver:Ember.observer("path",function(){var e=this -Ember.run.next(this,function(){e.cleanup(),e.didInsertElement()})})})}),define("haskell-code-explorer/components/type-component",["exports","haskell-code-explorer/utils/go-to-definition"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({store:Ember.inject.service("store"),tagName:"span",classNames:["type-component"],contextMenu:function(){return this.get("identifiers")&&this.get("internalId")&&this.set("expanded",!0),!1},linkClass:Ember.computed("identifierInfo",function(){return this.get("identifierInfo")?"link":""}),identifierInfo:Ember.computed("internalId",function(){return this.get("internalId")?this.get("identifiers")[this.get("internalId")]:null}),actions:{onmouseup:function(e){if(this.get("identifierInfo")&&3!==e.which){var n=this.get("identifierInfo").locationInfo -return(0,t.goToDefinition)(this.get("store"),n,e.which,this.get("currentLineNumber")),!1}}}})}),define("haskell-code-explorer/components/type-signature-text",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({tagName:"span"})}),define("haskell-code-explorer/components/type-signature",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({tagName:"span",expandTypeSynonyms:!1,expandTypeSynonymsLabel:Ember.computed("expandTypeSynonyms",function(){return this.get("expandTypeSynonyms")?"Show type synonyms":"Expand type synonyms"}),components:Ember.computed("type","expandTypeSynonyms",function(){return this.get("expandTypeSynonyms")&&this.get("type.componentsExpanded")?this.get("type.componentsExpanded"):this.get("type.components")}),typeObserver:Ember.observer("type",function(){this.set("expandTypeSynonyms",!1)}),actions:{toggleExpandTypeSynonyms:function(){this.toggleProperty("expandTypeSynonyms")}}})}),define("haskell-code-explorer/controllers/application",["exports","haskell-code-explorer/utils/color-themes"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({settings:Ember.inject.service("settings"),themes:Object.values(t.themes),init:function(){this._super.apply(this,arguments),(0,t.updateColorThemeCss)(this.get("settings").get("colorTheme"))},currentTheme:Ember.computed("settings",function(){return this.get("settings.colorTheme.id")}),actions:{themeChanged:function(e){var n=t.themes[e] -this.get("settings").set("colorTheme",n),(0,t.updateColorThemeCss)(n)}}})}),define("haskell-code-explorer/controllers/package",["exports","haskell-code-explorer/utils/go-to-definition","haskell-code-explorer/utils/api-urls"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({store:Ember.inject.service("store"),currentFile:null,loadItemsFunction:null,query:null,searchMode:"currentPackage",createSearchUrlFunction:Ember.computed("searchMode","model",function(){var e=this.get("model.id") -return"currentPackage"===this.get("searchMode")?function(t){return n.urls.identifierSearchUrl(e,t)}:function(e){return n.urls.globalIdentifiersUrl(e)}}),actions:{searchIdentifier:function(e){e&&(this.set("currentFile",null),document.title=this.get("model.id"),"currentPackage"===this.get("searchMode")?this.transitionToRoute("package.search",e):this.transitionToRoute("search",e))},showIdentifier:function(e){return(0,t.goToDefinition)(this.get("store"),e.locationInfo,1,null),!1}}})}),define("haskell-code-explorer/controllers/package/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({modulesFiltered:Ember.computed("model","query",function(){var e=this.get("query"),t=Object.keys(this.get("model.modules")).sort() -if(e){var n=new RegExp(e,"i") -return t.filter(function(e){return-1!=e.search(n)})}return t})})}),define("haskell-code-explorer/controllers/package/search",["exports","haskell-code-explorer/utils/go-to-definition"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({store:Ember.inject.service("store"),actions:{goToDefinition:function(e,n){return(0,t.goToDefinition)(this.get("store"),e,n.which,null),!1}}})}),define("haskell-code-explorer/controllers/package/show/file",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({settings:Ember.inject.service("settings"),actions:{findReferences:function(e,t,n,o){this.send("updateReferences",e,t,n,o)}}})}),define("haskell-code-explorer/controllers/packages",["exports","haskell-code-explorer/utils/go-to-definition"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({store:Ember.inject.service("store"),queryObserver:Ember.observer("query",function(){var e=this -Ember.run.debounce(this,function(){var t=new RegExp(e.get("query"),"i"),n=e.get("model").filter(function(e){return-1!=e.name.search(t)}) -Ember.run.next(function(){e.set("packages",n)})},300)}),actions:{searchIdentifier:function(e){e&&(document.title="Haskell code explorer",this.transitionToRoute("search",e))},showIdentifier:function(e){return(0,t.goToDefinition)(this.get("store"),e.locationInfo,1,null),!1}}})}),define("haskell-code-explorer/controllers/search",["exports","haskell-code-explorer/utils/go-to-definition"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({store:Ember.inject.service("store"),actions:{goToDefinition:function(e,n){return(0,t.goToDefinition)(this.get("store"),e,n.which,null),!1},searchIdentifier:function(e){e&&(document.title="Haskell code explorer",this.transitionToRoute("search",e))},showIdentifier:function(e){return(0,t.goToDefinition)(this.get("store"),e.locationInfo,1,null),!1}}})}),define("haskell-code-explorer/helpers/and",["exports","ember-truth-helpers/helpers/and"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"and",{enumerable:!0,get:function(){return t.and}})}),define("haskell-code-explorer/helpers/app-version",["exports","haskell-code-explorer/config/environment","ember-cli-app-version/utils/regexp"],function(e,t,n){function o(e){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=t.default.APP.version,l=o.versionOnly||o.hideSha,i=o.shaOnly||o.hideVersion,r=null -return l&&(o.showExtended&&(r=s.match(n.versionExtendedRegExp)),r||(r=s.match(n.versionRegExp))),i&&(r=s.match(n.shaRegExp)),r?r[0]:s}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=o,e.default=Ember.Helper.helper(o)}),define("haskell-code-explorer/helpers/eq",["exports","ember-truth-helpers/helpers/equal"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"equal",{enumerable:!0,get:function(){return t.equal}})}) -define("haskell-code-explorer/helpers/gt",["exports","ember-truth-helpers/helpers/gt"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"gt",{enumerable:!0,get:function(){return t.gt}})}),define("haskell-code-explorer/helpers/gte",["exports","ember-truth-helpers/helpers/gte"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"gte",{enumerable:!0,get:function(){return t.gte}})}),define("haskell-code-explorer/helpers/is-array",["exports","ember-truth-helpers/helpers/is-array"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"isArray",{enumerable:!0,get:function(){return t.isArray}})}),define("haskell-code-explorer/helpers/is-empty",["exports","ember-truth-helpers/helpers/is-empty"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("haskell-code-explorer/helpers/is-equal",["exports","ember-truth-helpers/helpers/is-equal"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"isEqual",{enumerable:!0,get:function(){return t.isEqual}})}),define("haskell-code-explorer/helpers/lt",["exports","ember-truth-helpers/helpers/lt"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"lt",{enumerable:!0,get:function(){return t.lt}})}),define("haskell-code-explorer/helpers/lte",["exports","ember-truth-helpers/helpers/lte"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"lte",{enumerable:!0,get:function(){return t.lte}})}),define("haskell-code-explorer/helpers/not-eq",["exports","ember-truth-helpers/helpers/not-equal"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"notEq",{enumerable:!0,get:function(){return t.notEq}})}),define("haskell-code-explorer/helpers/not",["exports","ember-truth-helpers/helpers/not"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"not",{enumerable:!0,get:function(){return t.not}})}),define("haskell-code-explorer/helpers/or",["exports","ember-truth-helpers/helpers/or"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"or",{enumerable:!0,get:function(){return t.or}})}),define("haskell-code-explorer/helpers/xor",["exports","ember-truth-helpers/helpers/xor"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"xor",{enumerable:!0,get:function(){return t.xor}})}),define("haskell-code-explorer/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","haskell-code-explorer/config/environment"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}) -var o=void 0,s=void 0 -n.default.APP&&(o=n.default.APP.name,s=n.default.APP.version),e.default={name:"App Version",initialize:(0,t.default)(o,s)}}),define("haskell-code-explorer/initializers/container-debug-adapter",["exports","ember-resolver/resolvers/classic/container-debug-adapter"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"container-debug-adapter",initialize:function(){var e=arguments[1]||arguments[0] -e.register("container-debug-adapter:main",t.default),e.inject("container-debug-adapter:main","namespace","application:main")}}}),define("haskell-code-explorer/initializers/export-application-global",["exports","haskell-code-explorer/config/environment"],function(e,t){function n(){var e=arguments[1]||arguments[0] -if(!1!==t.default.exportApplicationGlobal){var n -if("undefined"!=typeof window)n=window -else if("undefined"!=typeof global)n=global -else{if("undefined"==typeof self)return -n=self}var o,s=t.default.exportApplicationGlobal -o="string"==typeof s?s:Ember.String.classify(t.default.modulePrefix),n[o]||(n[o]=e,e.reopen({willDestroy:function(){this._super.apply(this,arguments),delete n[o]}}))}}Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=n,e.default={name:"export-application-global",initialize:n}}),define("haskell-code-explorer/router",["exports","haskell-code-explorer/config/environment"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}) -var n=Ember.Router.extend({location:t.default.locationType}) -n.map(function(){this.route("packages",{path:""}),this.route("search",{path:"/search/:query"}),this.route("package",{path:"/package/:packageId"},function(){this.route("show",function(){this.route("file",{path:"*filePath"},function(){})}),this.route("search",{path:"/search/:query"})}),this.route("bad-url",{path:"/*badurl"})}),e.default=n}),define("haskell-code-explorer/routes/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({})}),define("haskell-code-explorer/routes/package",["exports","haskell-code-explorer/utils/api-urls"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({store:Ember.inject.service("store"),model:function(e){var t=this -return this.get("store").loadPackage(e.packageId).catch(function(e){console.log(e),t.transitionTo("/package-not-found")})},setupController:function(e,t){this._super(e,t),e.set("bottomPanelVisible",!1)},actions:{openFile:function(e){this.transitionTo("package.show.file",e)},fileOpened:function(e){this.get("controller")&&this.set("controller.currentFile",e)},updateReferences:function(e,n,o,s,l){var i=this -this.get("store").loadGlobalReferences(n).then(function(t){Ember.run.next(i,function(){i.set("controller.globalReferences",t),l||Ember.run.schedule("afterRender",function(){var t=document.getElementById("references-package-"+e) -t&&t.scrollIntoView()})})}),this.set("controller.packageId",e),this.set("controller.externalId",n),this.set("controller.occName",o),this.set("controller.locationInfo",s),this.set("controller.bottomPanelVisible",!0),this.set("controller.referencesUrl",t.urls.referencesUrl(e,n)+"?per_page=50")},didTransition:function(){return document.title=this.currentModel.id,!0}}})}),define("haskell-code-explorer/routes/package/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({afterModel:function(e,t){t.send("fileOpened",null)}})}),define("haskell-code-explorer/routes/package/search",["exports","haskell-code-explorer/utils/api-urls","haskell-code-explorer/utils/go-to-definition"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({store:Ember.inject.service("store"),model:function(e){return{query:e.query,url:t.urls.identifierSearchUrl(this.modelFor("package").id,e.query)+"?per_page=20"}},afterModel:function(){var e=this,t=function(t){if(t.target.dataset.location){var o=void 0 -try{o=JSON.parse(t.target.dataset.location)}catch(e){console.log(e)}o&&(0,n.goToDefinition)(e.get("store"),o,t.which)}} -this._onmouseup=t,document.addEventListener("mouseup",t)},deactivate:function(){this._onmouseup&&document.removeEventListener("mouseup",this._onmouseup)}})}),define("haskell-code-explorer/routes/package/show/file",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({store:Ember.inject.service(),model:function(e){var t=this,n=this.modelFor("package") -return n.modules[e.filePath]?this.get("store").loadHaskellModule(n.id,e.filePath).catch(function(e){console.log(e),t.transitionTo("/not-found")}):this.get("store").loadFile(n.id,e.filePath).then(function(e){return document.title=n.id,e}).catch(function(e){console.log(e),t.transitionTo("/not-found")})},afterModel:function(e){document.title=e.id+" - "+this.modelFor("package").id},actions:{didTransition:function(){this.send("fileOpened",this.currentModel.id)}}})}),define("haskell-code-explorer/routes/package/show/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({afterModel:function(e,t){t.send("fileOpened",null)}})}),define("haskell-code-explorer/routes/packages",["exports","haskell-code-explorer/utils/api-urls","haskell-code-explorer/config/environment"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({model:function(){return Ember.$.getJSON(t.urls.packagesUrl)},setupController:function(e,n){this._super(e,n),e.set("packages",n),e.set("createSearchUrlFunction",function(e){return t.urls.globalIdentifiersUrl(e)})},afterModel:function(){document.title=n.default.APP.title}})}),define("haskell-code-explorer/routes/search",["exports","haskell-code-explorer/utils/api-urls","haskell-code-explorer/utils/go-to-definition"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({store:Ember.inject.service("store"),model:function(e){return{query:e.query,url:t.urls.globalIdentifiersUrl(e.query)+"?per_page=20"}},setupController:function(e,n){this._super(e,n),e.set("createSearchUrlFunction",function(e){return t.urls.globalIdentifiersUrl(e)})},afterModel:function(){var e=this,t=function(t){if(t.target.dataset.location){var o=void 0 -try{o=JSON.parse(t.target.dataset.location)}catch(e){console.log(e)}o&&(0,n.goToDefinition)(e.get("store"),o,t.which)}} -this._onmouseup=t,document.addEventListener("mouseup",t)},deactivate:function(){this._onmouseup&&document.removeEventListener("mouseup",this._onmouseup)}})}),define("haskell-code-explorer/services/settings",["exports","haskell-code-explorer/utils/color-themes"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Service.extend({init:function(){if(this._super.apply(this,arguments),localStorage){var e=localStorage.getItem("colorThemeId"),n=t.themes[e] -e&&this.set("colorTheme",n)}},colorTheme:t.themes.darkTheme,settingsObserver:Ember.observer("colorTheme",function(){localStorage&&localStorage.setItem("colorThemeId",this.get("colorTheme").id)})})}),define("haskell-code-explorer/services/store",["exports","haskell-code-explorer/utils/api-urls"],function(e,t){function n(e){return'"'==e.charAt(0)&&'"'==e.charAt(e.length-1)?e.substring(1,e.length-1):e}function o(e){if(!e)return{} -for(var t=/<[^>]*>\s*(\s*;\s*[^\(\)<>@,;:"\/\[\]\?={} \t]+=(([^\(\)<>@,;:"\/\[\]\?={} \t]+)|("[^"]*")))*(,|$)/g,o=/[^\(\)<>@,;:"\/\[\]\?={} \t]+=(([^\(\)<>@,;:"\/\[\]\?={} \t]+)|("[^"]*"))/g,s=e.match(t),l=new Object,i=0;i"),a=r[0].substring(1),c=r[1],d=new Object -d.href=a -for(var u=c.match(o),p=0;p"],[9]],"parameters":[]},null],[0,"\\n "],[4,"if",[[22,["last"]]],null,{"statements":[[6,"button"],[10,"button",""],[10,"class","btn btn-outline-secondary btn-sm"],[3,"action",[[21,0,[]],"update",[22,["last","href"]]]],[8],[0,">>"],[9]],"parameters":[]},null],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null],[9],[0,"\\n"],[6,"div"],[10,"class","paginated-list-content"],[8],[0,"\\n "],[13,1,[[22,["items"]]]],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/paginated-list.hbs"}})}),define("haskell-code-explorer/templates/components/resizable-panel",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"tpKUpnLR",block:'{"symbols":["&default"],"statements":[[6,"div"],[10,"class","absolute-container"],[8],[13,1,[[26,"action",[[21,0,[]],"hide"],null]]],[0,"\\n "],[6,"div"],[11,"onclick",[26,"action",[[21,0,[]],"hide"],null]],[10,"class","show-left-panel-button"],[8],[0,"\\n "],[1,[20,"hideButtonLabel"],true],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/resizable-panel.hbs"}})}),define("haskell-code-explorer/templates/components/text-file",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"yYFMOyZb",block:'{"symbols":[],"statements":[[6,"div"],[10,"class","source-code-container"],[8],[0,"\\n"],[1,[20,"html"],true],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/text-file.hbs"}})}),define("haskell-code-explorer/templates/components/type-component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"nSuhY152",block:'{"symbols":[],"statements":[[4,"if",[[26,"and",[[22,["expanded"]],[22,["identifierInfo"]]],null]],null,{"statements":[[0,"("]],"parameters":[]},null],[0,"\\n"],[6,"span"],[11,"class",[27,["source-code ",[20,"linkClass"]]]],[11,"onmouseup",[26,"action",[[21,0,[]],"onmouseup"],null]],[8],[1,[20,"occName"],false],[9],[0,"\\n"],[4,"if",[[26,"and",[[22,["expanded"]],[22,["identifierInfo"]]],null]],null,{"statements":[[0," :: "],[1,[26,"type-signature",null,[["type","identifiers","noExpand"],[[22,["identifierInfo","idType"]],[22,["identifiers"]],true]]],false],[0,")"]],"parameters":[]},null],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/type-component.hbs"}})}),define("haskell-code-explorer/templates/components/type-signature-text",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"+rUvtMa3",block:'{"symbols":["typeComponent"],"statements":[[4,"each",[[22,["components"]]],null,{"statements":[[4,"if",[[26,"eq",[[21,1,["tag"]],"Text"],null]],null,{"statements":[[1,[21,1,["contents"]],false]],"parameters":[]},{"statements":[[1,[21,1,["name"]],false]],"parameters":[]}]],"parameters":[1]},null],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/type-signature-text.hbs"}})}),define("haskell-code-explorer/templates/components/type-signature",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"SdJzinj9",block:'{"symbols":["typeComponent"],"statements":[[4,"each",[[22,["components"]]],null,{"statements":[[4,"if",[[26,"eq",[[21,1,["tag"]],"Text"],null]],null,{"statements":[[6,"span"],[10,"class","source-code"],[8],[1,[21,1,["contents"]],false],[9]],"parameters":[]},{"statements":[[1,[26,"type-component",null,[["occName","internalId","identifiers","currentLineNumber"],[[21,1,["name"]],[21,1,["internalId"]],[22,["identifiers"]],[22,["currentLineNumber"]]]]],false]],"parameters":[]}]],"parameters":[1]},null],[0,"\\n"],[4,"unless",[[22,["noExpand"]]],null,{"statements":[[4,"if",[[22,["type","componentsExpanded"]]],null,{"statements":[[0," "],[6,"div"],[10,"style","margin-top:5px"],[8],[0,"\\n "],[6,"button"],[10,"class","btn btn-outline-secondary btn-sm"],[3,"action",[[21,0,[]],"toggleExpandTypeSynonyms"]],[8],[1,[20,"expandTypeSynonymsLabel"],false],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/type-signature.hbs"}})}),define("haskell-code-explorer/templates/package",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"VYY6w03q",block:'{"symbols":["section","files","file","reference","ref","hide","identifier"],"statements":[[6,"div"],[10,"class","flex-container"],[8],[0,"\\n "],[6,"div"],[10,"class","package-header"],[8],[0,"\\n "],[6,"span"],[10,"class","package-header-package-name"],[8],[4,"link-to",["package",[22,["model"]]],null,{"statements":[[1,[22,["model","id"]],false]],"parameters":[]},null],[9],[0,"\\n "],[6,"span"],[10,"class","package-header-input"],[8],[0,"\\n"],[4,"input-with-autocomplete",null,[["onSubmit","createSearchUrlFunction","maxItems","selectItem","searchButtonText","placeholder"],[[26,"action",[[21,0,[]],"searchIdentifier"],null],[22,["createSearchUrlFunction"]],10,[26,"action",[[21,0,[]],"showIdentifier"],null],"Search","Identifier"]],{"statements":[[0," "],[6,"span"],[10,"class","source-code-font"],[8],[1,[21,7,["demangledOccName"]],false],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,7,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[10,"class","module-name"],[8],[0,"\\n "],[6,"b"],[8],[1,[21,7,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,7,["locationInfo","packageId","version"]],false],[9],[0,"\\n"],[4,"if",[[21,7,["locationInfo","modulePath"]]],null,{"statements":[[0," "],[1,[21,7,["locationInfo","modulePath"]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[21,7,["locationInfo","moduleName"]],false],[0,"\\n"]],"parameters":[]}],[0," "],[9],[0,"\\n"]],"parameters":[7]},null],[0," "],[9],[0,"\\n"],[4,"radio-button",null,[["value","groupValue"],["currentPackage",[22,["searchMode"]]]],{"statements":[[0," "],[6,"span"],[8],[0,"in "],[1,[22,["model","id"]],false],[9],[0,"\\n"]],"parameters":[]},null],[4,"radio-button",null,[["value","groupValue"],["allPackages",[22,["searchMode"]]]],{"statements":[[0," "],[6,"span"],[8],[0,"in all packages"],[9],[0,"\\n"]],"parameters":[]},null],[4,"if",[[22,["currentFile"]]],null,{"statements":[[0," "],[6,"span"],[10,"class","package-header-filename"],[8],[0,"\\n "],[1,[20,"currentFile"],false],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n "],[6,"div"],[10,"class","package-content"],[8],[0,"\\n"],[4,"resizable-panel",null,[["class","alsoResizeElementId"],["left-panel","#right-panel"]],{"statements":[[0," "],[6,"div"],[10,"class","file-tree-container"],[8],[0,"\\n "],[1,[26,"file-tree",null,[["directoryTree","openFile","currentFile","packageId","hide"],[[22,["model","directoryTree"]],"openFile",[22,["currentFile"]],[22,["model","id"]],[21,6,[]]]]],false],[0,"\\n "],[9],[0,"\\n"]],"parameters":[6]},null],[0," "],[6,"div"],[10,"id","right-panel"],[10,"class","right-panel"],[8],[0,"\\n "],[6,"div"],[10,"id","file-container"],[10,"class","file-container"],[8],[0,"\\n "],[1,[20,"outlet"],false],[0,"\\n "],[9],[0,"\\n"],[4,"bottom-panel",null,[["visible","topPanelElementId","containerElementId"],[[22,["bottomPanelVisible"]],"#file-container","#right-panel"]],{"statements":[[4,"if",[[26,"eq",[[21,1,[]],"header"],null]],null,{"statements":[[0," References to "],[6,"b"],[8],[6,"span"],[10,"class","source-code"],[8],[1,[20,"occName"],false],[9],[9],[0,"\\n"],[4,"if",[[22,["locationInfo","packageId"]]],null,{"statements":[[0," (defined in "],[6,"b"],[8],[1,[22,["locationInfo","packageId","name"]],false],[0,"-"],[1,[22,["locationInfo","packageId","version"]],false],[9],[0," / "],[6,"b"],[8],[1,[22,["locationInfo","moduleName"]],false],[9],[0,")\\n"]],"parameters":[]},null]],"parameters":[]},{"statements":[[0," "],[6,"div"],[10,"id","references-packages"],[10,"class","references-packages"],[8],[0,"\\n"],[4,"if",[[22,["globalReferences"]]],null,{"statements":[[0," "],[6,"span"],[8],[0,"\\n"],[4,"each",[[22,["globalReferences"]]],null,{"statements":[[0," "],[6,"div"],[8],[0,"\\n "],[6,"a"],[11,"id",[27,["references-package-",[21,5,["packageId"]]]]],[11,"class",[27,[[26,"if",[[26,"eq",[[21,5,["packageId"]],[22,["packageId"]]],null],"selected"],null]]]],[10,"href","#"],[3,"action",[[21,0,[]],"updateReferences",[21,5,["packageId"]],[22,["externalId"]],[22,["occName"]],[22,["locationInfo"]],true]],[8],[0,"\\n "],[1,[21,5,["packageId"]],false],[0,"\\n "],[9],[0," ("],[1,[21,5,["count"]],false],[0,")\\n "],[9],[0,"\\n"]],"parameters":[5]},null],[0," "],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n "],[6,"div"],[10,"class","references"],[8],[0,"\\n"],[4,"paginated-list",null,[["url","foundWhere"],[[22,["referencesUrl"]],[26,"concat",["in ",[22,["packageId"]],""],null]]],{"statements":[[0," "],[6,"ul"],[8],[0,"\\n"],[4,"each",[[21,2,[]]],null,{"statements":[[0," "],[6,"li"],[8],[0,"\\n "],[6,"div"],[10,"class","file-name"],[8],[6,"a"],[11,"href",[27,["/package/",[20,"packageId"],"/show/",[21,3,["name"]]]]],[8],[1,[21,3,["name"]],false],[9],[9],[0,"\\n"],[4,"each",[[21,3,["references"]]],null,{"statements":[[0," "],[6,"a"],[10,"class","source-code source-code-snippet"],[11,"href",[27,["/package/",[20,"packageId"],"/show/",[21,3,["name"]],"#L",[21,4,["idSrcSpan","line"]]]]],[8],[1,[21,4,["sourceCodeHtml"]],true],[9],[0,"\\n"]],"parameters":[4]},null],[0," "],[9],[0,"\\n"]],"parameters":[3]},null],[0," "],[9],[0,"\\n"]],"parameters":[2]},null],[0," "],[9],[0,"\\n"]],"parameters":[]}]],"parameters":[1]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package.hbs"}})}),define("haskell-code-explorer/templates/package/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"O2wWOYbc",block:'{"symbols":["module"],"statements":[[6,"div"],[10,"class","package-modules"],[8],[0,"\\n "],[6,"div"],[10,"class","module-search-input"],[8],[0,"\\n "],[1,[26,"input",null,[["class","type","value","placeholder"],["form-control","text",[22,["query"]],"Module name"]]],false],[0,"\\n "],[9],[0,"\\n "],[6,"ul"],[10,"class","modules"],[8],[0,"\\n"],[4,"each",[[22,["modulesFiltered"]]],null,{"statements":[[0," "],[6,"li"],[8],[0,"\\n "],[6,"a"],[11,"href",[27,["/package/",[22,["model","id"]],"/show/",[21,1,[]]]]],[8],[1,[21,1,[]],false],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[1]},null],[0," "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package/index.hbs"}})}),define("haskell-code-explorer/templates/package/search",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"t4+evzG+",block:'{"symbols":["identifiers","identifier"],"statements":[[6,"div"],[10,"class","search-results-header"],[8],[0,"\\n Query : "],[1,[22,["model","query"]],false],[0,"\\n"],[9],[0,"\\n"],[6,"div"],[10,"class","search-results-content"],[8],[0,"\\n"],[4,"paginated-list",null,[["url"],[[22,["model","url"]]]],{"statements":[[0," "],[6,"ul"],[8],[0,"\\n"],[4,"each",[[21,1,[]]],null,{"statements":[[0," "],[6,"li"],[10,"class","search-result"],[8],[0,"\\n "],[6,"span"],[10,"class","source-code"],[8],[6,"b"],[8],[1,[21,2,["demangledOccName"]],false],[9],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,2,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[8],[6,"a"],[10,"href","#"],[11,"onmouseup",[26,"action",[[21,0,[]],"goToDefinition",[21,2,["locationInfo"]]],null]],[8],[0,"Go to definition"],[9],[9],[0,"\\n "],[6,"div"],[10,"class","identifier-module"],[8],[0,"\\n"],[4,"if",[[21,2,["locationInfo","modulePath"]]],null,{"statements":[[0," Defined in "],[6,"a"],[11,"href",[27,["/package/",[21,2,["locationInfo","packageId","name"]],"-",[21,2,["locationInfo","packageId","version"]],"/show/",[21,2,["locationInfo","modulePath"]]]]],[8],[1,[21,2,["locationInfo","modulePath"]],false],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n "],[6,"div"],[8],[1,[21,2,["doc"]],true],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[2]},null],[0," "],[9],[0,"\\n"]],"parameters":[1]},null],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package/search.hbs"}})}),define("haskell-code-explorer/templates/package/show",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"aR1d98il",block:'{"symbols":[],"statements":[[1,[20,"outlet"],false],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package/show.hbs"}})}),define("haskell-code-explorer/templates/package/show/file",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"n+gY0z10",block:'{"symbols":[],"statements":[[4,"if",[[22,["model","isHaskellModule"]]],null,{"statements":[[0," "],[1,[26,"haskell-module",null,[["path","name","packageId","componentId","html","identifiers","occurrences","colorTheme","declarations","findReferences"],[[22,["model","id"]],[22,["model","name"]],[22,["model","packageId"]],[22,["model","componentId"]],[22,["model","sourceCodeHtml"]],[22,["model","identifiers"]],[22,["model","occurrences"]],[22,["settings","colorTheme"]],[22,["model","declarations"]],[26,"action",[[21,0,[]],"findReferences"],null]]]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[26,"text-file",null,[["text","path"],[[22,["model","text"]],[22,["model","id"]]]]],false],[0,"\\n"]],"parameters":[]}]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package/show/file.hbs"}})}),define("haskell-code-explorer/templates/packages",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"mEyAL/ia",block:'{"symbols":["package","version","index","identifier"],"statements":[[6,"div"],[10,"class","flex-container container"],[8],[0,"\\n "],[6,"div"],[8],[0,"\\n "],[6,"div"],[10,"class","global-identifier-search-form"],[8],[0,"\\n"],[4,"input-with-autocomplete",null,[["onSubmit","createSearchUrlFunction","maxItems","selectItem","searchButtonText","placeholder"],[[26,"action",[[21,0,[]],"searchIdentifier"],null],[22,["createSearchUrlFunction"]],10,[26,"action",[[21,0,[]],"showIdentifier"],null],"Search in all packages","Haskell identifier"]],{"statements":[[0," "],[6,"span"],[10,"class","source-code-font"],[8],[1,[21,4,["demangledOccName"]],false],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,4,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[10,"class","module-name"],[8],[0,"\\n "],[6,"b"],[8],[1,[21,4,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,4,["locationInfo","packageId","version"]],false],[9],[0,"\\n"],[4,"if",[[21,4,["locationInfo","modulePath"]]],null,{"statements":[[0," "],[1,[21,4,["locationInfo","modulePath"]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[21,4,["locationInfo","moduleName"]],false],[0,"\\n"]],"parameters":[]}],[0," "],[9],[0,"\\n"]],"parameters":[4]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[8],[0,"\\n "],[6,"div"],[10,"class","package-search-form"],[8],[0,"\\n "],[1,[26,"input",null,[["class","type","value","placeholder"],["form-control","text",[22,["query"]],"Package name"]]],false],[0,"\\n "],[6,"span"],[8],[0,"Number of packages : "],[1,[22,["packages","length"]],false],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[10,"id","packages"],[10,"class","packages"],[8],[0,"\\n "],[6,"ul"],[8],[0,"\\n"],[4,"infinite-list",null,[["containerElementId","elements","perPage"],["packages",[22,["packages"]],80]],{"statements":[[0," "],[6,"li"],[8],[0,"\\n"],[4,"each",[[21,1,["versions"]]],null,{"statements":[[4,"link-to",["package",[26,"concat",[[21,1,["name"]],"-",[21,2,[]]],null]],null,{"statements":[[4,"if",[[26,"gt",[[21,3,[]],0],null]],null,{"statements":[[0," "],[1,[21,2,[]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[21,1,["name"]],false],[0,"-"],[1,[21,2,[]],false],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null]],"parameters":[2,3]},null],[0," "],[9],[0,"\\n"]],"parameters":[1]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/packages.hbs"}})}),define("haskell-code-explorer/templates/search",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"OGWU6vcF", -block:'{"symbols":["identifiers","identifier","identifier"],"statements":[[6,"div"],[10,"class","flex-container container"],[8],[0,"\\n "],[6,"div"],[10,"style","position:relative;height:100%"],[8],[0,"\\n "],[6,"div"],[10,"class","absolute-container"],[8],[0,"\\n "],[6,"div"],[10,"class","global-identifier-search-form"],[8],[0,"\\n"],[4,"input-with-autocomplete",null,[["onSubmit","createSearchUrlFunction","maxItems","selectItem","searchButtonText","placeholder"],[[26,"action",[[21,0,[]],"searchIdentifier"],null],[22,["createSearchUrlFunction"]],10,[26,"action",[[21,0,[]],"showIdentifier"],null],"Search in all packages","Haskell identifier"]],{"statements":[[0," "],[6,"span"],[10,"class","source-code-font"],[8],[1,[21,3,["demangledOccName"]],false],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,3,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[10,"class","module-name"],[8],[0,"\\n "],[6,"b"],[8],[1,[21,3,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,3,["locationInfo","packageId","version"]],false],[9],[0,"\\n"],[4,"if",[[21,3,["locationInfo","modulePath"]]],null,{"statements":[[0," "],[1,[21,3,["locationInfo","modulePath"]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[21,3,["locationInfo","moduleName"]],false],[0,"\\n"]],"parameters":[]}],[0," "],[9],[0,"\\n"]],"parameters":[3]},null],[0," "],[9],[0,"\\n "],[6,"div"],[8],[0,"\\n Query : "],[1,[22,["model","query"]],false],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[10,"class","global-search-results-content"],[8],[0,"\\n"],[4,"paginated-list",null,[["url"],[[22,["model","url"]]]],{"statements":[[0," "],[6,"ul"],[8],[0,"\\n"],[4,"each",[[21,1,[]]],null,{"statements":[[0," "],[6,"li"],[10,"class","search-result"],[8],[0,"\\n "],[6,"span"],[10,"class","source-code"],[8],[6,"b"],[8],[1,[21,2,["demangledOccName"]],false],[9],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,2,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[8],[6,"a"],[10,"href","#"],[11,"onmouseup",[26,"action",[[21,0,[]],"goToDefinition",[21,2,["locationInfo"]]],null]],[8],[0,"Go to definition"],[9],[9],[0,"\\n "],[6,"div"],[10,"class","identifier-module"],[8],[0,"\\n"],[4,"if",[[21,2,["locationInfo","modulePath"]]],null,{"statements":[[0," Defined in "],[6,"b"],[8],[0," "],[1,[21,2,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,2,["locationInfo","packageId","version"]],false],[0," "],[9],[0," "],[6,"a"],[11,"href",[27,["/package/",[21,2,["locationInfo","packageId","name"]],"-",[21,2,["locationInfo","packageId","version"]],"/show/",[21,2,["locationInfo","modulePath"]]]]],[8],[1,[21,2,["locationInfo","modulePath"]],false],[9],[0,"\\n"]],"parameters":[]},{"statements":[[0," Defined in "],[6,"b"],[8],[0," "],[1,[21,2,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,2,["locationInfo","packageId","version"]],false],[0," "],[9],[0," "],[1,[21,2,["locationInfo","moduleName"]],false],[0,"\\n"]],"parameters":[]}],[0," "],[9],[0,"\\n "],[6,"div"],[8],[1,[21,2,["doc"]],true],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[2]},null],[0," "],[9],[0,"\\n"]],"parameters":[1]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/search.hbs"}})}),define("haskell-code-explorer/utils/api-urls",["exports","haskell-code-explorer/config/environment"],function(e,t){function n(e){return"."===e?"%20%2E":".."===e?"%20%2E%2E":e.replace(/\./g,"%2E")}Object.defineProperty(e,"__esModule",{value:!0}),e.urls=void 0 -e.urls={packageInfoUrl:function(e){return t.default.APP.staticUrlPrefix+"/"+e+"/"+t.default.APP.haskellCodeExplorerDirectory+"/packageInfo.json"},fileUrl:function(e,n){return t.default.APP.staticUrlPrefix+"/"+e+"/"+n},haskellModuleUrl:function(e,n){return t.default.APP.staticUrlPrefix+"/"+e+"/"+t.default.APP.haskellCodeExplorerDirectory+"/"+encodeURIComponent(encodeURIComponent(n))+".json"},packagesUrl:t.default.APP.apiUrlPrefix+"/packages",identifierDefinitionSiteUrl:function(e,o,s,l,i){return t.default.APP.apiUrlPrefix+"/definitionSite/"+e+"/"+s+"/"+o+"/"+l+"/"+n(encodeURIComponent(i))},modulePathUrl:function(e,n,o){return t.default.APP.apiUrlPrefix+"/modulePath/"+e+"/"+o+"/"+n},expressionsUrl:function(e,n,o,s,l,i){return t.default.APP.apiUrlPrefix+"/expressions/"+e+"/"+encodeURIComponent(n)+"/"+o+"/"+s+"/"+l+"/"+i},referencesUrl:function(e,n){return t.default.APP.apiUrlPrefix+"/references/"+e+"/"+encodeURIComponent(n)},identifierSearchUrl:function(e,o){return t.default.APP.apiUrlPrefix+"/identifiers/"+e+"/"+n(encodeURIComponent(o))},globalReferencesUrl:function(e){return t.default.APP.apiUrlPrefix+"/globalReferences/"+encodeURIComponent(e)},globalIdentifiersUrl:function(e){return t.default.APP.apiUrlPrefix+"/globalIdentifiers/"+n(encodeURIComponent(e))},hoogleDocsUrl:function(e,o,s,l){return t.default.APP.apiUrlPrefix+"/hoogleDocs/"+e+"/"+encodeURIComponent(o)+"/"+s+"/"+n(encodeURIComponent(l))}}}),define("haskell-code-explorer/utils/color-themes",["exports"],function(e){function t(e){return"\n body {\n color: "+e.defaultColor+" !important;\n background-color: "+e.backgroundColor+" !important;\n }\n input {\n color: "+e.defaultColor+" !important;\n background-color: "+e.backgroundColor+" !important;\n border-color: "+e.borderColor+" !important;\n }\n .package-content {\n border-top: 1px solid "+e.borderColor+" !important;\n }\n .header a {\n color : "+e.menuLinkColor+" !important;\n }\n a {\n color: "+e.typeColor+" !important;\n }\n span.link {\n color: "+e.typeColor+" !important;\n }\n .header {\n background-color: "+e.menuColor+" !important;\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n .declarations-content {\n background-color: "+e.navigationPanelColor+" !important;\n border: 1px solid "+e.borderColor+" !important;\n }\n .declarations-header {\n background-color: "+e.navigationPanelColor+" !important;\n border: 1px solid "+e.borderColor+" !important;\n }\n li.declaration {\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n .left-panel {\n background-color: "+e.navigationPanelColor+" !important;\n border-right: 1px solid "+e.borderColor+" !important;\n }\n .show-left-panel-button {\n background-color: "+e.navigationPanelColor+" !important;\n border-right:1px solid "+e.borderColor+" !important;\n border-bottom:1px solid "+e.borderColor+" !important;\n }\n .right-panel {\n background-color: "+e.backgroundColor+" !important;\n }\n a.jstree-anchor {\n color: "+e.defaultColor+" !important;\n }\n .declaration > a {\n color: "+e.defaultColor+" !important;\n }\n .highlighted-line {\n background : "+e.highlightedLineColor+" !important;\n }\n table.source-code {\n background-color: "+e.backgroundColor+" !important;\n color: "+e.defaultColor+" !important;\n }\n .jstree-clicked {\n background-color: "+e.backgroundColor+" !important;\n }\n .jstree-hovered {\n background-color: "+e.backgroundColor+" !important;\n }\n ul.autocomplete-items {\n background-color: "+e.backgroundColor+" !important;\n border-top: 1px solid "+e.borderColor+" !important;\n border-left: 1px solid "+e.borderColor+" !important;\n border-right: 1px solid "+e.borderColor+" !important;\n }\n ul.autocomplete-items > li {\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n ul.autocomplete-items > li:hover {\n background-color: "+e.highlightedLineColor+" !important;\n }\n ul.autocomplete-items > li.highlighted {\n background-color: "+e.highlightedLineColor+" !important;\n }\n .source-code-snippet {\n color: "+e.defaultColor+" !important;\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n .source-code-snippet:hover {\n background-color: "+e.highlightedLineColor+" !important;\n }\n .bottom-panel {\n background-color: "+e.backgroundColor+" !important;\n border-top: 1px solid "+e.borderColor+" !important;\n }\n .bottom-panel-header {\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n .paginated-list-header {\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n li.search-result {\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n .search-results-header {\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n .info-window-content {\n border-top: 1px solid "+e.borderColor+" !important;\n }\n .info-window {\n border: 1px solid "+e.borderColor+" !important;\n background-color:"+e.infoWindowColor+" !important;\n color: "+e.defaultColor+" !important;\n }\n .type-info {\n border-top: 1px solid "+e.borderColor+" !important;\n }\n .references-packages {\n border-right:1px solid "+e.borderColor+" !important;\n }"}function n(e){var n=document.createElement("style") -n.type="text/css",n.innerHTML=t(e),n.id="color-theme" -var o=document.querySelector("style#color-theme") -o&&o.parentElement.removeChild(o),document.getElementsByTagName("head")[0].appendChild(n)}Object.defineProperty(e,"__esModule",{value:!0}) -var o={id:"darkTheme",name:"Dark theme",description:"Dark theme (Monokai based)",defaultColor:"#F8F8F2",backgroundColor:"#272822",typeColor:"#66D9EF",literalColor:"#E6DB74",topLevelIdFromCurrentModule:"#A6E22E",localIdentifierColor:["#F0A3FF","#0075DC","#993F00","#2BCE48","#FFCC99","#808080","#94FFB5","#8F7C00","#C20088","#FFA405","#FFA8BB","#426600","#FF0010","#5EF1F2","#00998F","#E0FF66","#FFFF80","#FFFF00","#FF5005"],menuColor:"#3c3b37",menuLinkColor:"#F8F8F2",infoWindowColor:"#3c3b37",navigationPanelColor:"#3c3b37",linkColor:"#0366d6",borderColor:"#535557",highlightedLineColor:"#4a4a4a"},s={id:"lightTheme",name:"Light theme",description:"Light theme (Github based)",defaultColor:"#24292e",backgroundColor:"#ffffff",typeColor:"#005cc5",literalColor:"#032f62",topLevelIdFromCurrentModule:"#6f42c1",localIdentifierColor:["#005C31","#2BCE48","#808080","#8F7C00","#C20088","#FFA405","#ffa8bb","#426600","#FF0010","#09d7d8","#00998F","#990000","#FF5005"],menuColor:"#f2f4f8",menuLinkColor:"#24292e",infoWindowColor:"#f2f4f8",navigationPanelColor:"#f2f4f8",linkColor:"#0366d6",borderColor:"#e1e4e8",highlightedLineColor:"#eaeaea"},l={darkTheme:o,lightTheme:s} -e.updateColorThemeCss=n,e.colorThemeToCss=t,e.themes=l}),define("haskell-code-explorer/utils/go-to-definition",["exports"],function(e){function t(e){var t=e.modulePath,n=e.packageId.name+"-"+e.packageId.version,o="" -return 1!=e.startLine&&(o="#L"+e.startLine),"/package/"+n+"/show/"+t+o}function n(e,t){var n="" -return"Mod"!==t.entity&&(n="#"+encodeURIComponent(t.name)),"https://hackage.haskell.org/package/"+e+"/docs/src/"+t.moduleName+".html"+n}function o(e,t){return 2===e?window.open(t,"_blank"):1==e&&(window.location=t),!1}function s(e){if(e){var t=window.location.origin+window.location.pathname+"#L"+e -location.href!=t&&(window.location.hash="#L"+e)}}function l(e,l,i,r){if("ExactLocation"===l.tag){var a=t(l) -l.startLine!==r&&s(r),o(i,a)}else if("ApproximateLocation"===l.tag&&0!==l.moduleName.indexOf("Paths_")){var c=l.packageId.name+"-"+l.packageId.version -"Mod"===l.entity?e.loadDefinitionSite(c,l.moduleName,l.componentId,l.entity,l.moduleName).then(function(e){var t=e.location.packageId.name+"-"+e.location.packageId.version -o(i,"/package/"+t+"/show/"+e.location.modulePath)}).catch(function(){o(i,n(c,l))}):e.loadDefinitionSite(c,l.moduleName,l.componentId,l.entity,l.name).then(function(e){if("ExactLocation"===e.location.tag){var a=t(e.location) -l.startLine!==r&&s(r),o(i,a)}else s(r),o(i,n(c,l))}).catch(function(e){console.log(e),s(r),o(i,n(c,l))})}else alert("No location info")}Object.defineProperty(e,"__esModule",{value:!0}),e.goToDefinition=l,e.openUrl=o}),define("haskell-code-explorer/utils/language-extensions",["exports"],function(e){function t(e){return e.replace(o,function(e){var t=n[e] -return n?""+e+"":e})}Object.defineProperty(e,"__esModule",{value:!0}) -var n={AllowAmbiguousTypes:{description:"Allow the user to write ambiguous types, and the type inference engine to infer them.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XAllowAmbiguousTypes"},ApplicativeDo:{description:"Allows do-notation for types that are Applicative as well as Monad. When enabled, desugaring do notation tries to use (*) and fmap and join as far as possible.",link:"https://ghc.haskell.org/trac/ghc/wiki/ApplicativeDo#Summary"},Arrows:{description:"Enable arrow notation.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XArrows"},AutoDeriveTypeable:{description:"(deprecated) Deprecated in favour of DeriveDataTypeable.",link:"https://haskell.org/ghc/docs/7.8.4/html/users_guide/deriving.html#auto-derive-typeable"},BangPatterns:{description:"Enable a form of pattern which forces evaluation before an attempted match, and a form of strict let/where binding.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XBangPatterns"},BinaryLiterals:{description:"Allow the use of binary integer literal syntax (e.g. 0b11001001 to denote 201).",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XBinaryLiterals"},BlockArguments:{description:"Allow do blocks etc. in argument position.",link:"https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0010-block-arguments.rst#blockarguments-extension"},CApiFFI:{description:"Allow use of CAPI FFI calling convention (foreign import capi).",link:"https://haskell.org/ghc/docs/latest/html/users_guide/ffi-chap.html#the-capi-calling-convention"},CPP:{description:"Run the C preprocessor on Haskell source code.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#language-pragma"},ConstrainedClassMethods:{description:"Allow a class method's type to place additional constraints on a class type variable.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XConstrainedClassMethods"},ConstraintKinds:{description:"Allow type classimplicit parameterequality constraints to be used as types with the special kind constraint. Also generalise the (ctxt => ty) syntax so that any type of kind constraint can occur before the arrow.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XConstraintKinds"},DataKinds:{description:"Enable datatype promotion.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDataKinds"},DatatypeContexts:{description:"Allow contexts to be put on datatypes, e.g. the Eq a in data Eq a => Set a = NilSet | ConsSet a (Set a).",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDatatypeContexts"},DefaultSignatures:{description:"Enable support for default signatures.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDefaultSignatures"},DeriveAnyClass:{description:"Enable deriving for any class.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveAnyClass"},DeriveDataTypeable:{description:"Enable deriving for classes Typeable and Data.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveDataTypeable"},DeriveFoldable:{description:"Enable deriving for the Foldable class.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveFoldable"},DeriveFunctor:{description:"Enable deriving for the Functor class.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveFunctor"},DeriveGeneric:{description:"Enable deriving for Generic and Generic1.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveGeneric"},DeriveLift:{description:"Enable deriving for the Lift class.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveLift"},DeriveTraversable:{description:"Enable deriving for the Traversable class.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveTraversable"},DerivingStrategies:{description:"Allow multiple deriving clauses, each optionally qualified with a strategy.",link:"https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/DerivingStrategies"},DisambiguateRecordFields:{description:"Allow a record field name to be disambiguated by the type of the record it's in.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDisambiguateRecordFields"},DoAndIfThenElse:{description:"Improve the layout rule when if expressions are used in a do block.",link:"https://prime.haskell.org/wiki/DoAndIfThenElse"},DoRec:{description:"(deprecated) Deprecated in favour of RecursiveDo.",link:"http://hackage.haskell.org/package/Cabal-2.4.1.0/docs/Language-Haskell-Extension.html#v:RecursiveDo"},DuplicateRecordFields:{description:"Allow records to use duplicated field labels for accessors.",link:"https://ghc.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields/DuplicateRecordFields"},EmptyCase:{description:"Enable case expressions that have no alternatives. Also applies to lambda-case expressions if they are enabled.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XEmptyCase"},EmptyDataDecls:{description:"Allow data type declarations with no constructors.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XEmptyDataDecls"},ExistentialQuantification:{description:"Allow existentially-quantified data constructors.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XExistentialQuantification"},ExplicitForAll:{description:"Make forall a keyword in types, which can be used to give the generalisation explicitly.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XExplicitForAll"},ExplicitNamespaces:{description:"Enable explicit namespaces in module import/export lists.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XExplicitNamespaces"},ExtendedDefaultRules:{description:"Allow default instantiation of polymorphic types in more situations.",link:"http://downloads.haskell.org/~ghc/latest/docs/html/users_guide/ghci.html#type-defaulting-in-ghci"},ExtensibleRecords:{description:'Enable the "Trex" extensible records system.',link:"http://haskell.org/hugs/pages/users_guide/hugs-only.html#TREX"},FlexibleContexts:{description:"Relax some restrictions on the form of the context of a type signature.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XFlexibleContexts"},FlexibleInstances:{description:"Relax some restrictions on the form of the context of an instance declaration.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XFlexibleInstances"},ForeignFunctionInterface:{description:"Enable the Foreign Function Interface. In GHC, implements the standard Haskell 98 Foreign Function Interface Addendum, plus some GHC-specific extensions.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#language-pragma"},FunctionalDependencies:{description:"Allow a specification attached to a multi-parameter type class which indicates that some parameters are entirely determined by others. The implementation will check that this property holds for the declared instances, and will use this property to reduce ambiguity in instance resolution.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XFunctionalDependencies"},GADTSyntax:{description:"Enable GADT syntax for declaring ordinary algebraic datatypes.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XGADTSyntax"},GADTs:{description:"Enable generalized algebraic data types, in which type variables may be instantiated on a per-constructor basis. Implies GADTSyntax.",link:"https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#generalised-algebraic-data-types-gadts"},GHCForeignImportPrim:{description:"Allow GHC primops, written in C--, to be imported into a Haskell file.",link:"https://ghc.haskell.org/trac/ghc/wiki/Commentary/PrimOps"},GeneralizedNewtypeDeriving:{description:"Allow a type declared with newtype to use deriving for any class with an instance for the underlying type.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XGeneralizedNewtypeDeriving"},Generics:{description:"(deprecated) Enable generic type classes, with default instances defined in terms of the algebraic structure of a type.",link:"https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#generic-classes"},HereDocuments:{description:"Enable an alternate syntax for string literals, with string templating.",link:"http://haskell.org/hugs/pages/users_guide/here-documents.html"},HexFloatLiterals:{description:"Allow use of hexadecimal literal notation for floating-point values.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#hex-float-literals"},ImplicitParams:{description:"Enable implicit function parameters with dynamic scope.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XImplicitParams"},ImplicitPrelude:{description:"Enable the implicit importing of the module Prelude. When disabled, when desugaring certain built-in syntax into ordinary identifiers, use whatever is in scope rather than the Prelude -- version.",link:"https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#rebindable-syntax-and-the-implicit-prelude-import"},ImpredicativeTypes:{description:"(deprecated) Allow a type variable to be instantiated at a polymorphic type.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XImpredicativeTypes"},IncoherentInstances:{description:"Implies OverlappingInstances. Allow the implementation to choose an instance even when it is possible that further instantiation of types will lead to a more specific instance being applicable.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XIncoherentInstances"},InstanceSigs:{description:"Allow type signatures to be specified in instance declarations.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XInstanceSigs"},InterruptibleFFI:{description:"Enable interruptible FFI.",link:"https://haskell.org/ghc/docs/latest/html/users_guide/ffi-chap.html#interruptible-foreign-calls"},KindSignatures:{description:"Allow an explicit kind signature giving the kind of types over which a type variable ranges.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XKindSignatures"},LambdaCase:{description:"Enable support lambda-case expressions.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XLambdaCase"},LiberalTypeSynonyms:{description:"Defer validity checking of types until after expanding type synonyms, relaxing the constraints on how synonyms may be used.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XLiberalTypeSynonyms"},MagicHash:{description:"Allow the character # as a postfix modifier on identifiers. Also enables literal syntax for unboxed values.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMagicHash"},MonadComprehensions:{description:"Enable monad comprehensions, which generalise the list comprehension syntax to work for any monad.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMonadComprehensions"},MonadFailDesugaring:{description:"A temporary extension to help library authors check if their code will compile with the new planned desugaring of fail.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-MonadFailDesugaring"},MonoLocalBinds:{description:"Local (let and where) bindings are monomorphic.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMonoLocalBinds"},MonoPatBinds:{description:"(deprecated) Has no effect.",link:"https://downloads.haskell.org/~ghc/7.6.3/docs/html/users_guide/monomorphism.html"},MonomorphismRestriction:{description:"Enable the dreaded monomorphism restriction.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNoMonomorphismRestriction"},MultiParamTypeClasses:{description:"Allow multiple parameters in a type class.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMultiParamTypeClasses"},MultiWayIf:{description:"Enable support for multi-way if-expressions.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMultiWayIf"},NPlusKPatterns:{description:"Support for patterns of the form n + k, where k is an integer literal.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNPlusKPatterns"},NamedFieldPuns:{description:"Enable syntax for implicitly binding local names corresponding to the field names of a record. Puns bind specific names, unlike RecordWildCards.",link:"https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#extension-NamedFieldPuns"},NamedWildCards:{description:"Allow named placeholders written with a leading underscore inside type signatures. Wildcards with the same name unify to the same type.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNamedWildCards"},NegativeLiterals:{description:"Desugars negative literals directly (without using negate).",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNegativeLiterals"},NewQualifiedOperators:{description:"(deprecated) Change the syntax for qualified infix operators.",link:"http://www.haskell.org/ghc/docs/6.12.3/html/users_guide/syntax-extns.html#new-qualified-operators"},NondecreasingIndentation:{description:"Enable non-decreasing indentation for do blocks.",link:"https://haskell.org/ghc/docs/latest/html/users_guide/bugs.html#context-free-syntax"},NullaryTypeClasses:{description:"Enable support for type classes with no type parameter.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNullaryTypeClasses"},NumDecimals:{description:"Allow the use of floating literal syntax for all instances of Num, including Int and Integer.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNumDecimals"},NumericUnderscores:{description:"Allow use of underscores in numeric literals.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-NumericUnderscores"},OverlappingInstances:{description:"Allow overlapping class instances, provided there is a unique most specific instance for each use.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XOverlappingInstances"},OverloadedLabels:{description:"Allows use of the #label syntax.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-OverloadedLabels"},OverloadedLists:{description:"Enable overloading of list literals, arithmetic sequences and list patterns using the IsList type class.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XOverloadedLists"},OverloadedStrings:{description:"Enable overloading of string literals using a type class, much like integer literals.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XOverloadedStrings"},PackageImports:{description:"Allow imports to be qualified by the package name the module is intended to be imported from, e.g.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPackageImports"},ParallelArrays:{description:"Enable parallel arrays syntax ([:, :]) for Data Parallel Haskell.",link:"http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell"},ParallelListComp:{description:"Provide syntax for writing list comprehensions which iterate over several lists together, like the zipWith family of functions.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-ParallelListComp"},PartialTypeSignatures:{description:"Allow anonymous placeholders (underscore) inside type signatures. The type inference engine will generate a message describing the type inferred at the hole's location.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPartialTypeSignatures"},PatternGuards:{description:"Enable a form of guard which matches a pattern and binds variables.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPatternGuards"},PatternSynonyms:{description:"Allow giving names to and abstracting over patterns.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPatternSynonyms"},PolyKinds:{description:"Enable kind polymorphism.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPolyKinds"},PostfixOperators:{description:"Relax the interpretation of left operator sections to allow unary postfix operators.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPostfixOperators"},QuantifiedConstraints:{description:"Allow forall in constraints.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-QuantifiedConstraints"},QuasiQuotes:{description:"Enable quasi-quotation, a mechanism for defining new concrete syntax for expressions and patterns.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XQuasiQuotes"},Rank2Types:{description:"(deprecated) A synonym for RankNTypes.",link:"https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#arbitrary-rank-polymorphism"},RankNTypes:{description:"Allow a universally-quantified type to occur on the left of a function arrow.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRankNTypes"},RebindableSyntax:{description:"Makes much of the Haskell sugar be desugared into calls to the function with a particular name that is in scope.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRebindableSyntax"},RecordPuns:{description:"Deprecated, use NamedFieldPuns instead.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#record-puns"},RecordWildCards:{description:"Enable syntax for implicitly binding local names corresponding to the field names of a record. A wildcard binds all unmentioned names, unlike NamedFieldPuns.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRecordWildCards"},RecursiveDo:{description:"Allow recursive bindings in do blocks, using the rec keyword, or mdo, a variant of do.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRecursiveDo"},RegularPatterns:{description:'Allow regular pattern matching over lists, as discussed in the paper "Regular Expression Patterns" by Niklas Broberg, Andreas Farre and Josef Svenningsson, from ICFP \'04.',link:"https://stackoverflow.com/questions/37224366/how-to-resolve-an-unsupported-extension-regularpatterns-error"},RelaxedPolyRec:{description:"Relax the requirements on mutually-recursive polymorphic functions.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRelaxedPolyRec"},RestrictedTypeSynonyms:{description:"Enable type synonyms which are transparent in some definitions and opaque elsewhere, as a way of implementing abstract datatypes.",link:"http://haskell.org/hugs/pages/users_guide/restricted-synonyms.html"},RoleAnnotations:{description:"Enable explicit role annotations, like in (type role Foo representational representational).",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRoleAnnotations"},Safe:{description:"Compile a module in the Safe, Safe Haskell mode -- a restricted form of the Haskell language to ensure type safety.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/safe_haskell.html#ghc-flag--XSafe"},SafeImports:{description:"Allow imports to be qualified with a safe keyword that requires the imported module be trusted as according to the Safe Haskell definition of trust.",link:"https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#safe-imports"},ScopedTypeVariables:{description:"Cause a type variable in a signature, which has an explicit forall quantifier, to scope over the definition of the accompanying value declaration.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XScopedTypeVariables"},StandaloneDeriving:{description:"Allow a standalone declaration which invokes the type class deriving mechanism.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XStandaloneDeriving"},StarIsType:{description:"Have * refer to Type.",link:"https://ghc.haskell.org/trac/ghc/wiki/Migration/8.6#StarIsType"},StaticPointers:{description:"Enable support for 'static pointers' (and the static keyword) to refer to globally stable names, even across different programs.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XStaticPointers"},Strict:{description:"Switches all pattern bindings to be strict by default (as if they had a bang using BangPatterns), ordinary patterns are recovered using ~. Implies StrictData.",link:"https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#ghc-flag--XStrict"},StrictData:{description:"Switches data type declarations to be strict by default (as if they had a bang using BangPatterns), and allow opt-in field laziness using ~.",link:"https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#ghc-flag--XStrictData"},TemplateHaskell:{description:"Enable Template Haskell, a system for compile-time metaprogramming.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTemplateHaskell"},TemplateHaskellQuotes:{description:"A subset of TemplateHaskell including only quoting.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-TemplateHaskellQuotes"},TraditionalRecordSyntax:{description:"Enable traditional record syntax (as supported by Haskell 98)",link:"https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#traditional-record-syntax"},TransformListComp:{description:"Enable generalized list comprehensions, supporting operations such as sorting and grouping.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTransformListComp"},Trustworthy:{description:"Compile a module in the Trustworthy, Safe Haskell mode -- no restrictions apply but the module is marked as trusted as long as the package the module resides in is trusted.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/safe_haskell.html#ghc-flag--XTrustworthy"},TupleSections:{description:"Enable the use of tuple sections, e.g. (, True) desugars into x -> (x, True).",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTupleSections"},TypeApplications:{description:"Enable explicit type applications with the syntax id @Int.",link:"https://ghc.haskell.org/trac/ghc/wiki/TypeApplication"},TypeFamilies:{description:"Allow data types and type synonyms which are indexed by types, i.e. ad-hoc polymorphism for types.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTypeFamilies"},TypeFamilyDependencies:{description:"Allow functional dependency annotations on type families to declare them as injective.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-TypeFamilyDependencies"},TypeInType:{description:"Dissolve the distinction between types and kinds, allowing the compiler to reason about kind equality and therefore enabling GADTs to be promoted to the type-level.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#kind-polymorphism"},TypeOperators:{description:"Allow the name of a type constructor, type class, or type variable to be an infix operator. * https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTypeOperators",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTypeOperators"},TypeSynonymInstances:{description:"Allow type synonyms in instance heads.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTypeSynonymInstances"},UnboxedSums:{description:"Enable the use of unboxed sum syntax.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-UnboxedSums"},UnboxedTuples:{description:"Enable unboxed tuples.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XUnboxedTuples"},UndecidableInstances:{description:"Ignore structural rules guaranteeing the termination of class instance resolution. Termination is guaranteed by a fixed-depth recursion stack, and compilation may fail if this depth is exceeded.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XUndecidableInstances"},UndecidableSuperClasses:{description:"Allow recursive (and therefore undecideable) super-class relationships.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#undecidable-or-recursive-superclasses"},UnicodeSyntax:{description:"Allow certain Unicode characters to stand for certain ASCII character sequences, e.g. keywords and punctuation.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XUnicodeSyntax"},UnliftedFFITypes:{description:"Allow the use of unboxed types as foreign types, e.g. in foreign import and foreign export.",link:"https://ghc.haskell.org/trac/ghc/wiki/Commentary/PrimOps#Foreignout-of-linePrimOpsandforeignimportprim"},Unsafe:{description:"Compile a module in the Unsafe, Safe Haskell mode so that modules compiled using Safe, Safe Haskell mode can't import it.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/safe_haskell.html#ghc-flag--XUnsafe"},ViewPatterns:{description:"Enable view patterns, which match a value by applying a function and matching on the result.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XViewPatterns"},XmlSyntax:{description:'Allow concrete XML syntax to be used in expressions and patterns, as per the Haskell Server Pages extension language: http://www.haskell.org/haskellwiki/HSP. The ideas behind it are discussed in the paper "Haskell Server Pages through Dynamic Loading" by Niklas Broberg, from Haskell Workshop \'05.',link:"http://www.haskell.org/haskellwiki/HSP"}},o=new RegExp(Object.keys(n).join("|"),"g") -e.addLinksToLanguageExtensionsDocs=t}),define("haskell-code-explorer/utils/line-selection",["exports"],function(e){function t(e,t){var o=Array.prototype.slice.call(e.querySelectorAll("td.line-number")) -if(o.length>0){var l=function(){n(e)} -window.addEventListener("hashchange",l),t._onhashchange=l -var i=void 0,r=function(e){16===e.keyCode&&(i=!0)},a=function(e){16===e.keyCode&&(i=!1)} -document.addEventListener("keydown",r),document.addEventListener("keyup",a),t._onkeydown=r,t._onkeyup=a -var c=void 0,d=void 0 -o.forEach(function(t){t.onclick=function(){var t=parseInt(this.textContent) -i&&c?c!=t&&(d=t,co&&(n.scrollTop=n.scrollTop-(o/2-20))}function s(e,t,n){Array.prototype.slice.call(e.querySelectorAll("td.line-content")).forEach(function(e){var o=parseInt(e.id.substring(2)) -o>=t&&o<=n?e.classList.add("highlighted-line"):e.classList.remove("highlighted-line")})}Object.defineProperty(e,"__esModule",{value:!0}),e.initializeLineSelection=t,e.highlightLines=s,e.highlightSelectedLines=n}),define("haskell-code-explorer/config/environment",[],function(){try{var e="haskell-code-explorer/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n=JSON.parse(decodeURIComponent(t)),o={default:n} -return Object.defineProperty(o,"__esModule",{value:!0}),o}catch(t){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("haskell-code-explorer/app").default.create({staticUrlPrefix:"/files",apiUrlPrefix:"/api",haskellCodeExplorerDirectory:".haskell-code-explorer",title:"Haskell Code Explorer",name:"haskell-code-explorer",version:"0.0.1+9b84bbf1"}) diff --git a/javascript/release/index.html b/javascript/release/index.html index 4b27a66..a47cecd 100644 --- a/javascript/release/index.html +++ b/javascript/release/index.html @@ -8,7 +8,7 @@ - + @@ -18,7 +18,7 @@ - + diff --git a/server b/server index 901e61d..eeb05e2 100755 --- a/server +++ b/server @@ -6,6 +6,9 @@ cd javascript npm run release cd .. +stack build +stack install + haskell-code-server \ --package . \ --package ../hakyll \ From 08e095ec61fafd041495b3627d83ee9ffae9b04f Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Sun, 9 Nov 2025 17:14:50 +0800 Subject: [PATCH 19/22] Add distribute script --- .gitignore | 3 +- distribute | 70 +++++++++++++++++++++++++++++++++++ javascript/release/index.html | 4 +- server | 2 +- 4 files changed, 74 insertions(+), 5 deletions(-) create mode 100755 distribute diff --git a/.gitignore b/.gitignore index 17c6f4d..48ed51c 100644 --- a/.gitignore +++ b/.gitignore @@ -22,5 +22,4 @@ stack*.yaml.lock *.dyn_hi *.dyn_o -vendor -distribute \ No newline at end of file +vendor \ No newline at end of file diff --git a/distribute b/distribute new file mode 100755 index 0000000..13579fb --- /dev/null +++ b/distribute @@ -0,0 +1,70 @@ +#!/usr/bin/env bash +set -euo pipefail + +CONTROL_PATH="$HOME/.ssh/cm_${HCE_SERVER_HOST//:/_}" + +rm -f "$CONTROL_PATH" 2>/dev/null || true +ssh -o ControlMaster=yes -o ControlPersist=600 -o ControlPath="$CONTROL_PATH" -fN "$HCE_SERVER_HOST" +RSYNC_SSH="ssh -o ControlPath=$CONTROL_PATH -o ControlMaster=no" + +packages=( + haskell-code-explorer + hakyll + lrucache + pandoc + attoparsec + parsec + servant/servant + servant/servant-auth/servant-auth-client + servant/servant-auth/servant-auth-docs + servant/servant-auth/servant-auth-server + servant/servant-auth/servant-auth-swagger + servant/servant-client + servant/servant-client-core + servant/servant-client-ghcjs + servant/servant-conduit + servant/servant-docs + servant/servant-foreign + servant/servant-http-streams + servant/servant-machines + servant/servant-pipes + servant/servant-quickcheck + servant/servant-server + servant/servant-swagger + wai/auto-update + wai/mime-types + wai/recv + wai/time-manager + wai/wai + wai/wai-app-static + wai/wai-conduit + wai/wai-extra + wai/wai-frontend-monadcgi + wai/wai-http2-extra + wai/wai-websockets + wai/warp + wai/warp-quic + wai/warp-tls + cabal/Cabal-syntax + cabal/Cabal + cabal/Cabal-described + cabal/Cabal-QuickCheck + cabal/Cabal-tests + cabal/Cabal-tree-diff + cabal/cabal-benchmarks + cabal/cabal-install-solver + cabal/cabal-install + cabal/cabal-testsuite + cabal/solver-benchmarks +) + +for package in "${packages[@]}"; do + src="../$package/.haskell-code-explorer" + dest_dir="$HCE_SERVER_DIR/$package/" + $RSYNC_SSH "$HCE_SERVER_HOST" "mkdir -p '$dest_dir'" + + echo "→ syncing $src → $HCE_SERVER_HOST:$dest_dir" + rsync --ignore-times -avz -e "$RSYNC_SSH" "$src" "$HCE_SERVER_HOST:$dest_dir" +done + +ssh -o ControlPath="$CONTROL_PATH" -O exit "$HCE_SERVER_HOST" || true diff --git a/javascript/release/index.html b/javascript/release/index.html index a47cecd..20539fd 100644 --- a/javascript/release/index.html +++ b/javascript/release/index.html @@ -8,7 +8,7 @@ - + @@ -18,7 +18,7 @@ - + diff --git a/server b/server index eeb05e2..61320b3 100755 --- a/server +++ b/server @@ -7,7 +7,7 @@ npm run release cd .. stack build -stack install +stack install haskell-code-explorer:exe:haskell-code-server haskell-code-server \ --package . \ From 320ca524b9b6348094e0be3841e0966a5517cee3 Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Sun, 9 Nov 2025 19:55:18 +0800 Subject: [PATCH 20/22] Upgrade indexer script --- indexer | 2 ++ 1 file changed, 2 insertions(+) diff --git a/indexer b/indexer index 8adfbc2..469d8f6 100755 --- a/indexer +++ b/indexer @@ -5,6 +5,8 @@ set -euo pipefail stack build stack install +set +euo pipefail + # rm -rf ./.haskell-code-explorer # stack --stack-yaml ../haskell-code-explorer/stack.yaml exec -- haskell-code-indexer -v --dist .stack-work/dist/aarch64-osx/ghc-9.10.2/ -p . --before-preprocessing From 96a483f536396d0d8d328b704dac873f3ebf8369 Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Sun, 9 Nov 2025 20:08:22 +0800 Subject: [PATCH 21/22] Upgrade README.md --- README.md | 2 ++ javascript/release/index.html | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d7c79d4..e48154f 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,8 @@ Examples: ![Haskell Code Explorer](https://haskell-code-explorer.mfix.io/screenshot.png) +- for 9.10.2 [http://www.haskell.fan](http://www.haskell.fun) + The public instance of Haskell Code Explorer is available at [https://haskell-code-explorer.mfix.io](https://haskell-code-explorer.mfix.io). It contains core libraries (ghc, base, etc.) and a subset of packages from a Stackage snapshot. Haskell Code Explorer consists of an indexer, an HTTP server, and a JavaScript application. The indexer uses GHC API to create a data structure that contains detailed information about the source code of a Cabal package. The HTTP server reads that data structure into memory and responds to HTTP requests from the JavaScript application. diff --git a/javascript/release/index.html b/javascript/release/index.html index 20539fd..a924ac9 100644 --- a/javascript/release/index.html +++ b/javascript/release/index.html @@ -8,7 +8,7 @@ - + @@ -18,7 +18,7 @@ - + From 7b5fe94d357495b7c6ea2ee9a701bef8437b6132 Mon Sep 17 00:00:00 2001 From: zichaonickfox Date: Sun, 9 Nov 2025 22:01:31 +0800 Subject: [PATCH 22/22] Upgrade indexer script --- index | 21 -------- indexer | 97 ++++++++++++++++++----------------- javascript/release/index.html | 4 +- 3 files changed, 52 insertions(+), 70 deletions(-) delete mode 100755 index diff --git a/index b/index deleted file mode 100755 index 6ac8fe9..0000000 --- a/index +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -stack build -stack install - -rm -rf ./.haskell-code-explorer -stack --stack-yaml ../haskell-code-explorer/stack.yaml exec -- haskell-code-indexer -v --dist ../haskell-code-explorer/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../haskell-code-explorer - -rm -rf ../hakyll/.haskell-code-explorer -stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v --dist ../hakyll/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../hakyll - -rm -rf ../lrucache/.haskell-code-explorer -stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v --dist ../lrucache/dist-newstyles/dist/aarch64-osx/ghc-9.10.2/ -p ../lrucache - -rm -rf ../attoparsec/haskell-code-explorer -stack --stack-yaml ../attoparsec/stack.yaml exec -- haskell-code-indexer -v --dist ../attoparsec/dist-newstyles/dist/aarch64-osx/ghc-9.10.2/ -p ../attoparsec - -rm -rf ../pandoc/.haskell-code-explorer -stack --stack-yaml ../pandoc/stack.yaml exec -- haskell-code-indexer -v --dist ../pandoc/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../pandoc \ No newline at end of file diff --git a/indexer b/indexer index 469d8f6..1f6e951 100755 --- a/indexer +++ b/indexer @@ -14,10 +14,13 @@ set +euo pipefail # stack --stack-yaml ../hakyll/stack.yaml exec -- haskell-code-indexer -v --dist ../hakyll/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../hakyll --before-preprocessing # rm -rf ../lrucache/.haskell-code-explorer -# stack --stack-yaml ../lrucache/stack.yaml exec -- haskell-code-indexer -v --dist ../lrucache/dist-newstyles/dist/aarch64-osx/ghc-9.10.2/ -p ../lrucache --before-preprocessing +# stack --stack-yaml ../lrucache/stack.yaml exec -- haskell-code-indexer -v --dist ../lrucache/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../lrucache --before-preprocessing + +rm -rf ../parsec/haskell-code-explorer +stack --stack-yaml ../parsec/stack.yaml exec -- haskell-code-indexer -v --dist ../parsec/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../parsec --before-preprocessing # rm -rf ../attoparsec/haskell-code-explorer -# stack --stack-yaml ../attoparsec/stack.yaml exec -- haskell-code-indexer -v --dist ../attoparsec/dist-newstyles/dist/aarch64-osx/ghc-9.10.2/ -p ../attoparsec --before-preprocessing +# stack --stack-yaml ../attoparsec/stack.yaml exec -- haskell-code-indexer -v --dist ../attoparsec/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../attoparsec --before-preprocessing # rm -rf ../pandoc/.haskell-code-explorer # stack --stack-yaml ../pandoc/stack.yaml exec -- haskell-code-indexer -v --dist ../pandoc/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../pandoc --before-preprocessing @@ -25,50 +28,50 @@ set +euo pipefail # rm -rf ../parsec/.haskell-code-explorer # stack --stack-yaml ../parsec/stack.yaml exec -- haskell-code-indexer -v --dist ../parsec/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../parsec --before-preprocessing -rm -rf ../wai/.haskell-code-explorer -stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/auto-update/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/auto-update --before-preprocessing -stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/mime-types/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/mime-types --before-preprocessing -stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/recv/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/recv --before-preprocessing -stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/time-manager/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/time-manager --before-preprocessing -stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai --before-preprocessing -stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-app-static/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-app-stat --before-preprocessing -stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-conduit/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-conduit --before-preprocessing -stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-extra/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-extra --before-preprocessing -stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-frontend-monadcgi/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-frontend-mona --before-preprocessing -stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-http2-extra/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-http2-extra --before-preprocessing -stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-websockets/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-websockets --before-preprocessing -stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/warp/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/warp --ghc "-fno-allow-sendfilefd" --before-preprocessing -stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/warp-quic/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/warp-quic --before-preprocessing -stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/warp-tls/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/warp-tls --before-preprocessing +# rm -rf ../wai/.haskell-code-explorer +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/auto-update/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/auto-update --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/mime-types/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/mime-types --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/recv/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/recv --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/time-manager/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/time-manager --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-app-static/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-app-stat --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-conduit/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-conduit --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-extra/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-extra --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-frontend-monadcgi/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-frontend-mona --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-http2-extra/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-http2-extra --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/wai-websockets/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/wai-websockets --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/warp/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/warp --ghc "-fno-allow-sendfilefd" --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/warp-quic/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/warp-quic --before-preprocessing +# stack --stack-yaml ../wai/stack.yaml exec -- haskell-code-indexer -v --dist ../wai/warp-tls/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../wai/warp-tls --before-preprocessing -rm -rf ../cabal/.haskell-code-explorer -stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-syntax/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-syntax --ghc "-i./.stack-work/dist/aarch64-osx/ghc-9.10.2/build" --before-preprocessing -stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal --before-preprocessing -stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-described/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-described --before-preprocessing -stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-QuickCheck/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-QuickCheck --before-preprocessing -stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-tests/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-tests --before-preprocessing -stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-tree-diff/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-tree-diff --before-preprocessing -stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-benchmarks/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-benchmarks --before-preprocessing -stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-install-solver/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-install-solver --before-preprocessing -stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-install/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-install --before-preprocessing -stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-testsuite/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-testsuite --before-preprocessing -stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/solver-benchmarks/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/solver-benchmarks --before-preprocessing +# rm -rf ../cabal/.haskell-code-explorer +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-syntax/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-syntax --ghc "-i./.stack-work/dist/aarch64-osx/ghc-9.10.2/build" --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-described/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-described --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-QuickCheck/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-QuickCheck --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-tests/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-tests --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/Cabal-tree-diff/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/Cabal-tree-diff --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-benchmarks/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-benchmarks --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-install-solver/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-install-solver --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-install/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-install --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/cabal-testsuite/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/cabal-testsuite --before-preprocessing +# stack --stack-yaml ../cabal/stack.yaml exec -- haskell-code-indexer -v --dist ../cabal/solver-benchmarks/.stack-work/dist/aarch64-osx/ghc-9.10.2/ -p ../cabal/solver-benchmarks --before-preprocessing -rm -rf ../servant/.haskell-code-explorer -stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant --before-preprocessing -stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-client/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-client --before-preprocessing -stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-docs/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-docs --before-preprocessing -stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-server/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-server --before-preprocessing -stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-swagger/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-swagger --before-preprocessing -stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-client/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-client --before-preprocessing -stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-client-core/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-client-core --before-preprocessing -stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-client-ghcjs/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-client-ghcjs --before-preprocessing -stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-conduit/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-conduit --before-preprocessing -stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-docs/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-docs --before-preprocessing -stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-foreign/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-foreign --before-preprocessing -stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-http-streams/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-http-streams --before-preprocessing -stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-machines/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-machines --before-preprocessing -stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-pipes/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-pipes --before-preprocessing -stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-quickcheck/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-quickcheck --before-preprocessing -stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-server/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-server --before-preprocessing -stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-swagger/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-swagger --before-preprocessing \ No newline at end of file +# rm -rf ../servant/.haskell-code-explorer +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-client/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-client --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-docs/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-docs --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-server/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-server --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-auth/servant-auth-swagger/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-auth/servant-auth-swagger --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-client/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-client --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-client-core/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-client-core --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-client-ghcjs/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-client-ghcjs --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-conduit/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-conduit --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-docs/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-docs --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-foreign/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-foreign --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-http-streams/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-http-streams --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-machines/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-machines --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-pipes/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-pipes --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-quickcheck/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-quickcheck --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-server/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-server --before-preprocessing +# stack --stack-yaml ../servant/stack.yaml exec -- haskell-code-indexer -v --dist ../servant/servant-swagger/.stack-work/install/aarch64-osx/ghc-9.10.2/ -p ../servant/servant-swagger --before-preprocessing \ No newline at end of file diff --git a/javascript/release/index.html b/javascript/release/index.html index a924ac9..96a892f 100644 --- a/javascript/release/index.html +++ b/javascript/release/index.html @@ -8,7 +8,7 @@ - + @@ -18,7 +18,7 @@ - +