From 0ae81283044984a7621c0bdecd0ac54ea5d0a77f Mon Sep 17 00:00:00 2001 From: Nikolaos Karaolidis Date: Sun, 23 Feb 2025 23:52:29 +0000 Subject: [PATCH] Refactor packages Signed-off-by: Nikolaos Karaolidis --- README.md | 2 + flake.lock | 30 +- flake.nix | 14 +- .../configs/system/nix-update/default.nix | 12 + .../system/nix-update/source-attribute.patch | 127 + hosts/common/configs/system/nix/default.nix | 5 +- hosts/common/configs/system/sops/default.nix | 7 +- .../common/configs/user/gui/astal/default.nix | 13 +- .../configs/user/gui/clipbook/options.nix | 3 +- .../configs/user/gui/cliphist/default.nix | 5 +- .../configs/user/gui/darktable/default.nix | 120 +- .../user/gui/darktable/publish/.gitignore | 2 - .../user/gui/darktable/publish/bun.lockb | Bin 58824 -> 0 bytes .../user/gui/darktable/publish/default.nix | 29 - .../gui/darktable/publish/eslint.config.js | 11 - .../gui/darktable/publish/package-lock.json | 1962 -------- .../user/gui/darktable/publish/package.json | 24 - .../user/gui/darktable/publish/publish.lua | 133 - .../user/gui/darktable/publish/src/api.ts | 110 - .../user/gui/darktable/publish/src/exif.ts | 48 - .../user/gui/darktable/publish/src/files.ts | 66 - .../user/gui/darktable/publish/src/index.ts | 112 - .../user/gui/darktable/publish/src/lexical.ts | 50 - .../user/gui/darktable/publish/tsconfig.json | 24 - .../better-word-count/package-lock.patch | 35 - .../config/plugins/map-view/default.nix | 24 - .../configs/user/gui/obsidian/default.nix | 35 +- .../configs/user/gui/spicetify/default.nix | 4 +- .../configs/user/gui/vscode/default.nix | 133 +- .../user/gui/vscode/langs/c/default.nix | 2 +- .../user/gui/vscode/langs/docker/default.nix | 4 +- .../user/gui/vscode/langs/go/default.nix | 2 +- .../user/gui/vscode/langs/java/default.nix | 2 +- .../user/gui/vscode/langs/jinja/default.nix | 2 +- .../user/gui/vscode/langs/lua/default.nix | 2 +- .../gui/vscode/langs/markdown/default.nix | 4 +- .../user/gui/vscode/langs/nix/default.nix | 2 +- .../user/gui/vscode/langs/python/default.nix | 2 +- .../user/gui/vscode/langs/rest/default.nix | 2 +- .../user/gui/vscode/langs/rust/default.nix | 4 +- .../user/gui/vscode/langs/sas/default.nix | 2 +- .../user/gui/vscode/langs/sops/default.nix | 4 +- .../user/gui/vscode/langs/svelte/default.nix | 2 +- .../gui/vscode/langs/typescript/default.nix | 9 +- .../user/gui/vscode/langs/yaml/default.nix | 2 +- .../configs/user/gui/vscode/options.nix | 2 +- hosts/common/shells/default.nix | 11 + hosts/eirene/default.nix | 1 + hosts/eirene/hardware/display.nix | 2 +- hosts/elara/default.nix | 1 + hosts/elara/hardware/sas/display.nix | 2 +- .../configs/console/jsonify/default.nix | 8 - .../configs/console/jsonify/package.nix | 22 - .../nikara/configs/console/klog/default.nix | 8 - .../nikara/configs/console/klog/package.nix | 20 - .../console/klog/remove-version-flag.patch | 33 - .../configs/console/viya-ark/default.nix | 8 - .../configs/console/viya4-ark/default.nix | 16 + .../default.nix | 11 +- hosts/elara/users/nikara/default.nix | 4 +- hosts/installer/default.nix | 1 + lib/default.nix | 2 +- lib/runtime/default.nix | 2 +- lib/runtime/merge/default.nix | 6 +- lib/scripts/add-host.sh | 3 +- lib/scripts/remove-host.sh | 3 +- lib/scripts/update-keys.sh | 3 +- lib/scripts/update.sh | 36 +- .../darktable/ghost-cms-publish/default.nix | 38 + packages/darktable/hald-clut/default.nix | 17 + packages/darktable/lua-scripts/default.nix | 17 + packages/default.nix | 31 + .../plugins/better-word-count/default.nix | 15 +- .../better-word-count/package-lock.patch | 1559 +++++++ .../obsidian}/plugins/custom-sort/default.nix | 3 +- .../obsidian}/plugins/dataview/default.nix | 3 +- .../plugins/dataview/package-lock.patch | 0 .../obsidian}/plugins/excalidraw/default.nix | 2 + .../plugins/excalidraw/package-lock.patch | 0 .../obsidian}/plugins/folder-note/default.nix | 13 +- .../plugins/folder-note/package-lock.patch | 549 +++ .../obsidian}/plugins/kanban/default.nix | 3 +- .../plugins/languagetool/default.nix | 16 +- .../languagetool/settings-notification.patch | 0 .../plugins/languagetool/variety-typo.patch | 149 + .../obsidian}/plugins/linter/default.nix | 3 +- .../obsidian/plugins/map-view/default.nix | 28 + .../plugins/map-view/file-api-key.patch | 230 + .../plugins/map-view/package-lock.patch | 3766 ++++++++++++++++ .../plugins/minimal-settings/default.nix | 13 +- .../minimal-settings/package-lock.patch | 28 + .../obsidian}/plugins/outliner/default.nix | 3 +- .../plugins/read-it-later/default.nix | 3 +- .../plugins/style-settings/default.nix | 21 +- .../plugins/style-settings/package-lock.patch | 67 + .../obsidian}/plugins/tasks/default.nix | 5 +- .../plugins/url-into-selection/default.nix | 13 +- .../url-into-selection/package-lock.patch | 3990 +++++++++++++++++ .../obsidian}/themes/minimal/default.nix | 9 +- packages/sas/sage/default.nix | 23 + .../sas/viya4-ark/default.nix | 10 +- .../sas/viya4-ark}/fix-setup.patch | 0 .../viya4-ark}/remove-kubeconfig-check.patch | 0 .../sas/viya4-orders-cli}/better-config.patch | 0 .../sas/viya4-orders-cli/default.nix | 12 +- submodules/home-manager | 2 +- submodules/nixpkgs | 2 +- submodules/spicetify-nix | 2 +- 108 files changed, 11012 insertions(+), 3025 deletions(-) create mode 100644 hosts/common/configs/system/nix-update/default.nix create mode 100644 hosts/common/configs/system/nix-update/source-attribute.patch delete mode 100644 hosts/common/configs/user/gui/darktable/publish/.gitignore delete mode 100755 hosts/common/configs/user/gui/darktable/publish/bun.lockb delete mode 100644 hosts/common/configs/user/gui/darktable/publish/default.nix delete mode 100644 hosts/common/configs/user/gui/darktable/publish/eslint.config.js delete mode 100644 hosts/common/configs/user/gui/darktable/publish/package-lock.json delete mode 100644 hosts/common/configs/user/gui/darktable/publish/package.json delete mode 100644 hosts/common/configs/user/gui/darktable/publish/publish.lua delete mode 100644 hosts/common/configs/user/gui/darktable/publish/src/api.ts delete mode 100644 hosts/common/configs/user/gui/darktable/publish/src/exif.ts delete mode 100644 hosts/common/configs/user/gui/darktable/publish/src/files.ts delete mode 100644 hosts/common/configs/user/gui/darktable/publish/src/index.ts delete mode 100644 hosts/common/configs/user/gui/darktable/publish/src/lexical.ts delete mode 100644 hosts/common/configs/user/gui/darktable/publish/tsconfig.json delete mode 100644 hosts/common/configs/user/gui/obsidian/config/plugins/better-word-count/package-lock.patch delete mode 100644 hosts/common/configs/user/gui/obsidian/config/plugins/map-view/default.nix create mode 100644 hosts/common/shells/default.nix delete mode 100644 hosts/elara/users/nikara/configs/console/jsonify/default.nix delete mode 100644 hosts/elara/users/nikara/configs/console/jsonify/package.nix delete mode 100644 hosts/elara/users/nikara/configs/console/klog/default.nix delete mode 100644 hosts/elara/users/nikara/configs/console/klog/package.nix delete mode 100644 hosts/elara/users/nikara/configs/console/klog/remove-version-flag.patch delete mode 100644 hosts/elara/users/nikara/configs/console/viya-ark/default.nix create mode 100644 hosts/elara/users/nikara/configs/console/viya4-ark/default.nix rename hosts/elara/users/nikara/configs/console/{viya-orders-cli => viya4-orders-cli}/default.nix (82%) create mode 100644 packages/darktable/ghost-cms-publish/default.nix create mode 100644 packages/darktable/hald-clut/default.nix create mode 100644 packages/darktable/lua-scripts/default.nix create mode 100644 packages/default.nix rename {hosts/common/configs/user/gui/obsidian/config => packages/obsidian}/plugins/better-word-count/default.nix (56%) create mode 100644 packages/obsidian/plugins/better-word-count/package-lock.patch rename {hosts/common/configs/user/gui/obsidian/config => packages/obsidian}/plugins/custom-sort/default.nix (86%) rename {hosts/common/configs/user/gui/obsidian/config => packages/obsidian}/plugins/dataview/default.nix (85%) rename {hosts/common/configs/user/gui/obsidian/config => packages/obsidian}/plugins/dataview/package-lock.patch (100%) rename {hosts/common/configs/user/gui/obsidian/config => packages/obsidian}/plugins/excalidraw/default.nix (92%) rename {hosts/common/configs/user/gui/obsidian/config => packages/obsidian}/plugins/excalidraw/package-lock.patch (100%) rename {hosts/common/configs/user/gui/obsidian/config => packages/obsidian}/plugins/folder-note/default.nix (62%) create mode 100644 packages/obsidian/plugins/folder-note/package-lock.patch rename {hosts/common/configs/user/gui/obsidian/config => packages/obsidian}/plugins/kanban/default.nix (87%) rename {hosts/common/configs/user/gui/obsidian/config => packages/obsidian}/plugins/languagetool/default.nix (66%) rename {hosts/common/configs/user/gui/obsidian/config => packages/obsidian}/plugins/languagetool/settings-notification.patch (100%) create mode 100644 packages/obsidian/plugins/languagetool/variety-typo.patch rename {hosts/common/configs/user/gui/obsidian/config => packages/obsidian}/plugins/linter/default.nix (84%) create mode 100644 packages/obsidian/plugins/map-view/default.nix create mode 100644 packages/obsidian/plugins/map-view/file-api-key.patch create mode 100644 packages/obsidian/plugins/map-view/package-lock.patch rename {hosts/common/configs/user/gui/obsidian/config => packages/obsidian}/plugins/minimal-settings/default.nix (61%) create mode 100644 packages/obsidian/plugins/minimal-settings/package-lock.patch rename {hosts/common/configs/user/gui/obsidian/config => packages/obsidian}/plugins/outliner/default.nix (83%) rename {hosts/common/configs/user/gui/obsidian/config => packages/obsidian}/plugins/read-it-later/default.nix (81%) rename {hosts/common/configs/user/gui/obsidian/config => packages/obsidian}/plugins/style-settings/default.nix (50%) create mode 100644 packages/obsidian/plugins/style-settings/package-lock.patch rename {hosts/common/configs/user/gui/obsidian/config => packages/obsidian}/plugins/tasks/default.nix (85%) rename {hosts/common/configs/user/gui/obsidian/config => packages/obsidian}/plugins/url-into-selection/default.nix (58%) create mode 100644 packages/obsidian/plugins/url-into-selection/package-lock.patch rename {hosts/common/configs/user/gui/obsidian/config => packages/obsidian}/themes/minimal/default.nix (62%) create mode 100644 packages/sas/sage/default.nix rename hosts/elara/users/nikara/configs/console/viya-ark/package.nix => packages/sas/viya4-ark/default.nix (60%) rename {hosts/elara/users/nikara/configs/console/viya-ark => packages/sas/viya4-ark}/fix-setup.patch (100%) rename {hosts/elara/users/nikara/configs/console/viya-ark => packages/sas/viya4-ark}/remove-kubeconfig-check.patch (100%) rename {hosts/elara/users/nikara/configs/console/viya-orders-cli => packages/sas/viya4-orders-cli}/better-config.patch (100%) rename hosts/elara/users/nikara/configs/console/viya-orders-cli/package.nix => packages/sas/viya4-orders-cli/default.nix (62%) diff --git a/README.md b/README.md index caa1fc0..0b2833b 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,8 @@ NixOS dotfiles and configuration for various hosts and users. - [`gui/`](./hosts/common/configs/user/gui): GUI-related settings. - `/`: Individual host configurations. +- [`packages/`](./packages/): Custom packages. + - `secrets//`: Global secrets for individual namespaces that apply across all hosts. - [`lib/`](./lib): Nix library function definitions and utilities. diff --git a/flake.lock b/flake.lock index 6faf619..bfb495a 100644 --- a/flake.lock +++ b/flake.lock @@ -31,11 +31,11 @@ ] }, "locked": { - "lastModified": 1739969582, - "narHash": "sha256-ni6tM12mzArohqzvscZn/N52GHiXZsskN6yMYzo25XI=", + "lastModified": 1740081950, + "narHash": "sha256-h6RFLln99Br7o0TmtKE+vd6F2PQiGBIrRobf4Ld2wRA=", "owner": "aylur", "repo": "astal", - "rev": "a0de1526d2de8a02feec1cba4086f284ec9f6098", + "rev": "3620d51bc6c23ada1bd4b7c9cf1c458c138e68df", "type": "github" }, "original": { @@ -115,11 +115,11 @@ ] }, "locked": { - "lastModified": 1740068813, - "narHash": "sha256-8GRcU5uERvZDT/XNyI73ozHSBLrEmCdC0zgEY+Jff2s=", + "lastModified": 1740348184, + "narHash": "sha256-NnMzG2GYQJRrFTjvZBkaIE41EBekaMfIWiiEvxhvUTU=", "owner": "karaolidis", "repo": "home-manager", - "rev": "4d6357dad7350b01339955acb690c57026eacee2", + "rev": "6db31ab82b2b0d6bad4691a238073401120f673c", "type": "github" }, "original": { @@ -131,11 +131,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1740070152, - "narHash": "sha256-sTFYmNhrBogFEAQ0DnpDMR+aZ+7cjV2XamgPIaqO3kI=", + "lastModified": 1740344707, + "narHash": "sha256-6jzcaIMnVZjFIDB8jVCxeKehtgfhukmDAAAOyh/Qi6c=", "owner": "karaolidis", "repo": "nixpkgs", - "rev": "6abb8f6d73fe6b7e9870f0ccc11a96958590b645", + "rev": "d44556fd1331b9599764e86d618e2eb5b9362162", "type": "github" }, "original": { @@ -156,11 +156,11 @@ ] }, "locked": { - "lastModified": 1740062783, - "narHash": "sha256-t+SH36EoF9vj/bTiqp71upfy0vdQgSM6WhtThiLBCxs=", + "lastModified": 1740344228, + "narHash": "sha256-AHqpsqI3CMAnyksdCBicBKyN9cwbwA6utx1C6abYei4=", "owner": "nix-community", "repo": "NUR", - "rev": "86b71ef14fff48d7c19097bfee104ddc72a977a9", + "rev": "62e7b43cd95735a6e730f4b9eee09d100d08614a", "type": "github" }, "original": { @@ -238,11 +238,11 @@ ] }, "locked": { - "lastModified": 1739870849, - "narHash": "sha256-FonprUB9oHn4BPBWpLPU18yu0QH0tRaworCiB3T1qF4=", + "lastModified": 1740339146, + "narHash": "sha256-N9O5JH22rmuRchqNmg+Jeiv067++WU1kyJqtLgB+rKI=", "owner": "karaolidis", "repo": "spicetify-nix", - "rev": "984d59248f4100327953048ea2710633cd87332c", + "rev": "3af70e8bc9b010845918be273f20de2cd34af046", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 36f113f..5bef032 100644 --- a/flake.nix +++ b/flake.nix @@ -167,20 +167,10 @@ treefmt = inputs.treefmt-nix.lib.evalModule pkgs ./treefmt.nix; in { - devShells = { - bun = import ./hosts/common/shells/bun { inherit pkgs; }; - c = import ./hosts/common/shells/c { inherit pkgs; }; - go = import ./hosts/common/shells/go { inherit pkgs; }; - java = import ./hosts/common/shells/java { inherit pkgs; }; - nix = import ./hosts/common/shells/nix { inherit pkgs; }; - nodejs = import ./hosts/common/shells/nodejs { inherit pkgs; }; - python = import ./hosts/common/shells/python { inherit pkgs; }; - rust = import ./hosts/common/shells/rust { inherit pkgs; }; - }; - + devShells = import ./hosts/common/shells { inherit pkgs; }; + packages = import ./packages { inherit pkgs; }; formatter = treefmt.config.build.wrapper; checks.formatting = treefmt.config.build.check self; } ); - } diff --git a/hosts/common/configs/system/nix-update/default.nix b/hosts/common/configs/system/nix-update/default.nix new file mode 100644 index 0000000..4a919b0 --- /dev/null +++ b/hosts/common/configs/system/nix-update/default.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: +{ + nixpkgs.overlays = [ + (final: prev: { + nix-update = prev.nix-update.overrideAttrs (oldAttrs: { + patches = oldAttrs.patches or [ ] ++ [ ./source-attribute.patch ]; + }); + }) + ]; + + environment.systemPackages = with pkgs; [ nix-update ]; +} diff --git a/hosts/common/configs/system/nix-update/source-attribute.patch b/hosts/common/configs/system/nix-update/source-attribute.patch new file mode 100644 index 0000000..b6e2575 --- /dev/null +++ b/hosts/common/configs/system/nix-update/source-attribute.patch @@ -0,0 +1,127 @@ +diff --git a/nix_update/__init__.py b/nix_update/__init__.py +index 89bbe45..93f9322 100644 +--- a/nix_update/__init__.py ++++ b/nix_update/__init__.py +@@ -124,6 +124,12 @@ def parse_args(args: list[str]) -> Options: + default=[], + ) + ++ parser.add_argument( ++ "--src-attr", ++ help="Src attribute", ++ default="src", ++ ) ++ + a = parser.parse_args(args) + extra_flags = ["--extra-experimental-features", "flakes nix-command"] + if a.system: +@@ -146,6 +152,7 @@ def parse_args(args: list[str]) -> Options: + version=a.version, + version_preference=VersionPreference.from_str(a.version), + attribute=a.attribute, ++ source_attribute=a.src_attr, + test=a.test, + version_regex=a.version_regex, + review=a.review, +diff --git a/nix_update/eval.py b/nix_update/eval.py +index 1767056..f85ea69 100644 +--- a/nix_update/eval.py ++++ b/nix_update/eval.py +@@ -105,12 +105,19 @@ class Package: + def eval_expression( + escaped_import_path: str, + attr: str, ++ source_attr: str, + flake: bool, + system: str | None, + override_filename: str | None, + ) -> str: + system = f'"{system}"' if system else "builtins.currentSystem" + ++ source_attrs = source_attr.rpartition(".") ++ source_attr_last = source_attrs[-1] or source_attr ++ source_attr_all_but_last = ( ++ f".{source_attrs[0]}" if source_attr_last != source_attr else "" ++ ) ++ + if flake: + sanitize_position = ( + f""" +@@ -164,8 +171,8 @@ let + raw_version_position + else if pkg ? isPhpExtension then + raw_version_position +- else if (builtins.unsafeGetAttrPos "src" pkg) != null then +- sanitizePosition (builtins.unsafeGetAttrPos "src" pkg) ++ else if (builtins.unsafeGetAttrPos "{source_attr_last}" pkg) != null then ++ sanitizePosition (builtins.unsafeGetAttrPos "{source_attr_last}" pkg{source_attr_all_but_last}) + else + sanitizePosition (positionFromMeta pkg); + in {{ +@@ -174,11 +181,11 @@ in {{ + inherit raw_version_position; + filename = position.file; + line = position.line; +- urls = pkg.src.urls or null; +- url = pkg.src.url or null; +- rev = pkg.src.rev or null; +- tag = pkg.src.tag or null; +- hash = pkg.src.outputHash or null; ++ urls = pkg.{source_attr}.urls or null; ++ url = pkg.{source_attr}.url or null; ++ rev = pkg.{source_attr}.rev or null; ++ tag = pkg.{source_attr}.tag or null; ++ hash = pkg.{source_attr}.outputHash or null; + go_modules = pkg.goModules.outputHash or null; + go_modules_old = pkg.go-modules.outputHash or null; + cargo_deps = pkg.cargoDeps.outputHash or null; +@@ -205,7 +212,7 @@ in {{ + mix_deps = pkg.mixFodDeps.outputHash or null; + tests = builtins.attrNames (pkg.passthru.tests or {{}}); + has_update_script = {has_update_script}; +- src_homepage = pkg.src.meta.homepage or null; ++ src_homepage = pkg.{source_attr}.meta.homepage or null; + changelog = pkg.meta.changelog or null; + maintainers = pkg.meta.maintainers or null; + }}""" +@@ -215,6 +222,7 @@ def eval_attr(opts: Options) -> Package: + expr = eval_expression( + opts.escaped_import_path, + opts.escaped_attribute, ++ opts.source_attribute, + opts.flake, + opts.system, + opts.override_filename, +diff --git a/nix_update/options.py b/nix_update/options.py +index 2d07b77..ab5c305 100644 +--- a/nix_update/options.py ++++ b/nix_update/options.py +@@ -8,6 +8,7 @@ from .version.version import VersionPreference + @dataclass + class Options: + attribute: str ++ source_attribute: str = "src" + flake: bool = False + version: str = "stable" + version_preference: VersionPreference = VersionPreference.STABLE +@@ -33,4 +34,7 @@ class Options: + + def __post_init__(self) -> None: + self.escaped_attribute = ".".join(map(json.dumps, self.attribute.split("."))) ++ self.escaped_source_attribute = ".".join( ++ map(json.dumps, self.source_attribute.split(".")) ++ ) + self.escaped_import_path = json.dumps(self.import_path) +diff --git a/nix_update/update.py b/nix_update/update.py +index 82b7bc5..464bf3d 100644 +--- a/nix_update/update.py ++++ b/nix_update/update.py +@@ -155,7 +155,7 @@ def git_prefetch(x: tuple[str, tuple[str, str]]) -> tuple[str, str]: + + + def update_src_hash(opts: Options, filename: str, current_hash: str) -> None: +- target_hash = nix_prefetch(opts, "src") ++ target_hash = nix_prefetch(opts, opts.source_attribute) + replace_hash(filename, current_hash, target_hash) + + diff --git a/hosts/common/configs/system/nix/default.nix b/hosts/common/configs/system/nix/default.nix index 6ce8ba3..46cf447 100644 --- a/hosts/common/configs/system/nix/default.nix +++ b/hosts/common/configs/system/nix/default.nix @@ -14,10 +14,13 @@ ]; }; - registry.self.flake = inputs.self; + channel.enable = false; + gc.automatic = true; optimise.automatic = true; + registry.self.flake = inputs.self; + extraOptions = '' !include ${config.sops.secrets."nix/accessTokens/github".path} ''; diff --git a/hosts/common/configs/system/sops/default.nix b/hosts/common/configs/system/sops/default.nix index b2daef7..02d3232 100644 --- a/hosts/common/configs/system/sops/default.nix +++ b/hosts/common/configs/system/sops/default.nix @@ -9,7 +9,12 @@ environment = { persistence."/persist"."/etc/ssh/ssh_host_ed25519_key" = { }; - systemPackages = with pkgs; [ sops ]; + + systemPackages = with pkgs; [ + sops + age + ssh-to-age + ]; }; sops.age = { diff --git a/hosts/common/configs/user/gui/astal/default.nix b/hosts/common/configs/user/gui/astal/default.nix index 17e725f..fe7f493 100644 --- a/hosts/common/configs/user/gui/astal/default.nix +++ b/hosts/common/configs/user/gui/astal/default.nix @@ -7,8 +7,12 @@ lib, pkgs, inputs, + system, ... }: +let + hmConfig = config.home-manager.users.${user}; +in { home-manager.users.${user} = { imports = [ inputs.ags.homeManagerModules.default ]; @@ -19,12 +23,15 @@ systemd.enable = true; extraPackages = with pkgs; [ - inputs.ags.packages.${pkgs.system}.hyprland - inputs.ags.packages.${pkgs.system}.tray + inputs.ags.packages.${system}.hyprland + inputs.ags.packages.${system}.tray sassc hyprland nixos-icons - (pkgs.callPackage ../cliphist/rofi.nix { }) + (import ../cliphist/rofi.nix { + rofi = hmConfig.programs.rofi.finalPackage; + inherit lib pkgs; + }) ]; }; diff --git a/hosts/common/configs/user/gui/clipbook/options.nix b/hosts/common/configs/user/gui/clipbook/options.nix index 6f68bca..f33805c 100644 --- a/hosts/common/configs/user/gui/clipbook/options.nix +++ b/hosts/common/configs/user/gui/clipbook/options.nix @@ -43,12 +43,13 @@ in finalPackage = mkOption { type = package; description = "The clipbook rofi package."; - default = pkgs.callPackage ./rofi.nix { + default = import ./rofi.nix { rofi = config.programs.rofi.finalPackage; bookmarks = builtins.mapAttrs (_: bookmark: { type = if bookmark.source != null then "file" else "text"; content = if bookmark.source != null then bookmark.source else bookmark.text; }) cfg.bookmarks; + inherit lib pkgs; }; readOnly = true; }; diff --git a/hosts/common/configs/user/gui/cliphist/default.nix b/hosts/common/configs/user/gui/cliphist/default.nix index f09c871..7a7d54f 100644 --- a/hosts/common/configs/user/gui/cliphist/default.nix +++ b/hosts/common/configs/user/gui/cliphist/default.nix @@ -70,7 +70,10 @@ in wayland.windowManager.hyprland.settings.bind = let cliphist-rofi = lib.meta.getExe ( - pkgs.callPackage ./rofi.nix { rofi = hmConfig.programs.rofi.finalPackage; } + import ./rofi.nix { + rofi = hmConfig.programs.rofi.finalPackage; + inherit pkgs lib; + } ); cliphist = lib.meta.getExe pkgs.cliphist; in diff --git a/hosts/common/configs/user/gui/darktable/default.nix b/hosts/common/configs/user/gui/darktable/default.nix index 710d49a..75b42c8 100644 --- a/hosts/common/configs/user/gui/darktable/default.nix +++ b/hosts/common/configs/user/gui/darktable/default.nix @@ -2,8 +2,15 @@ user ? throw "user argument is required", home ? throw "home argument is required", }: -{ config, pkgs, ... }: +{ + config, + inputs, + pkgs, + system, + ... +}: let + selfPkgs = inputs.self.packages.${system}; hmConfig = config.home-manager.users.${user}; in { @@ -23,71 +30,60 @@ in "/cache"."${home}/.cache/darktable" = { }; }; - home-manager.users.${user} = - let - lua-scripts = pkgs.fetchFromGitHub { - owner = "darktable-org"; - repo = "lua-scripts"; - rev = "daa0877b4c25b91e4b71afc1ef8ffcba6018f7b2"; - hash = "sha256-NNGAq1zgKqWLhKBPgm7kFZq4xwvescxnCAwovSF9r4k="; - }; - - hald-clut = pkgs.fetchFromGitHub { - owner = "cedeber"; - repo = "hald-clut"; - rev = "3b3180f82d4dcea1e6e8c5648473539a910d7f49"; - hash = "sha256-R8vyYmcsfk49QsSV3v0QblXcO6U0oIfDyxbHPLwSMdo="; - }; - in - { - home = { - packages = with pkgs; [ + home-manager.users.${user} = { + home = { + packages = + with pkgs; + with selfPkgs; + [ darktable exiftool - (pkgs.callPackage ./publish { }) + darktable-ghost-cms-publish ]; - sessionVariables = { - GHOST_URL = "https://photos.karaolidis.com"; - GHOST_ADMIN_API_KEY_PATH = hmConfig.sops.secrets."jupiter/photos.karaolidis.com/admin".path; - }; + sessionVariables = { + GHOST_URL = "https://photos.karaolidis.com"; + GHOST_ADMIN_API_KEY_PATH = hmConfig.sops.secrets."jupiter/photos.karaolidis.com/admin".path; }; - - xdg.configFile = { - "darktable/darktablerc".source = (pkgs.formats.keyValue { }).generate "darktablerc" { - "compress_xmp_tags" = "never"; - "database/create_snapshot" = "once a day"; - "rating_one_double_tap" = true; - "run_crawler_on_start" = true; - "ui_last/theme" = "darktable-elegant-darker"; - "ui_last/grouping" = true; - "plugins/darkroom/lut3d/def_path" = "${home}/.config/darktable/luts"; - "opencl" = false; - "plugins/lighttable/overlays/1/0" = 0; - "plugins/lighttable/overlays/1/1" = 3; - "plugins/lighttable/overlays/1/2" = 3; - "plugins/darkroom/modulegroups/last_preset" = "modules: all"; - "session/base_directory_pattern" = "${home}/Pictures/Darktable"; - "session/filename_pattern" = - "$(EXIF.YEAR)-$(EXIF.MONTH)-$(EXIF.DAY)_$(EXIF.HOUR)-$(EXIF.MINUTE)-$(EXIF.SECOND)_$(CONFLICT_PADDING).$(FILE_EXTENSION)"; - "session/sub_directory_pattern" = ""; - "setup_import_directory" = true; - "lua/script_manager/check_update" = false; - }; - - "darktable/luarc".text = '' - require "tools/script_manager" - require "tools/publish" - ''; - - "darktable/lua/lib".source = "${lua-scripts}/lib"; - "darktable/lua/tools/script_manager.lua".source = "${lua-scripts}/tools/script_manager.lua"; - "darktable/lua/tools/publish.lua".source = ./publish/publish.lua; - - "darktable/luts".source = "${hald-clut}/HaldCLUT"; - }; - - sops.secrets."jupiter/photos.karaolidis.com/admin".sopsFile = - ../../../../../../secrets/personal/secrets.yaml; }; + + xdg.configFile = { + "darktable/darktablerc".source = (pkgs.formats.keyValue { }).generate "darktablerc" { + "compress_xmp_tags" = "never"; + "database/create_snapshot" = "once a day"; + "rating_one_double_tap" = true; + "run_crawler_on_start" = true; + "ui_last/theme" = "darktable-elegant-darker"; + "ui_last/grouping" = true; + "plugins/darkroom/lut3d/def_path" = "${home}/.config/darktable/luts"; + "opencl" = false; + "plugins/lighttable/overlays/1/0" = 0; + "plugins/lighttable/overlays/1/1" = 3; + "plugins/lighttable/overlays/1/2" = 3; + "plugins/darkroom/modulegroups/last_preset" = "modules: all"; + "session/base_directory_pattern" = "${home}/Pictures/Darktable"; + "session/filename_pattern" = + "$(EXIF.YEAR)-$(EXIF.MONTH)-$(EXIF.DAY)_$(EXIF.HOUR)-$(EXIF.MINUTE)-$(EXIF.SECOND)_$(CONFLICT_PADDING).$(FILE_EXTENSION)"; + "session/sub_directory_pattern" = ""; + "setup_import_directory" = true; + "lua/script_manager/check_update" = false; + }; + + "darktable/luarc".text = '' + require "tools/script_manager" + require "tools/publish" + ''; + + "darktable/lua/lib".source = "${selfPkgs.darktable-lua-scripts}/lib"; + "darktable/lua/tools/script_manager.lua".source = + "${selfPkgs.darktable-lua-scripts}/tools/script_manager.lua"; + "darktable/lua/tools/publish.lua".source = + "${selfPkgs.darktable-ghost-cms-publish}/lib/darktable-ghost-cms-publish/publish.lua"; + + "darktable/luts".source = selfPkgs.darktable-hald-clut; + }; + + sops.secrets."jupiter/photos.karaolidis.com/admin".sopsFile = + ../../../../../../secrets/personal/secrets.yaml; + }; } diff --git a/hosts/common/configs/user/gui/darktable/publish/.gitignore b/hosts/common/configs/user/gui/darktable/publish/.gitignore deleted file mode 100644 index b38db2f..0000000 --- a/hosts/common/configs/user/gui/darktable/publish/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules/ -build/ diff --git a/hosts/common/configs/user/gui/darktable/publish/bun.lockb b/hosts/common/configs/user/gui/darktable/publish/bun.lockb deleted file mode 100755 index 1df5534e36f8d17473aa96e1162eaa03ccb03fd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58824 zcmY#Z)GsYA(of3F(@)JSQ%EY!<4P*c)6L0G&Q8nBN!3luFUn0U(JeFJVq#!m*eLeM zy>iC1)y^kxIGuPo>DYlj`}*#A-uKdGzMCL;U9i*QDFYbH0+S339B6a{l)q^Pl)+F? znv|1SoWan+z`(%6z|f$>$iN`Nz|bJW$iN`Lz|g=0rT;Q8Fz_=lG`xe-_o4I^1_lOh z28M>>)ZDVvA_j)6@?x;j^O+&yS>=gfz5xpZgD?X_gBS|~gA@ZpLoP%aLpcKjgCGM# z!x~nIz0+A47(^Ku8gfc2^79xN7&219+8Mf785npO7#iwWA?{3NWnhqGU}ylT;bdTF zh=rO1Qq9G{(2!c3lbKh-z%Yl4fdRz-&js;MPHGuQ3&U5a_#-I&hKqp#WKK$IYJqNM zF+(pG#J??2@%KCselRb@JXc-@20jLch6*l-dxE(b7*rV;8ZwJ@({u8Z7>@Em)Om10 z!XYy~FTW_2fx#BaPs_|p(Jd`t_`?s8{|KcEKvADql3JjflbM@Y!thZ5BCiW|f0H1@ z+_ap;l9JREhV0bJGLWD3gdpnVpzcmBE-lH-DP~A5E-Xzgs$|dC#GGsf28L8|NO)x=7VDRR!K-Y`6vOgzqBY*H>;R|p`bLcGC4mb^&BSygAfBl!$D4n{7#JiN7#h43A@-uD!!=3}`!iJ_{#dU9;U^U(CZ`rNFsP|Q#B)?3;l585 zBA=UDl%8sYNQaRs5dUvdgZSSQ%I8vt*gI7n63=Og#U+Id3=Bo7rNxq68gL+O^HLt@LH<-FvutxcbF z^2w$J7k3q04pm=IpXe@&X}VJs4-1{#e6oI$ zQ~Da!1ANa{x^GVTcvJbTYKzAk2T_5IyQ}*1X2>%=iVJ-At{`&%JJvb(-fEoet>F`A zx>^w)c*QsN)5(WNc}vEd$>F-@U&l|z?S3Jm2KEtE8E+? z#s>8KEk32CzufM?v(}_qqnyp3Po2+5Kdu?yQ2sED|KfuCSJrKlU-j>W(wFZgqBCxR`8S`Vaa4jjq5X8iR9?`DnEY}+Xvg_rLfUncIFCAO!-==r+J ziQ$h5zt5QBaOBF42#K5D`%`u;c=B=fOqG4Ulb3%iuW=B)Kf`K2M=jUOa9R5WJ-;p$@Beo-$cFPwZr}IC{-4}d=!D-2 z7J7C4{NqLgAF-Glu7{J8&#HeentUf?7jMMvQ-1n~7D=8uERs~HV(Y-oZ*ehV)dkNl z^Phh8pTg&G$IG$B{))8Mg%j>KJJkN!MR#zj^EMod(e7%~v`gwV=VOgM@zP{X>4tl6 z?BbaATzSuN|I009(S<7?+gllWhe$QvUlY}?SY^5O+tEwh&yuPq>mG#37yD#~CO9{> zim^t@`pGt*Os#uaUKIIox&PXWkOl4J{4k=7`ia!*lGh|89b$@@;D zvMu{h&xakiOE&tQ;wat|x_TWG|3_H3pEz^wl~h2SUfNCjO`*CLPgly`J#lrD>o=x5 zZ8bAGjq@hn_GH|2F`@mOsE6Z{FIg|p)1jgL64jb!L8;fdM`lMn4?G>3@aF%o35nkh zh}>Y?b@;iw?dJmCE&yQ%4PhXY^&0(69HUX9n_v_5QWgRNv zb(Y8XO4Qc(n%yZ=HtxA~@_swJ<~-lUo0eP4d&E^u^71ZwU&K+BasH*xq7zs--$B_+N8a+7ZyH$f((8%3a0kA zh2(YW*8REWHvjIbMdG`E80Mt~BsD~AF1ddG^XlBEuas zk9Dh7SF29ckLp$1YHP`vZ*%Nb;H=%J*fjTg8#I2Yev^K-L+G{A;?pxK=Vx8YWCT_2 z6kt%R5u|+z0|SEt149ERh{M3Z027CDaZ)gK4vY*80SpWcEKrqfP?``0(?5Zcfx!bw zKg=9r_1}Q%XNGEk(NHc<3TD3o69a=AlKsSnD@=bHR6opK7>(0ns02*^8mNAdzlqfg zG6JUm6B7f29n}3Gw}UW9o)CuVw`FEvFkxV5U}s=p0L2}#Zh+}8WM*K{V_;|i=>v&@ zFd@4^@-TI)m?7?Gg{D1H-Twk=KS&=a3_&!=d_ovzzcUL1gFgd9156(`A&pRZnEpvD z3=AB}q#neTVr5|PW?*QL1#w8gF#QKu z85jZ?7#et?dO>c0GVxL{{eo-^48chH@oGYngy~OVV_-0XrXNrmKvII23DZA~4HAAJ zcf-W+YJ^I{)E;7EU~s0u{jBT^43<#$gVG<&T&OiTDVRDtc1ZjYo9VpMgAD^i11Ro5We7~1So^PVFff=x>mNZv znvmpS_AKLq*bkBd)nTAG0I>;Sn0|h4Nc{ujgUUccdO`9q_2JwM3%;sONw5QKA8TkJP`MT%1w|NFmaF?d>E$g9}feAJJkOm{lw-&nEqH^MErs5 z1DOG$31OK2nY;`PE>QbHdSK!pHa-kfcb6B^eglO&DDA?;@#zK0!PLp}F)$P%*-xtb z`}rX853(O*E+`&AG$9PL|2!Wg{6Kt=-5^XzFGwDw9z=8VL)s4@Hb^hb9UwkF4Abw) z4{85^(mlxSFmZf(L2@v4wNU#(VUH{hV&lUw{k!=g;RmuGpL%pTn0|Hvi2sT8H_RNE zepje|nEPS!glL%lW&s8U3uyUINDs0+O#f~Hi2p%h4~jozHTc*t{ePhD2dO1Tzm*`Q z{0G&4ATx-?F#CH1A?X(u{=~WgrvHQ>!vCN!fQb`w2Ta{RK}h`rvLBR&Kr|t}AbFU6 zOCd=50oe@_C)NGsLXh$sq#vXgM1#yBgkkpY6@vI5#wS((XQ+OV-K3;pn0>~=koW_I z9kF(U{07sXFAQnFfX0o<(Z5!hfx!>je}kC`GM^BJsr@YsssCW^hlvxbKSG3o!I*)e z0hIpv2x&r+huPCD0;zvM`e9;7%5XAaYOjbu+z(2(DLg4*bj<3klSJ6gv@}c zD;9^ezd-Q^6C}{Fy#i#UpQ%Xtg~=GdI4_Ox zKRNLyAOk5sK<)>HDJTp35NZwBJDfCRQ)9{wi5S{sD;-YX;2zO|l68gZuz8gBT3c&n*Yh z4{|>-`e15c`n}~KAzw7#PB!?Qe3%Ur#9_`mf~Z_fukEh@-&% ztx60GAr$E6REE@lp#B3n?)O)QjAO8cOAAvOJ-gt{LVpCEUD%prtf z>iJb5_Jh(52*bpQ)nBXvX}^K|4$=b(M-WX2!|d4swI9R>*-xtbKdC_4PawS@J7F}4 zjSqwD1IZhxLfj8(|A6cUVURc>4AWnw3aNi#@kXltoX({HKJa-u zc7xmo@&||}gkkDK)e-p@CPqjvNFJtki8`eGfQ22Y>F<>~Wc&l9AJqN=(IE2)VVM20 z8j$u6Odlu>5Yh{hhv^U2psf5~sR8N#fa0B;^7E$#B>c$LZ?6f-KOp}T>vv@TcWOe~ zAE0;x>4$|2NDV#=Q+E)mAJlImr40nr|5FoEe}U31NDSl;eD=cRKx#qkLM=%AgV>-t z1SSsRbs65R699>BL1xkA$x5L(f zK$YR8Kx#o4H1;hHRY?gAa+4&~91smkPcqOxJ#2joG7XAr6{vbjXpp}(q2_>SWd;TY zALv*_5L6sQgWMMabx$Z%93Ksek1*)ErUI1E<21$Wvka#kP!@$6RjRwi5K;=O+C_X@I{Xs$?8YB-|(+}c< zXi)fMLG1^v?FWg2Xpp)b1_lO@{(Pu>0Z5X8fdQEYsROMg2T6fwka?i(ARzG)kRSsC z1BeFkOQGgKb_FmnfM`(tQ3X|pOoP-{L&b@qLH5={)g#j&bLybtAR1KWv_ttI8YB4Q2HQL z9f$_WAA<5hG>Cr~$_LRP{~U$puhUTaB2*q54I0zD4z=edR2?!6GXEA-97Kcox1sL8 z1Eudmiz4}!1ddj2~FB4YkEABG+ z8Qj3vaQxwVHjW(~@tUiIIHxPE+u7jB^@p?WP7wb@BaON?p6BbVYQObQdo;;g7Rg*t z-2ihe%R<%9nK>&t4nDEbJ-bIx%BK8_)&a{|pI=-25QwmrZa(>Y(YCVh&L(UL`}WycI?8f|~KMwk_Aejqld%(@*kB%mXn<09xJ_Cv4nm3)-1U; z??TD@asR|l#I3Kn{5L=i$y`vI6lOHbWv0Sb&yTX|J0H<-AA@u zdd(8P`s+5UJzJhip65HfRN-1^#dW^zyDIM%{F`3!eRA`XvIx(cf_}%gfc9E5GC=Yh z^14)(b#pH*_B&O0bD8GG^^J=Q9hI`*Zk*~FY3Y4Y>q`8}rCT!I`_HIc@NqJqbNOL^ z^M}nZcRWwZox0<9Q(RVF($A(?B=>^al5qE~Qo8pjKrrMDq8PX?;R!5I_u8s^7Wv-K#WlLg4$7V zbLXy5y(^}jbNkmsPC1pX+!vQ3PoFN(k^i>u&aV^qBOiV7lDTK^ILSkB*NPUVOU+Dk z=XvWTS6VV&&wLhPvoT7v5XrsB{bQE1QXw5Svi~Km7_9mYSdM-AZX5FJNs-^>%bPon zd#Lv%In1fN99kS8U44IVa$e^ol|%2n)+~3prsP$3{BpRUl?jr$pz$NPdtXEr@7!`a zCHLgb^=CsAR4Y7^&#lWi#`q~i)%IlT`-0v23&Yyg*1vf!dgArh>-MXQ-^v#)n*#DM;pm=CtAFvgWp~-=&i9H`jbqhoYd-C+3Y`GZdEmmexFb(1&G5$qu1i z^Gfv01Ge39{pQnb|8{rknx#|L&%Lz$Ou`4HBOh{|q2|^xg7?P5jAdZ?Arg4bT5j6Z zbtOwmrd<$ws;c|d-i-f+vBQ1lk|!cfB~v4_suygS=aUe)?AnF%@62Cxr2k9)JgfiX z+`lsWzZhJBnhRRQ4jMy*8O-w7fM-YGf}=C}7OQZaoy@*J@aaCDPVE8}vlR!L@)6JBCd`cGU%t0q zx_;S#KHcArNaljZZQ$mL|8<`0*uQA<#57&??g#7FXs|m^ED~V6sH>p4v$bc|wo8Ya z%Z%!OPky-c{t3>xa-U9^rMyhKen@ded5~Ykg;UZ<=8D1$1(oYU+oxTO*yGQo-`dK~ zT6&Rrc5d5Kvr~m@QX-=lD|5;yOo?sV#$;hI$M;>1aOdV6PuGy3`TPMD++S#~&KKJsnU19}D=EBBZK*qB;9IgC&b#3xz*^sX{H-BVUw&qh? zRrBgdxdgA3-cKLjdNKFpstq@8+SjJ*Y&Or{(fYV-RcTmj@3|A&*2}KQ`lg8^nJWP@ z5QUXN?DbMETlDa3aYI93g|1yzD#+ZMS)s_!aD#@o&!; z+q7xv*EU6^&HaXCE^M3(WHt+r>bn>14_BVld28mCT=;Q$&8}55BAzNm&f40;w`q=` zNMCGy3tzwMjkVVFPq#AdUa1J^-r942;rgErf{pD0 zkB*1?Y|j+XL^4+%WFQo?#Dz~;cs}ny>Z{%y@l2PSOgU!?!YV({7hukQe>_zCxsXh^ z=n4Dx+;ajRxXlc?@4e>L^;KojDx$ylWxnHje|beUlDP^{GeH!~K6hrjEs={uBz1TG zblKRyjQ`q<7OQ8g#G=I6H2>dz`YLsj+v<4Fz2{G5a;~nJ6}&3w=*knfXEeOM>aKM| zR_FRNBy$x(20}3l%iV44(`OkRvJE($ye7S}d3saAFDDyQqYFXdx!qF!b8Z|n^eb}N zc~^y5xGHR7l-QEetN8`li3fQf+DJX0P>Gz6m7r#VD3%4ypC_H1+}wX=oyM$$EY>a*#)z*Pzt{TXpP|WgI>;1#q1}B*v>pI+)+h@FN`z~#JX|2O6mbz@e z7jEv`7H$i>p;cOVIPH+gk<{J=)`Eq%V&@xdD9l^K!Su6eC_9;Hi7jaH`<$hu5-XH4IA8v8TtYw%lU9w%aXWf*{Xcj4Z zCRIg6&em2-dn9u;Kn6lF%Y{|RD@#K6Z8PFJ`gJo)eXP-zz3Zkrx$wL=obl$@wD%i| zdN?u|1#AR=oxgI=PAh2f$CfRr4r^WQZv?$4O0Zt6h-5BkoEvH^0}Jc57pGrVZ{a;B znb+E{=pN<#Q}01hf5?;jMUPLdl{&6-ck=!Jsv6sNm!H4NvaCF)_t3hj7R%VCaPN7e zu_jFG7qWY`V1|Oq$)hiWvK5ctUzQ-eEvzkK_tM-SE!WOYKfHMVq^YxeH* zG=K8#o79HQb~8)+(gaf)r+;kOvV1*D_QRJ!UP$iMMmE=T(`<&Dysv$)c6S^}`)8~B z)YGWWNSa&v>>Q0XUPeONYd73|uG$`LUAMVTu=6D&^O9#CVh(TTt@Cu3TtB_y%|aw| zb&$>YS^w?rOZ%hqF^P}Y{i-}xcV&l<$GiWr+1r~s zZH*Ojf3AOkWUfB4x$n=PkF_nBvgvT6&Ed_vl~>;=KJR^<|IPE?dyJO2@2D*?bC)to{4W$fXN^E+|~Zb1I~N z@{@fj#g12P?&ciwnXfnZRF#9&z3cyO);o4>_i1l=RpY*F+KU?-H_h6(6FFZPBb)2n zJZsL`57NwT8z+|)hTO2>`tW$3;oOR!t5RF9Zq#5rXIJR|V*19Z?Ym^Fe!RRA>|XZp z&YfjG1>t!|{lbe^ce*0E*96(zwUIjePM+nwRKG}Y&T9$&!^$;P;!Vd+bQ_=CxWoVL zzvQVarf;x&ymgk+OP>-YH&8^=qBl2mxXQBIY*~);%O)m3~sl!=`dxqTuqZg}awE-F)zSvHOl! zO?UXtbPLAuEy>h{uIZd4IY!|Fuq>{cBUDdeqIk>CVKS;A~{r?^7Cu@c= z?60d$={r+B%Vb^8s*dGI=2{|~`*3R|>zA@w%P;uM+!sFE-}d^ywAl+gx-aiwsBAtd zv$lBVQj`DAJff}%MF(p$&h1+&^!RR0O+m)Yv@dzfl(XeMk<7J1Hn+ZN!nYQqZ?+9B z;``;VI(?7fp0U7*)Bgd_%Tp$7Y|o?(tT%XT+1kpUb5FSQw;;*xw`3-dk^=9FwP9z? z8BJ;)BAIKAZ0^KpnU$3m7Ftyw)k?}dSTrMc{XenzzAqPR%E{HW{eQ2?MVf5T?hQL> z6E)>-oLhor`c;uXTmSNJ4D(8@^&HX)g7i)^mJ zaR;}jF3uLczK@(gSn#aMC~%K;bmhOp@_(h?HCa!~`*#lUef${L(d?32`z!TwYOVio z=Ih@ZeJsAnzHmDI0eKwJ4%ys`Y)l{b?vPEhIcJj2YxK)a@jmYcvH5FX7#cvaKOt*ZCVpHi9Y&xG7RwnsKMSn0Xv3*YT)Tg5~+ z^v-mj`ATJ}(9Un$jc?!hCmw%`kL^jW$dmU>GGA-%E?mtMxW!k)*kmPl{SToEwq33j z3~{rO!odOA+;!`7eoRiRcVcR@c8-@!Ro`K8tu5uLX85+b-10mPPmeD?RQFyhY2~BI zue+DARQ&#C>$h_Qw_M}aw@RANcml3BBAM%mY;IB9u5SgMz7ulv@0}Cx6miN+cqXuI zmqyBkI}vvic^Pzt6EAUxIT*=nHq5(WDCJqL{ko*ENLzlk(&;HX;v9>R+rLi8=Gs(- z1%BK$?em@c+UK9}@tZ4nU(J`FU@B9TWOik$-v5VPDN^iz^YUK3W-%?*jtI#))w+{G zRaqp1L6obq(KGrFl6#$z&DBajrC;_-`bqen|Gd|JefL|NqW_CYjPsjm>yd4X|NPne zQgc-ZbK{B*b!MA#sr5RM zGAA>`7Q3C*3l}g;;FQgecy_as|9s=FDppoz1@rl{-wL$F)%>)KTqhE{X`T1u#`b8ciPUKD*ZwXNghw4M7N zui5pXz^ZMpa51CKrXJr8LlISu`?m8hCLp=j4cXkCu@fwlzs=2gb2_bO`LT(eJCeTM zEEb>mpnXbvhP+>=Vao}VM=EnRUV5|hD(l^oX>S>d^Rin{o^_g&UA$S-y?hUnxuA30 zU`De{sL8%*KC9R9-%8iYrbr+7_={6hJ8(y3<@&fYY6ZTDz6oK8K2O&! zGr0a|=JI8FynVluZr?U{PXnDT2@3}gn4zHh`2G92V$w0kYk%H*5ViWiVfW^|BjRh> z4R)t8FPv$@F{e=W<(Ad4H(E{`te5t?`M6c0WXr-xpXu8t+nf_WK@tGrAOa+#cXl!IihH?p}dH9mUtQ|Bx^ zCM)^iD`TRIvUCEw=(4)Kn^M|}*51FrCb=;*%unLSsztYbc4ocRR{kJAUy;{kha#JD zrq^Z_Ib|esLF-&#MzbtfdAlWMqGDCZ&NqKLgw;;C?U=jchr$!1UE=nK^;44fUkmwe zpzuDFdEFkn_kt7N{kxF&%VUdQwT>;<6qDBxJ7yr6>kBg!6mP30H0+hE-E_N8?t9m! zy5n;X1@8M-a&3`R!I}$G-v86*iTVCk>o(J;{SEi`-8cDT{QTCeKDI-#d|C=IDYZXd ze{e@K*ALlTVNFi|FQ!^1*NSdsHZ&;IDsS1cG%wZTVZ*7f@4P1ON>+Wr{{D`W(A1~a zE2kPSEI8`Jc$r6!*Q#-Ux~RF(Paj((bN!LcJ-eZHjgo_Z)a^c1=lqN;jli=BdlI(! z^9IU9-f1h~FRU`V6CFE+XhCEqH#6`@uxM>8Jks z)ja&HaQ~P)=R#HF@sdDfb4%XryTd*0?%EBe+uW5NOD;86=*jL5{@tkmdv@W(TFbJ- zi;v%b@ZKnFo@2fHeDBjO3%e{=Hx|CVW^2X57RR82JZ=wK=L9pFrN8{D9{1(Nb9ZOe z%s4T*&9^C9`t|dM~DW=R2-DHv3<)k}P-9cV_4nsQqAyK~H(@23K;7^vyp5x?&5`qoH3Ds*e&Et{y=r0$S;a_aNi9go+1 z@4oq2Tzk!z&By0xosVCm-L3ZXE*p}$p!E|lqgnQLR|nXJe9f@BUa!-#+uQ29!|wOY z8}uJdiFOGoXaCJJw@}MhIG3STdG5}CJrf0^TK2gnZ~eN^@404}>(*a;#E{GlhZzcT z@AK#9Km6wrxv-B}&52*?;H{aGA|E%eWSw$u%Di1qz4zsd8lKWNZClT_inUm1PcF|7 zr(@3_wXz7l+;PC@ez7(iaz7TfUJYbC3uEW)Yb8d>{khdo0~sUK&VE0P7EWa3E&iOOFr*va6l6zt6+rZ`)@9-6h zbe#I~s82!4>2+ys>&5sprOmHcHTg>W`Kx+J-+4Yyd1=WKPurx5-*cDU`^Wr2VBf5pe0ZzQpDgkIeqQP6s@mDto}X}3j{LbZ${}s*_tP~F{uUhku=DoIR5>TxH(N=xY^c;7hN_@;8+O0l2E ztRrU>vT3MwKCX1Cu}$k1G7Z?P$+Ri|;gpP=F64P>(0V|)xhgU#f-(!{Z^-|XcJ`_C zpP;zzFwaZBCuF{qVCMe3r@Vp>q7R;oV#8(*YfU{jn&vP z=TK(mDWCesMyEJkul>BaNXn&o&XjFP;Q(5v2shVT+@fu{&NY{Jmz0?Axl8iqo|IcV z>;1-aU;Z=MFJoc;m?>ZM^rP#MTl@dKl=+)5>D0`(f4y&CdGfTkM{oLcht>Cy%muA` zgqz#6d2z_)8vBZ5wfcJsE=RBP$X-vlJD<^cvASHqq#KDhHS@W)&)Ko>;jh&`%)Q6A z9%k6JR6lpi0sV`z3i}<6?2+fCA*WYEOlEoc`OZ%{rFO3V7x!-|{hfb}nf+7n)U7G( zix%uSv2KNjY3Rb!%b1QIT4gCdZ^aBF$)1Dy&jgBIz71bE?e44TD_y#f+zVQl2{Dy{ zf#uMg$jz5Cj!x?oRB}_C@`=Z7#OWsU9H`7Vf7R`8N7#4|?|XIXE|R&Rb)g_LL6~Ll zGl^EVef%Me+LrHI9Y5wDzjZ9?Lr_glg@H8FJj*w}20AxZ+}u1#tKtTqu=3B2hSh5e z*Bo5v+{~_-?4aO!M@e~swZ#06*EGvhtfa>LNSXZZ%d?9 zK=}C=KX`1CR>!AKzHcfzGs*2yiGRwoU8(;Bw(q-mob}_f8|{x?EuH%F6tk4q70n5T z!bLB(&y?9HnTR|t2U-scHI{+J{y;L*(f6tPQx!}(u1C0YGU~r?6Mnr-qL=Rv7_vVI zUgp~&ad6Xytw`aU2{RN_Ur0TbUFEasER&_nA+ZS+`MybqPV6%6xwL)1rO?TRhVnDn zZ4B@1*gMr~;^P^|>`vGBa<9)~Sn`5xWvq{cM8%fXUy;lOt^b7?%~IFbvn?+zT4^!! zhlQsDB7ATDoRO5lbK}q(y&b!Fw=h@>@?;(OJnihgN81e-&90Ob-1UfsQO@^%QTDZI z&mPCt+aQ?>T1N~wcd^^UV?}?y$vI}e3%(z(F4kBqtv^F}#{Py(4I2)XnWnKWOCIg7 zs!=IlZ>N0Am`ioR@*`bp?Niqi`UlWDKDfCYYEC?}=kAdA3vx_JPEuGl zInqdXDJuu_tu-Iw9F?-;<}|)t*=1&*S+VzplFzCKXXaO)EDOGRh0klvMDc^4&Yneb zZ!XMGQ21^x-hOal$eN=y_Fr#_|DWkMH~ecsWOUdL_Io$ynXukiCYBNKjrq_f5ozs> zUlt2xJijYAjiGz}wDNUnxrYMQK1MEoL1(eUjAl7B-A=cB(J75JM}E3Y^ttlt^e6A| z*9vdXG)sJ~y|ddcU!vJUFI%?vPS}3_Zwszw&9<6#SNZjf*UTc*&)>R{zbFgIz4)l*7KHij$y_`tq!q#_#jAvORc{!qBZf>*LG`WZUs;`dueL3_?{odTx zlPe#kJ>T@y>W+j|d}~yRweYN0JlS9QBU&eVo&0uWzPQ=LnOAeSs&F8g3tArzG82SZ z&L1_qnq;|M=IPBczUUo$TV@n4Skx;WDHGgMeB$=0wbz_y?szg|L&nD)avhJ-nEjS? z8=ZK+{t$-%gH*^NVp+qq0N;&RU8dcSYJJ6#SwkS^?K?f4~R5c_2L)5KOJb3yCap~f<>ynDqE zbYSu8RdY?5GvyQa7^@te#=d%2zFzL%t(!|O8J9lOtnQfq@SB(V!#^(D=6vq&Y?-K< zpmOoUlV}Hi)^yE!By&q(hJxa)ySztw-xZ$&Us`7*xaw8in*Halz^+{`4cv)6rs;NH zZ_I1|znJG--qXf?CZ)eZE?kslXFrrJEPLAj%Z_O7(v9Ir=7QGO!;EH;Uh*Zi&gK}G z@$r2%@4V#Vuj$;lX7nO+{r}H@z8%!9zFK=oNNUMp*GKAJ$4a+3U6`Y%a&7AV4>fAD znJ%zKNjNS>G8eQ?A8u}30moi`Ipdd1FPCy3U!&)wBf6>PP51TkXql^bqQZOtv2n^9->&FovGAIfV1|Oi*S1EUO-%2SfRjBx^L$6U2s7!o%fFW@U5!|=T_*d_gLc=4HmwVEjW!F$ zUdS>$yz|ojmjCvKoX*k`8$4P$R+%A>BUU1ttLpo$zt(f;ESDV^~(m z&ieS9V?W!ZEfo$C6XinhW?W_Xb3xVW=X96YlI~n>J$>nA z8{VJuoa%g|TS+hK#qW*xU-H%n%sS=aExX{%sfth2i|#(yW3QomctT0fv0bx%irKgD zzE`mRSy&uUTyv@rd3*=9ZvtdIOVYuW)urt^>m`%)bR#Ux)OGLW%6wZ}Wxy}_w7l(! zgRDv6`LF5x4p9YLy6?Q@nX$I(cfj67wwjARX>GS_5#55E-)cYxLNUwh$-lepraxEI zzIsNc>5F0RCWE)0<_&LlmbB-lcOBmQ=vCWxPy0uY{?t@$SK4CY_U}f*rnwJ#)D%~( zVL0S*(`F-5IKcL8fQ)8&9I&X)!>anor>R=8Tdm@BgSGZ5xP+U$-BNwT#qP)TSLx{o zc=!97JUHV0xP;5b((CKN^=9*WQ`17&!j8rE6e7=Of%biX%miVUPwTD^*Y)oeX} z)m~rW^5qz3w%B||msR5XBWG$TTRi_?a*UtbkFz^mTEN`;wEwy3#vBR{_CNk+KWEFu zNq)%dg6csALNN=&BLz=}dCQa{4*WgfR=Dx^)O5eM?X2y^ImthsKKgL&*Y`8B?^CvK zs=S-SeIq^h@SN{oRvRl@x_r@|knxl(IGk>Ifx-|Lg=V|w(_)bsLs5e!-6rOrub7cCtDjDSY z*hZM4pnS1!?GCoJpJq=y;*{H~q4oV_!H3>+@BI!6w+cL;G`Cs%R_U%q7k?POTbF;< z(#k|5?|4F~b=54dG}|+$mgyOY|GI?~Z%xSNx_S89&E33i!2t*UZ#_5C&t2zdivIPm zJW*-ht@nKu%(L{BH{?y0(0z0C_s%;EyK5d?G1s*9)jnSudR2Yas&5uQkj!mHHuqVa z=*cNHFSgZBv5EARTfAaFgNW~>3yt0ee|ItNc%vJ@e55>){kw^zH~VkhzkweX-M#bq z!^?mjKbL1r?pa`X0XZMHAe(FUtk-kh{3%O*sxFz~Y?LwCkMpe2R}Q{eQqn)ye!6z& zhZgf=GcKt}rvj!=@=6aUrm*UZKb2a-BY5E5KE*2AQ(utW+lp-NMp5T`p;Hx07rcK3bJ}KMmsDOg|*I2?Dm<}8kxAg4$#dh5J&-tyT+xIS56BMr|y*=TZo?6h zoN@L#lDTcj<_6z9{`uJU+Vl4&D3(t5zhWPxu}Qn5U*+LDf&AED_9WJrn(Viq?_FCD~#-WX+U4SxCUEjP=j^GN1`_CLXlW|0>^zBuj6cW2AZ`TM`leK0}7 zva3@9AerjatB++#9fY_Tq)Xy_(&E+)Dh`Vqex&6=q zGZd80dN_hh)?YZD>}hj(^3f`vL&1x@HP^aleEVGT)^6z&4RQAm4|rxtOsV;+qGoQt zQql5i)vL>ii@#j6HfGuvELwoP&b$-Z+)qE2baZ^H+;!+-N^AkUb5Z8Iul#3XYZQK} z+<)v4T5B(N#Hx|g`R=LNp9`Ho3N3Nd;&;$pA$ietPJ(v&@78UdNZ|n5=LIvGMd;Fo z1@D#|QTiM4uCQxHyYI}PGm^U_w*0!iSBNYtX*ZMOcVY7W~SHTD^8N@t&mEs*{x#@X>hdzRF3 z>ExSpnUVXky)Z*T@zzlL$i2cs^<&-1=3AR6{V`N+J(7F-kj>q<%eb-N!olX~}&+<$yd z*oEWa8~Lob&aElCyYxtN+TM^3GhfBX50UfIraTT%^hxG>wzQ5>IHh&>8IHHBB{n0O z3)^o8GM;6@#Jul~7xEuXEqgM>Vc&;&Ggr<1*}dU`{Tz;}{Dth78Cn*swV&~Qdhl}d z0}HNxE>^L6c;2NtC}z==@0S>}P4?eLGIs*VKqzJ@TCef&X!|9#>+M(Fx+j0TXuUTk z{!2~h(=V<{^Y#bS8e3=YDp_b?(J{rzF)K4x*1!39kg+S1(uF1V+$!IePD7r@0qp~X z8q2^UxoKO$|May>CI!U%-mDQhwEXiF##DoA64Re76#iN#e{AoLoAnF58n5%V=+EP9 zcV2o@WbQ}tYYB7jEDYJWZaew`OoJ0~{j4%f}( zNuj!_e>vvf6L)^Xzb(NeKi)W9S6Pv#PFN(AQ~svYgtRWd)VLGA$l*H~*<4fArB4I{ zBAg#xvlH$O_SkMF`u19Q`WyZieKXrOxGm8LXq^(0;hEIppXVwmlPh^Pf8P{?1xN4g zpXQewBk^g?YNYT5-CqGSnq?Q4`Sq2{d>c}4@tdA8Oi$k~e=K_Kz5e}z>{0fcY8>t^ zNnYuBJ0s1pq3em`9hI`z(a%#jQkv}8j(wON(Z6caIwW(a!VCq4!^V?`pI^yLurEDU zq3y_YY=Zx;pp94T&AU=F5_?2u-6>ge$m~LKz1`}P48=f$ql^;|7u)sE$TVTLo5osR z7^OW6$=qqk=BfqsSU+D_;>5KouyFDs`LG6&ungn3N3GA;Km1x&vf6ybM#X0VQ~l1W z=Gw zN{n}|>Xgbhdbs-Ng)M2($z2imKNTh)i>?3Rav*zl-n=7gr@ki*@8>x<5-CPv=kHaN9$=I6}hIrZ{W15NIWPd~CE>E^_>V#+(Zj(GX3e6)4T zs;vStS<8gnmnUzJQB+>nfZUIriQ?YF_KgX_HY?b}k3R8x`MiqdqSEQ3uX@z#=h&%T zkhkWuzIiLRELV0)_KzdlRnjbi1-jEiUcYzo|B}NcP_TCb=nfGiWB<9GrN1^EqjM<3`CLl~QYHj1TT`>|j&$Uu-=Qla<$9p@Nc;SBQMC>{*~Y#{(j z_ptjL{h{|ZVpBJm#6WIdB?h_sZ;Ke@4#L6YzEQVO76PF7h25oTCd&Z6E0r=6M|F>e z!0-+MP@aL^n_8(k_{v0(`#|gQLHD?B(uS1XLnTI#&oLM(ZXR{#Xb6mkz-S1JhQMeD zjE2By2#kinXb6mkz-S1JhQMeDjE2By2#kinXb6mkz-S1JhQMeDjE2By2#kinXb6mk zz-S22HUxe^mx{JPmv(a56c;7yW#$!^BV)4r)B1(>V*`grrIeO87LHIR;A{r z=_r^eB<5tM=jErtkIw%09|Az`1+5zf&C$ZnD}?bubI!0c_CRZZL25u}yu;3$1Fhc$ ziGkJuo&y=gz`y`ndkYd{Wnf@f4iy8fn+1u1&P87VTI0&VzyR_HNNfYtCn9qoin(k` zjg9OSOmI0JqzB|KkUK#3g6sjA3pyJebdEVE19)zn0d$r(4+8@O=q?h_JtZK&fzC|? zopA^{j}YW9(0P0yzkue|L1)r|&W{6~^#(eZ4RnT@IRp6KGzQQ)VxTj>K<9IT&e8&% zdj&e93Uroqv6>|eI}qiA)tLMpgnY; zeU+d+o1p!xpuMr6a|A$p{z2z8fX?s$owor>Ly`;(44^ZILHj;HdnQ5q_d#bbY+_(w z*v!Ddu$6&)4(Q$-(A_(rdv`#4 z5kUK^Kzr^$X>tn#0|V$D9|veUJOc6rC@tYhk03XJ!V2U^Q2qd&UkvgyXkP{>EY^D1U6z-rr2+E7Fd1(Z)gc?F~n6qlg51?dOn8JHX>Kf~lf za-eht3Nz4NT~J;DnF~`7G6NJgAU=okvbX z>W_hofuUi(YJ-k;Yig1JW1Oj;ft~@R<^aivu|~@J$u^(lV2rcWGc?yTU;yPckjyDI z&Ar|RjbAvJauQ2Yi%S?7Kq*3)fuZ4!na8?StE*MPdJOc;85m&e;dh2KRIe9U@dGRa zHVu@bK`XiDC%t)-=ys6-A_H;(C~bmd{sbBPXcSEC=K#6QNY9XgAw4HQDKV#*L2us< zJtrfLOB{@GhNgOkCVB?2b!&Ix41zXk@9gDZj5F3V(KBLT0Hs<%28M=1#S3;^xA(cs z!5C+uXK0~k$N)-zoD2*N*Z3^+ghahPnHb{?jr0ul3>ZKu2c)O`%8Ias2U_@;7~_mA z!NCJclRTh%sBLT0C!Kt=z_4V?k*iy;_j`c!=ox}somCEzl3u>> z`TXzZB1|B+8G-b`c4dfqJ`LlYr1F@FG0t4iRL_Kg;R*u-sQzxq*Zti2`ry}#OpI|R zUZ&IFQK&D-77{xDo0s>g(ZL5Gn6lolEmT-;S~ zkuR?gDr3gLkW~)K_Y4eSYF)3iS`+VrLR8NLWY2tNh<_As>&L0bDL!Wc#VObYVl3dA zt)a|*QkC7$02U@jLp`trg8>Tz11MGHiR;_^-0{^6Dr3mNfZH_OGO4T#43Z2C4J(os zd9T*U-3@XZ$R-1ZI#vb-P@EpCz4^WT$o*Jw7=Y7G7b|2Jhtu_)M|#)q<^<_621f&I zpUEoaMSHl;R|-cY?>)ZW;!bagD3+-!;ZHvdo;q< zJFzetLJVVA!wLyeIXCkc(xFV;P#Hr827V53yP<*Iue!WI^PLkDBQ)_csB=L4lXla7 zQ>d=RQ-q8I2Lpow14F}!Gv{7O1;ptgWYBY?0Am6N_>K=y(T7$Z6mmdTO>=UB^LIn> zp3v3nnD{?}V;k&Kbxw#29(LR=+30tQ11tl|K@1L@5dYj$loaB!05B!&V` z1_mJphK6FF?9c?~rdF_NMxYem#0iPHsCLCF%dOvzf@KWN^voFgq5iQl^bV0~yuSt< zbKnHG7V7FRx0FQ}u6%3{)&owx2cf3f#WC%<@}A>9RF4@0!#Su6PP{Z(Q@Y{a8*mOb z&@(h;NX!D&Ees4_{ipCb-0^Z`VvIA>Gc?jOVMxwM%mLMd=N~s3_=v^a0EZj6?0vuq z$t3}GIeYGG+zfJ?xt@WZ83RK~YEmhv4()4ZFnK6->KIs$F{liA4Rv+j!cC!nYtM&* zWx%HWhlcg+nJW8yColiP1S1*B88-HBvz`df;@OT3lL^nN!SAq4hwz=D?9WaLETQ z6Xm$TE%ye=6B9Y_wr+rwE{34^(dB}~wo%UJ&!^63q=VfCc6C~2UW#sM0R!K&Og^ct zfyL00!hnInmJ1R(^V)VhulUQi3>>0hdqDlVqErTkS3$>4-bh`R1=a)hj|WtbK0im2 z{KU<#z;S8_Dq%B=bwSk$LwQTuGd=%OQ*ao7T@cL0z@W;&&=4l&aZ&!`W>5|W6%>XH z3>93E)SLIy@`rC$kTh7287LN7xEL5fb%{LFqqx9#?+U=F*AOJr3k?HNfsMPX`txRh z!_5R#9?ana*R~A`WnLSKM7$1w-DU|2ovh3fP(ziWbI!GJmN1?JB8;GR2dH=W2&!lE z$@)o7>1$NMrh)6ml+@G$-OOT!o62WZTRh%4fK3C3^&6<$4)8r+>ApDyl!FcRjPy(y z7`{SHvzVqkMe(o@$fpK+V7KL@mVpW}24fCYUr(RtF0g6fyzn0ya}_(knzLGYg5uN& zl16d64bz@Fs6Dv#yyt_DiD0)C=;mbRW|lB~jScAe zTYO3joI=2<_oD#B9{uHZ2cESi)q=ws)C^&05`?(=xMqAq`NK4RaC!rqmYrG&E?)k< zQ2O${M06%t2HbK;%SkLLNljt6xZwVkb=%}uf$cHUvt(e<6N1>2t0|YXYD$tn6C*n|VlwAv+fYOcyxWUD+L>Q9dXH0Q8a%D$^ z1lXtG5(#(df^M1sqp1j__CF2XHR@$**AlfQlUktZoD6ZQL?A+G55G4CNV_ z$)NtqncTkbi~T>jfztuF^e;#($)qW08 z{D4xt0Rw}w7^IfrdKoTjzo6$AIIO|(lUbZv0qXax&%!4 z#05!(Dz*;X{1#Aq3>g?|Bp`8mF=EvP&oA?zGBMT}>VZqX(xOb=tYQWRb>4JqXDQmU@N^xJxA5H7)L1 z6MH=eN(i7z0lAL>DqSF%8+R>pQU+2l+}pOAKRIaW0&qG2m&&j`Xni-k`F}2618NCD zV;gskaa9IVJNvJ_SpN39B&cQrr9?vphQy-ug2bZYR3`p+SHlk71GNG`DbbLD;gc*R z+*T__Ec(^@Uj^i9a6^^hzbwRUZ+;}*jTh!HL8P5tIYp=yA0lrpE zhdiVW>wTwD*_Qn$sLuq7Q&XHR6hj6E+&;xpQh<7G#+dy^0mdc;1_o&ch6b#$V611z zz~HC|@z0S+gYR5D+xo#_0Itov6d_@7PSnG3$(O7bU>R_F!(BV$X?bI9_kyxxm?8s% zECWNs#O;RTI+dopZ8zAp<;=UNrmnu zhxMI_X|1F83IrH8DMES>IP!uC1A~wfM8(A0o{XC=CbT15K#r@ml)$6A4J&2up18Wn z^&7%8a{Pna)mZz^W}tQz?iziK5(BuEW@x`ewWe863Y<^DbrzO13hMBiFfiawJLH5L zs0|0|%OJ*GVErsCc>z=^8{mr{Ow;UaA)2tXo}eWK?$(p13ZzZmoib(Po?9nDy&RAp zBL;>@sLXzy*|)4iCA`4-2i(uX(k2JB9E=zka#M@aQ;irHzAO`(!!#*v0$2|?&t(x{trrCZzu9-jiG@0Sq2OYIMR+G14CM3aS3SDuI!Q5WdpxnP;F+Y2TpIB)F9>cSsvdjQCr_@ zGBHAnLo#94 z1_p5khK7>s=Re=h+Y9P%gL;Ps3=GAUdCA$CB@AsLd7Zj-f3AVsE}*6hLy8upcK%t> z{PD5sJV_BoJ6j8I^$co#gT^{xqo5-2o?a?O=?~L`KGrF~XlDzlxR+}|@`7PrT0l}m z#AdJyz%9s<;+#y-*u2~PyQ>z7@BRVKKj5BgzBU86Osv}A*y3li5aJ(j&ovc`3n1Af zTnEyIov0txtG3nFk_qnWIXaLO&zWy?>{Z~b-As&irg}zZdL|6=x(r}@s^6ra?GSpc z1RBjV)H60`U`U3_EIvJ>a(>pOOeV%U3q4akLjwj(d+Lk~K!Ye2m@=>)vI1z@i-Cb5 z0ZOCJ4?}7VJ=cno)S|q^oZyn8%)E3v1w+I@xdqBVc}X#77K4G|z;BVIMN=k-fXI#FWpt72Qfy)Lo zE^ml)SiYpPAhkHTD6^o%Ar&0_`dP&eU_t$)(mW_Dt2jTeJT<8#KRY!KqDnV8KQApa zT^E)#prQpirRkY@a8a;1V8eAG3X=14a})DYQj1b6GSf=(^K*2|Qu9*si&9gNt;i@T zDJZtm*Dp#<&nzw}s?^IX$jvI&%P&gTM^>h&V z=~o8CLE%LxqA*G? zkf+c~G+oFH9>`jUf{gr<{Nj?L(&UoTqE!8oD&3s?{Or;KX!#1B!bwUjNzTws&M7S} z!BRfzrB->$@8fYJ*yo_U z2AaguH3p6E6VQx1W7u!w^PhKjIA zK&pCONLwJzLeJD(&p@H3Mj;MVK^uTNj23z(3O1&C7J3Gt;uO}T!IMl7-avJ~sh+tW zxXK5a1F=^RZ?Ozf14^^t#*QvzVh`+dh?FiUfJ^f-ODgrD0ucX0ISARJ)b!Mff&y5p z3ECb?EGkN@M2Hoo!q^b~MaeKeBy@DMGfNyYN^=wQ(u(!-@>5bFobrr(&^TtXer|qB zX-=wcW^O@#QAuhMnru;ONl_&v0`yahONvrcp&U>vNw+vTBQ-ZMxhTK5Shu(!u{mTqx!enBdfU6xs#S(0A_8k#N!^+9#P6FuOn0JP9iH#M)Ms8TmM zF*zd@G<2z3kXV$OSCW}qT9jK_l#y7R0kOR#F)0UTS!PrtrFS_ z0(aVTGxIWYL0K~|v81#JT;t?|OwBJS$;{77EXl`L#UK>v>*^yox(0fddf=8&K~XBG z?WdblT%KQ)qFY{+SO7{+y2%--$=P5J=A@RT<`rj@q-N&fNrUK0^>y{pg>*rEYJ$zU z)UrHKNs?NYrwbm^2Bkhc_97e$P5Tg+gY^>1{s_P8>*^yo;KGwoX%7!AeO-Mx8?4im zfQ!KiCKFVjLRq>7postiy3itDUsoSZ1l&9!!wy@7MI}b$snl$6(XQnONbtD_=C;F6Y5CTfs+|%t{QAP*dK&+!)CWZ z7DFex5kA3VD|GG~q75_)4lV(}wpHdQm*ndfmZp}b;xPb8mATy^S#hvPsQ9W;LqsZQ~kn3GrnQ3Nsz&H+aOp~MTapd>W~s<9+BMc0^!1PGe& z*VoktQMx9eHG&|wf^$8jqlL$@NUC5Z07MVCD^Jk5iNz&IZ4QvLQANOU3C{O;+yGr8 z1a9epTX5jInXs-x(3&H#E-*_MJme1YI;eq_Se9B;j4#DT3$#=XgSi1~Nko z)(2V=rE3UY1_iPjyoy0LtGEKMe{(YPN_3GMZ(yS^M0G)37ea1<+o-Rr4`+jY0j^i# zKxGi5O%EQQ1-I_O2^!Q62W!CNRIohUV94qYkT>yYfi_LS%~XW9z+7Dm&@xDn{?y{4 z)Z|h^5d>8OHU-KiYHSEw>lthaW}_OMD+vWLcsfL1S07C4nt)b8fjogH5RjVkpf&@d zVXq5{1aPynI3qPFF)tn5iAl^$!DASjO3<(os$Ot@0eb?b6x?GV!bq?>Bm=>GaMlMK zhsOkPRg;}s2`aZi^-OkZB{;K#iwscrNEf`EMo%A<%n*D$CW6(28nB>cIAAY<6EGef z;Dt1xx*D{g2CRdStHH}FK`{baW(giC1ls{>Vd@r_ROX}>7nc@*I&j6h$@w{WJ2R*X zL1BoZQy0|RCFC5~+8upeeHfFd1c~HcQ0B}l&V;%ikv+i92aN}or552E`9@I(3K@{M zVfw&f3XV~Tvb@Axd_^ik5!@h<4sh!m+`q#Umx)4I0ng0l#?a)R`Ybz$W* zxE}|RKx@(BF&wuhSe1pJ+Ob^(#iQn__70v zI&h9C0vltgN1OxTLrdV`KnfNjA{J5$>m!D)KuH5K zg}4)(Qy>H1;09Yk0XU+;gWRA*3z`=rQ1D|I1Qh`Hzu=ix7tBReLD)JI(3K~6{0}vn zi2e?EfhU2cHKevdnf8EM04eMcj)(A(W=ztH5(_d?b5n~-iggnUG9kXhVjg%H7wmN` zlE~h`A`R*2$w3b?!D z0P2tBWG3mS73&q3B$goa%M)|5b2F2R^1%9sw;m2KB5#Nfv))4_zA!@&aU)Ft`;*u=x)zH(@mfs0pu+ zQn!KH-Jq#xU1(iLT*-=~#)4GEpxjegkP6|DZ63Jd2KApo8&8Qd1>P_KoT0wact-%X9ynsM1L}~iK7jt5? zfnd%;EHZ(xS?0A2uEUaSjVjt(xhA*;9t G9|-`AytbkM diff --git a/hosts/common/configs/user/gui/darktable/publish/default.nix b/hosts/common/configs/user/gui/darktable/publish/default.nix deleted file mode 100644 index e4dffde..0000000 --- a/hosts/common/configs/user/gui/darktable/publish/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ pkgs, lib, ... }: -pkgs.stdenv.mkDerivation rec { - pname = "darktable-publish"; - version = "1.0.0"; - src = ./.; - - npmSrc = pkgs.buildNpmPackage ({ - inherit src pname version; - npmDepsHash = "sha256-vBJIIuryC/zRvp9oKBVuCDTycPOpzgsLebU55CiIb7I="; - dontNpmBuild = true; - installPhase = '' - cp -r . $out - ''; - }); - - # FIXME: https://github.com/NixOS/nixpkgs/issues/255890 - wrapper = pkgs.writeShellApplication { - name = pname; - runtimeInputs = with pkgs; [ bun ]; - text = '' - bun ${npmSrc}/src/index.ts "$@" - ''; - }; - - installPhase = '' - mkdir -p $out/bin - cp ${lib.meta.getExe wrapper} $out/bin/ - ''; -} diff --git a/hosts/common/configs/user/gui/darktable/publish/eslint.config.js b/hosts/common/configs/user/gui/darktable/publish/eslint.config.js deleted file mode 100644 index a6781a5..0000000 --- a/hosts/common/configs/user/gui/darktable/publish/eslint.config.js +++ /dev/null @@ -1,11 +0,0 @@ -import globals from "globals"; -import pluginJs from "@eslint/js"; -import tseslint from "typescript-eslint"; - -/** @type {import('eslint').Linter.Config[]} */ -export default [ - { files: ["**/*.{js,mjs,cjs,ts}"] }, - { languageOptions: { globals: globals.browser } }, - pluginJs.configs.recommended, - ...tseslint.configs.recommended, -]; diff --git a/hosts/common/configs/user/gui/darktable/publish/package-lock.json b/hosts/common/configs/user/gui/darktable/publish/package-lock.json deleted file mode 100644 index 90bdb59..0000000 --- a/hosts/common/configs/user/gui/darktable/publish/package-lock.json +++ /dev/null @@ -1,1962 +0,0 @@ -{ - "name": "publish", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "publish", - "dependencies": { - "commander": "^12.1.0", - "exiftool-vendored": "^29.0.0", - "jsonwebtoken": "^9.0.2" - }, - "devDependencies": { - "@eslint/js": "^9.17.0", - "@types/bun": "latest", - "@types/jsonwebtoken": "^9.0.7", - "eslint": "^9.17.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.2.1", - "globals": "^15.14.0", - "prettier": "^3.4.2", - "typescript-eslint": "^8.18.1" - }, - "peerDependencies": { - "typescript": "^5.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", - "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", - "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.5", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.1.tgz", - "integrity": "sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", - "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "9.17.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.17.0.tgz", - "integrity": "sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", - "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.4.tgz", - "integrity": "sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.3.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", - "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@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, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@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, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@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, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@photostructure/tz-lookup": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@photostructure/tz-lookup/-/tz-lookup-11.0.0.tgz", - "integrity": "sha512-QMV5/dWtY/MdVPXZs/EApqzyhnqDq1keYEqpS+Xj2uidyaqw2Nk/fWcsszdruIXjdqp1VoWNzsgrO6bUHU1mFw==", - "license": "CC0-1.0" - }, - "node_modules/@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/@types/bun": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.1.14.tgz", - "integrity": "sha512-opVYiFGtO2af0dnWBdZWlioLBoxSdDO5qokaazLhq8XQtGZbY4pY3/JxY8Zdf/hEwGubbp7ErZXoN1+h2yesxA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bun-types": "1.1.37" - } - }, - "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/jsonwebtoken": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.7.tgz", - "integrity": "sha512-ugo316mmTYBl2g81zDFnZ7cfxlut3o+/EQdaP7J8QN2kY6lJ22hmQYCK5EHcJHbrW+dkCGSCPgbG8JtYj6qSrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/luxon": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.4.2.tgz", - "integrity": "sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==", - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "20.12.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.14.tgz", - "integrity": "sha512-scnD59RpYD91xngrQQLGkE+6UrHUPzeKZWhhjBSa3HSkwjbQc38+q3RoIVEwxQGRw3M+j5hpNAM+lgV3cVormg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/ws": { - "version": "8.5.13", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.13.tgz", - "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.1.tgz", - "integrity": "sha512-Ncvsq5CT3Gvh+uJG0Lwlho6suwDfUXH0HztslDf5I+F2wAFAZMRwYLEorumpKLzmO2suAXZ/td1tBg4NZIi9CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.18.1", - "@typescript-eslint/type-utils": "8.18.1", - "@typescript-eslint/utils": "8.18.1", - "@typescript-eslint/visitor-keys": "8.18.1", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.18.1.tgz", - "integrity": "sha512-rBnTWHCdbYM2lh7hjyXqxk70wvon3p2FyaniZuey5TrcGBpfhVp0OxOa6gxr9Q9YhZFKyfbEnxc24ZnVbbUkCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/scope-manager": "8.18.1", - "@typescript-eslint/types": "8.18.1", - "@typescript-eslint/typescript-estree": "8.18.1", - "@typescript-eslint/visitor-keys": "8.18.1", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.18.1.tgz", - "integrity": "sha512-HxfHo2b090M5s2+/9Z3gkBhI6xBH8OJCFjH9MhQ+nnoZqxU3wNxkLT+VWXWSFWc3UF3Z+CfPAyqdCTdoXtDPCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.18.1", - "@typescript-eslint/visitor-keys": "8.18.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.18.1.tgz", - "integrity": "sha512-jAhTdK/Qx2NJPNOTxXpMwlOiSymtR2j283TtPqXkKBdH8OAMmhiUfP0kJjc/qSE51Xrq02Gj9NY7MwK+UxVwHQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "8.18.1", - "@typescript-eslint/utils": "8.18.1", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.18.1.tgz", - "integrity": "sha512-7uoAUsCj66qdNQNpH2G8MyTFlgerum8ubf21s3TSM3XmKXuIn+H2Sifh/ES2nPOPiYSRJWAk0fDkW0APBWcpfw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.1.tgz", - "integrity": "sha512-z8U21WI5txzl2XYOW7i9hJhxoKKNG1kcU4RzyNvKrdZDmbjkmLBo8bgeiOJmA06kizLI76/CCBAAGlTlEeUfyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.18.1", - "@typescript-eslint/visitor-keys": "8.18.1", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.18.1.tgz", - "integrity": "sha512-8vikiIj2ebrC4WRdcAdDcmnu9Q/MXXwg+STf40BVfT8exDqBCUPdypvzcUPxEqRGKg9ALagZ0UWcYCtn+4W2iQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.18.1", - "@typescript-eslint/types": "8.18.1", - "@typescript-eslint/typescript-estree": "8.18.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.1.tgz", - "integrity": "sha512-Vj0WLm5/ZsD013YeUKn+K0y8p1M0jPpxOkKdbD1wB0ns53a5piVY02zjf072TblEweAbcYiFiPoSMF3kp+VhhQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.18.1", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/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, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/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, - "license": "Python-2.0" - }, - "node_modules/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, - "license": "MIT" - }, - "node_modules/batch-cluster": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/batch-cluster/-/batch-cluster-13.0.0.tgz", - "integrity": "sha512-EreW0Vi8TwovhYUHBXXRA5tthuU2ynGsZFlboyMJHCCUXYa2AjgwnE3ubBOJs2xJLcuXFJbi6c/8pH5+FVj8Og==", - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/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, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", - "license": "BSD-3-Clause" - }, - "node_modules/bun-types": { - "version": "1.1.37", - "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.1.37.tgz", - "integrity": "sha512-C65lv6eBr3LPJWFZ2gswyrGZ82ljnH8flVE03xeXxKhi2ZGtFiO4isRKTKnitbSqtRAcaqYSR6djt1whI66AbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "~20.12.8", - "@types/ws": "~8.5.10" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/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, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/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, - "license": "MIT" - }, - "node_modules/commander": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", - "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/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, - "license": "MIT" - }, - "node_modules/ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "license": "Apache-2.0", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "9.17.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.17.0.tgz", - "integrity": "sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.0", - "@eslint/core": "^0.9.0", - "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.17.0", - "@eslint/plugin-kit": "^0.2.3", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.1", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.2.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-config-prettier": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", - "dev": true, - "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", - "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", - "dev": true, - "license": "MIT", - "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.9.1" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": "*", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", - "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.14.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/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, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/exiftool-vendored": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/exiftool-vendored/-/exiftool-vendored-29.0.0.tgz", - "integrity": "sha512-BW2Fr7okYP1tN7KIIREy8gOx9WggpPsbKc3BTAS4dLgSup50LjdQttxF9kyDP+27ZayllK+d0rfMYPAixPBtQw==", - "license": "MIT", - "dependencies": { - "@photostructure/tz-lookup": "^11.0.0", - "@types/luxon": "^3.4.2", - "batch-cluster": "^13.0.0", - "he": "^1.2.0", - "luxon": "^3.5.0" - }, - "optionalDependencies": { - "exiftool-vendored.exe": "13.0.0", - "exiftool-vendored.pl": "13.0.1" - } - }, - "node_modules/exiftool-vendored.pl": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/exiftool-vendored.pl/-/exiftool-vendored.pl-13.0.1.tgz", - "integrity": "sha512-+BRRzjselpWudKR0ltAW5SUt9T82D+gzQN8DdOQUgnSVWWp7oLCeTGBRptbQz+436Ihn/mPzmo/xnf0cv/Qw1A==", - "license": "MIT", - "optional": true, - "os": [ - "!win32" - ] - }, - "node_modules/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, - "license": "MIT" - }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/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, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/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, - "license": "MIT" - }, - "node_modules/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, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/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, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", - "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", - "dev": true, - "license": "ISC" - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "15.14.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz", - "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" - }, - "node_modules/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, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/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, - "license": "MIT" - }, - "node_modules/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, - "license": "MIT" - }, - "node_modules/jsonwebtoken": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", - "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", - "license": "MIT", - "dependencies": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=12", - "npm": ">=6" - } - }, - "node_modules/jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "license": "MIT", - "dependencies": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "license": "MIT", - "dependencies": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/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, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", - "license": "MIT" - }, - "node_modules/lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", - "license": "MIT" - }, - "node_modules/lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", - "license": "MIT" - }, - "node_modules/lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "license": "MIT" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", - "license": "MIT" - }, - "node_modules/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, - "license": "MIT" - }, - "node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "license": "MIT" - }, - "node_modules/luxon": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.5.0.tgz", - "integrity": "sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/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, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/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, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", - "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/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, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/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, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/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==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/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, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/synckit": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz", - "integrity": "sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/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, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-api-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", - "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, - "license": "0BSD" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", - "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", - "license": "Apache-2.0", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typescript-eslint": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.18.1.tgz", - "integrity": "sha512-Mlaw6yxuaDEPQvb/2Qwu3/TfgeBHy9iTJ3mTwe7OvpPmF6KPQjVOfGyEJpPv6Ez2C34OODChhXrzYw/9phI0MQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/eslint-plugin": "8.18.1", - "@typescript-eslint/parser": "8.18.1", - "@typescript-eslint/utils": "8.18.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/hosts/common/configs/user/gui/darktable/publish/package.json b/hosts/common/configs/user/gui/darktable/publish/package.json deleted file mode 100644 index 5ede680..0000000 --- a/hosts/common/configs/user/gui/darktable/publish/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "publish", - "module": "src/index.ts", - "type": "module", - "devDependencies": { - "@eslint/js": "^9.17.0", - "@types/bun": "latest", - "@types/jsonwebtoken": "^9.0.7", - "eslint": "^9.17.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.2.1", - "globals": "^15.14.0", - "prettier": "^3.4.2", - "typescript-eslint": "^8.18.1" - }, - "peerDependencies": { - "typescript": "^5.0.0" - }, - "dependencies": { - "commander": "^12.1.0", - "exiftool-vendored": "^29.0.0", - "jsonwebtoken": "^9.0.2" - } -} diff --git a/hosts/common/configs/user/gui/darktable/publish/publish.lua b/hosts/common/configs/user/gui/darktable/publish/publish.lua deleted file mode 100644 index 65b85db..0000000 --- a/hosts/common/configs/user/gui/darktable/publish/publish.lua +++ /dev/null @@ -1,133 +0,0 @@ -local dt = require "darktable" -local df = require "lib/dtutils.file" -local os = require "os" - --- Some fucking bullshit happening right here. -function os.capture(command, raw) - local f = assert(io.popen(command, 'r')) - local s = assert(f:read('*a')) - f:close() - if raw then return s end - s = string.gsub(s, '^%s+', '') - s = string.gsub(s, '%s+$', '') - s = string.gsub(s, '[\n\r]+', ' ') - return s -end - -local publish_title = dt.new_widget("entry") { - placeholder = "Post Title", - tooltip = "enter title for the post" -} - -local publish_slug = dt.new_widget("entry") { - placeholder = "post-slug", - tooltip = "enter slug for the post (URL-friendly)" -} - -local publish_keywords = dt.new_widget("entry") { - placeholder = "keywords (space-separated)", - tooltip = "enter keywords (tags) for the post" -} - -local strip_gps_checkbox = dt.new_widget("check_button") { - label = "Strip GPS data", - value = false, - tooltip = "remove GPS metadata from files before uploading" -} - -local widget = dt.new_widget("box") { - orientation = "vertical", - publish_title, - publish_slug, - publish_keywords, - strip_gps_checkbox -} - -local function initialize(_, _, images, _, extra_data) - extra_data.exported_files = {} - extra_data.cleanup_files = {} - - if publish_title.text == "" then - extra_data.title = df.get_basename(images[1].filename) - else - extra_data.title = publish_title.text - end - - if publish_slug.text == "" then - extra_data.slug = df.get_basename(images[1].filename) - else - extra_data.slug = publish_slug.text - end - - extra_data.keywords = publish_keywords.text - extra_data.strip_gps = strip_gps_checkbox.value - - return images -end - -local function store(_, image, _, filename, _, _, _, extra_data) - if extra_data.strip_gps then - local command = string.format("exiftool -gps:all= -overwrite_original '%s'", filename) - os.execute(command) - end - - if image.is_raw then - local original_path = image.path .. "/" .. image.filename - local raw_filename = original_path - - if extra_data.strip_gps then - local tmpfile = os.tmpname() - local command = string.format("exiftool -gps:all= -o '%s' '%s'", tmpfile, original_path) - os.execute(command) - table.insert(extra_data.cleanup_files, tmpfile) - raw_filename = tmpfile - end - - table.insert(extra_data.exported_files, filename .. ":" .. raw_filename) - else - table.insert(extra_data.exported_files, filename) - end -end - -local function finalize(_, _, extra_data) - local files_arg = table.concat(extra_data.exported_files, " ") - - local command = string.format( - "darktable-publish --title '%s' --slug '%s' %s", - extra_data.title, extra_data.slug, files_arg - ) - if extra_data.keywords ~= "" then - command = command .. string.format(" --keywords %s", extra_data.keywords) - end - - -- Ignore that I use an external tool (written in JavaScript god forbid) - -- I am _not_ doing JSON generation and web requests in Lua - local result = os.capture(command) - - if result and result:match("^http") then - dt.print("Post published: " .. result) - else - dt.print("Failed to publish post.") - end - - local command = string.format("xdg-open %s", result) - os.execute(command) - - for _, tmpfile in ipairs(extra_data.cleanup_files) do - os.remove(tmpfile) - end -end - -local function supported(_, _) - return true -end - -dt.register_storage( - "ghost_publish", - "publish to Ghost CMS", - store, - finalize, - supported, - initialize, - widget -) diff --git a/hosts/common/configs/user/gui/darktable/publish/src/api.ts b/hosts/common/configs/user/gui/darktable/publish/src/api.ts deleted file mode 100644 index 89eeabd..0000000 --- a/hosts/common/configs/user/gui/darktable/publish/src/api.ts +++ /dev/null @@ -1,110 +0,0 @@ -import { sign } from "jsonwebtoken"; -import { file } from "bun"; - -const getAdminApiKey = async () => { - const keyPath = process.env.GHOST_ADMIN_API_KEY_PATH; - if (!keyPath) { - throw new Error( - "Environment variable GHOST_ADMIN_API_KEY_PATH is not set.", - ); - } - - const keyFile = file(keyPath); - if (!(await keyFile.exists())) { - throw new Error(`Key file not found at path: ${keyPath}`); - } - - return await keyFile.text(); -}; - -const getEndpoint = () => { - const endpoint = process.env.GHOST_URL; - if (!endpoint) { - throw new Error("Environment variable GHOST_URL is not set."); - } - - return endpoint; -}; - -const createJwt = (key: string) => { - const [id, secret] = key.split(":"); - if (!id || !secret) { - throw new Error("Invalid API key format. Expected format: {id}:{secret}"); - } - - return sign({}, Buffer.from(secret, "hex"), { - keyid: id, - algorithm: "HS256", - expiresIn: "5m", - audience: `/admin/`, - }); -}; - -const upload = async ( - slug: string, - path: string, - type: string | undefined, -): Promise => { - const endpoint = getEndpoint(); - const fullEndpoint = `${endpoint}${slug}`; - - const key = await getAdminApiKey(); - const token = createJwt(key); - - const f = Bun.file(path, { type }); - const formData = new FormData(); - formData.append("file", f); - - const response = await fetch(fullEndpoint, { - method: "POST", - headers: { - Authorization: `Ghost ${token}`, - }, - body: formData, - }); - - if (!response.ok) { - throw new Error( - `Failed to upload to ${fullEndpoint}: ${response.status} ${response.statusText}`, - ); - } - - return await response.json(); -}; - -export const uploadImage = async (imagePath: string): Promise => { - const slug = `/ghost/api/admin/images/upload`; - return (await upload(slug, imagePath, "image/jpeg")).images[0].url; -}; - -export const uploadFile = async (filePath: string): Promise => { - const slug = `/ghost/api/admin/files/upload`; - return (await upload(slug, filePath, undefined)).files[0].url; -}; - -export const uploadPost = async (post: any): Promise => { - const endpoint = getEndpoint(); - const fullEndpoint = `${endpoint}/ghost/api/admin/posts`; - - const key = await getAdminApiKey(); - const token = createJwt(key); - - const response = await fetch(fullEndpoint, { - method: "POST", - headers: { - Authorization: `Ghost ${token}`, - "Content-Type": "application/json", - }, - body: JSON.stringify({ - posts: [post], - }), - }); - - if (!response.ok) { - throw new Error( - `Failed to upload to ${fullEndpoint}: ${response.status} ${response.statusText}`, - ); - } - - return (await response.json()).posts[0].url; -}; diff --git a/hosts/common/configs/user/gui/darktable/publish/src/exif.ts b/hosts/common/configs/user/gui/darktable/publish/src/exif.ts deleted file mode 100644 index b7764da..0000000 --- a/hosts/common/configs/user/gui/darktable/publish/src/exif.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { exiftool } from "exiftool-vendored"; -import type { FileInfo } from "./files"; - -export interface ShootingConditions { - make: string; - model: string; - lensMake: string; - lensModel: string; - focalLength: string; - focalLength35: string; - shutterSpeed: string; - fStop: string; - iso: string; - timestamp: string; -} - -export const extractShootingConditions = async ( - fileInfo: FileInfo, -): Promise => { - const path = fileInfo.rawPath ?? fileInfo.jpegPath; - - try { - const exifData = await exiftool.read(path); - - return { - make: exifData.Make ?? "Unknown", - model: exifData.Model ?? "Unknown", - lensMake: exifData.LensMake ?? "Unknown", - lensModel: exifData.LensModel ?? "Unknown", - focalLength: exifData.FocalLength ?? "Unknown", - focalLength35: exifData.FocalLengthIn35mmFormat ?? "Unknown", - shutterSpeed: exifData.ExposureTime ?? "Unknown", - fStop: exifData.FNumber?.toString() ?? "Unknown", - iso: exifData.ISO?.toString() ?? "Unknown", - timestamp: new Date( - (exifData.CreateDate?.toString() as string).replace(/\./g, ":"), - ).toISOString(), - }; - } catch (error: any) { - throw new Error( - `Failed to extract EXIF data from ${path}: ${error.message}`, - ); - } -}; - -export const createImageCaption = (exif: ShootingConditions) => { - return `${exif.make} ${exif.model}, ${exif.lensMake} ${exif.lensModel} @ ${exif.focalLength} (${exif.focalLength35}), ${exif.shutterSpeed} s, f/${exif.fStop}, ISO ${exif.iso}`; -}; diff --git a/hosts/common/configs/user/gui/darktable/publish/src/files.ts b/hosts/common/configs/user/gui/darktable/publish/src/files.ts deleted file mode 100644 index d4e3468..0000000 --- a/hosts/common/configs/user/gui/darktable/publish/src/files.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { basename, extname } from "path"; - -export interface FileInfo { - jpegPath: string; - jpegSize: number; - rawPath?: string; - rawSize?: number; -} - -export const getBasenameWithoutExtension = (path: string): string => { - const base = basename(path); - const extension = extname(path); - return base.slice(0, -extension.length); -}; - -export const getBasenameWithExtension = (path: string): string => { - return basename(path); -}; - -export const prepareFiles = async (files: string[]): Promise => { - if (files.length > 10) { - throw new Error("Up to 10 files are allowed at a time."); - } - - const parsedFiles: FileInfo[] = []; - - for (const pair of files) { - const parts = pair.split(/(?", "Files to process") - .action(async (files, options) => { - if (!options.title) { - throw new Error("Please specify a title."); - } - - if (!options.slug) { - throw new Error("Please specify a slug."); - } - - const parsedFiles = await prepareFiles(files); - - const [ - shootingConditions, - uploadedJpegImages, - uploadedJpegFiles, - uploadedRawFiles, - ] = await Promise.all([ - Promise.all(parsedFiles.map(extractShootingConditions)), - Promise.all(parsedFiles.map((f) => uploadImage(f.jpegPath))), - Promise.all(parsedFiles.map((f) => uploadFile(f.jpegPath))), - Promise.all( - parsedFiles.map((f) => - f.rawPath ? uploadFile(f.rawPath) : Promise.resolve(undefined), - ), - ), - ]); - - const aggregatedFiles = parsedFiles.map((file, index) => ({ - ...file, - shootingConditions: shootingConditions[index], - uploadedJpegImage: uploadedJpegImages[index], - uploadedJpegFile: uploadedJpegFiles[index], - uploadedRawFile: uploadedRawFiles[index], - })); - - const result: any = { - root: { - children: [], - direction: "ltr", - format: "", - indent: 0, - type: "root", - version: 1, - }, - }; - - if (aggregatedFiles.length > 1) { - aggregatedFiles.slice(1).forEach((file) => - result.root.children.push( - createImageNode({ - src: file.uploadedJpegImage, - caption: createImageCaption(file.shootingConditions), - }), - ), - ); - } - - result.root.children.push(createHeadingNode("Downloads", "h2")); - - aggregatedFiles.forEach((file) => { - result.root.children.push( - createFileNode({ - src: file.uploadedJpegFile, - name: getBasenameWithExtension(file.jpegPath), - size: file.jpegSize, - }), - ); - - if (file.uploadedRawFile && file.rawPath && file.rawSize) { - result.root.children.push( - createFileNode({ - src: file.uploadedRawFile, - name: getBasenameWithExtension(file.rawPath), - size: file.rawSize, - }), - ); - } - }); - - const post = { - title: options.title, - slug: options.slug, - lexical: JSON.stringify(result), - feature_image: aggregatedFiles[0].uploadedJpegImage, - feature_image_caption: createImageCaption( - aggregatedFiles[0].shootingConditions, - ), - status: "published", - visibility: "public", - tags: options.keywords, - published_at: aggregatedFiles[0].shootingConditions.timestamp, - }; - - const url = await uploadPost(post); - console.log(url); - - process.exit(0); - }) - .parse(); diff --git a/hosts/common/configs/user/gui/darktable/publish/src/lexical.ts b/hosts/common/configs/user/gui/darktable/publish/src/lexical.ts deleted file mode 100644 index 46d013b..0000000 --- a/hosts/common/configs/user/gui/darktable/publish/src/lexical.ts +++ /dev/null @@ -1,50 +0,0 @@ -export const createTextNode = (text: string) => ({ - detail: 0, - format: 0, - mode: "normal", - style: "", - text, - type: "extended-text", - version: 1, -}); - -export const createHeadingNode = (text: string, level: string) => ({ - children: [createTextNode(text)], - direction: "ltr", - format: "", - indent: 0, - type: "extended-heading", - version: 1, - tag: level, -}); - -export interface ImageInput { - src: string; - caption: string; -} - -export const createImageNode = (image: ImageInput) => { - return { - type: "image", - version: 1, - cardWidth: "wide", - ...image, - }; -}; - -export interface FileInput { - src: string; - name: string; - size: number; -} - -export const createFileNode = (file: FileInput) => { - return { - type: "file", - src: file.src, - fileTitle: file.name, - fileName: file.name, - fileCaption: "", - fileSize: file.size, - }; -}; diff --git a/hosts/common/configs/user/gui/darktable/publish/tsconfig.json b/hosts/common/configs/user/gui/darktable/publish/tsconfig.json deleted file mode 100644 index 2bb153e..0000000 --- a/hosts/common/configs/user/gui/darktable/publish/tsconfig.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "compilerOptions": { - // Enable latest features - "lib": ["ESNext", "DOM"], - "target": "ESNext", - "module": "ESNext", - "moduleDetection": "force", - "jsx": "react-jsx", - "allowJs": true, - // Bundler mode - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "verbatimModuleSyntax": true, - "noEmit": true, - // Best practices - "strict": true, - "skipLibCheck": true, - "noFallthroughCasesInSwitch": true, - // Some stricter flags (disabled by default) - "noUnusedLocals": false, - "noUnusedParameters": false, - "noPropertyAccessFromIndexSignature": false - } -} diff --git a/hosts/common/configs/user/gui/obsidian/config/plugins/better-word-count/package-lock.patch b/hosts/common/configs/user/gui/obsidian/config/plugins/better-word-count/package-lock.patch deleted file mode 100644 index 8ae68af..0000000 --- a/hosts/common/configs/user/gui/obsidian/config/plugins/better-word-count/package-lock.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/package-lock.json b/package-lock.json -index 3fa99a5..71302ec 100644 ---- a/package-lock.json -+++ b/package-lock.json -@@ -15,7 +15,7 @@ - }, - "devDependencies": { - "@codemirror/commands": "^6.1.2", -- "@codemirror/language": "https://github.com/lishid/cm-language", -+ "@codemirror/language": "https://github.com/karaolidis/cm-language#package-lock", - "@codemirror/search": "^6.2.2", - "@codemirror/state": "^6.1.2", - "@codemirror/view": "^6.4.0", -@@ -49,7 +49,7 @@ - }, - "node_modules/@codemirror/language": { - "version": "6.10.1", -- "resolved": "git+ssh://git@github.com/lishid/cm-language.git#2644bfc27afda707a7e1f3aedaf3ca7120f63cd9", -+ "resolved": "git+ssh://git@github.com/karaolidis/cm-language.git#d6238f0a9e17e20d604cee67a47d3a93b00dd41c", - "dev": true, - "dependencies": { - "@codemirror/state": "^6.0.0", -diff --git a/package.json b/package.json -index 2537f1e..ba6bfff 100644 ---- a/package.json -+++ b/package.json -@@ -24,7 +24,7 @@ - "license": "MIT", - "devDependencies": { - "@codemirror/commands": "^6.1.2", -- "@codemirror/language": "https://github.com/lishid/cm-language", -+ "@codemirror/language": "https://github.com/karaolidis/cm-language#package-lock", - "@codemirror/search": "^6.2.2", - "@codemirror/state": "^6.1.2", - "@codemirror/view": "^6.4.0", diff --git a/hosts/common/configs/user/gui/obsidian/config/plugins/map-view/default.nix b/hosts/common/configs/user/gui/obsidian/config/plugins/map-view/default.nix deleted file mode 100644 index 35e1d70..0000000 --- a/hosts/common/configs/user/gui/obsidian/config/plugins/map-view/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ pkgs, ... }: -pkgs.buildNpmPackage rec { - pname = "obsidian.plugins.map-view"; - version = "5.0.2"; - - src = pkgs.fetchFromGitHub { - owner = "karaolidis"; - rev = "e1d2737f20e8667417b040b4dcad020aa6de84d3"; - # owner = "esm7"; - repo = "obsidian-map-view"; - # rev = version; - hash = "sha256-Tmp8/li82BHVY3pLwi5l86NTXzfzrcRMZFMVNWiItXE="; - }; - - npmDepsHash = "sha256-BsiFThkaZHQcayTuI5uvD5uD710eDVPgkANSj7Qd5S0="; - npmPackFlags = [ "--ignore-scripts" ]; - - installPhase = '' - mkdir -p $out - cp ./dist/manifest.json $out/manifest.json - cp ./dist/main.js $out/main.js - cp ./dist/styles.css $out/styles.css - ''; -} diff --git a/hosts/common/configs/user/gui/obsidian/default.nix b/hosts/common/configs/user/gui/obsidian/default.nix index 3078bea..7e0a79a 100644 --- a/hosts/common/configs/user/gui/obsidian/default.nix +++ b/hosts/common/configs/user/gui/obsidian/default.nix @@ -6,9 +6,12 @@ config, lib, pkgs, + inputs, + system, ... }: let + selfPkgs = inputs.self.packages.${system}; hmConfig = config.home-manager.users.${user}; in { @@ -73,7 +76,7 @@ in communityPlugins = [ { - pkg = pkgs.callPackage ./config/plugins/better-word-count { }; + pkg = selfPkgs.obsidian-plugin-better-word-count; options = { statusBar = [ { @@ -99,7 +102,7 @@ in }; } { - pkg = pkgs.callPackage ./config/plugins/custom-sort { }; + pkg = selfPkgs.obsidian-plugin-custom-sort; options = { suspended = false; statusBarEntryEnabled = false; @@ -110,7 +113,7 @@ in }; } { - pkg = pkgs.callPackage ./config/plugins/dataview { }; + pkg = selfPkgs.obsidian-plugin-dataview; options = { enableDataviewJs = true; enableInlineDataviewJs = true; @@ -120,7 +123,7 @@ in }; } { - pkg = pkgs.callPackage ./config/plugins/excalidraw { }; + pkg = selfPkgs.obsidian-plugin-excalidraw; options = { folder = "Inbox"; templateFilePath = "Templates"; @@ -143,14 +146,14 @@ in }; } { - pkg = pkgs.callPackage ./config/plugins/folder-note { }; + pkg = selfPkgs.obsidian-plugin-folder-note; options = { folderNoteHide = false; folderNoteStrInit = ""; }; } { - pkg = pkgs.callPackage ./config/plugins/kanban { }; + pkg = selfPkgs.obsidian-plugin-kanban; options = { move-tags = true; move-dates = true; @@ -164,7 +167,7 @@ in }; } { - pkg = pkgs.callPackage ./config/plugins/languagetool { }; + pkg = selfPkgs.obsidian-plugin-languagetool; options = { shouldAutoCheck = true; pickyMode = true; @@ -173,7 +176,7 @@ in }; } { - pkg = pkgs.callPackage ./config/plugins/linter { }; + pkg = selfPkgs.obsidian-plugin-linter; options = { lintOnSave = true; displayChanged = false; @@ -313,7 +316,7 @@ in }; } { - pkg = pkgs.callPackage ./config/plugins/map-view { }; + pkg = selfPkgs.obsidian-plugin-map-view; options = { "markerIconRules" = [ { @@ -399,20 +402,20 @@ in }; } { - pkg = pkgs.callPackage ./config/plugins/minimal-settings { }; + pkg = selfPkgs.obsidian-plugin-minimal-settings; options = { editorFont = "var(--font-monospace)"; }; } { - pkg = pkgs.callPackage ./config/plugins/outliner { }; + pkg = selfPkgs.obsidian-plugin-outliner; options = { styleLists = false; stickCursor = "never"; }; } { - pkg = pkgs.callPackage ./config/plugins/read-it-later { }; + pkg = selfPkgs.obsidian-plugin-read-it-later; options = { inboxDir = "Inbox"; assetsDir = "Inbox/assets"; @@ -498,9 +501,9 @@ in textSnippetNote = "%content%"; }; } - (pkgs.callPackage ./config/plugins/style-settings { }) + (selfPkgs.obsidian-plugin-style-settings) { - pkg = pkgs.callPackage ./config/plugins/tasks { }; + pkg = selfPkgs.obsidian-plugin-tasks; options = { globalQuery = "short mode"; globalFilter = "#todo"; @@ -646,12 +649,12 @@ in }; }; } - (pkgs.callPackage ./config/plugins/url-into-selection { }) + (selfPkgs.obsidian-plugin-url-into-selection) ]; cssSnippets = [ ./config/snippets/file-explorer-separators.css ]; - themes = [ (pkgs.callPackage ./config/themes/minimal { }) ]; + themes = [ selfPkgs.obsidian-theme-minimal ]; hotkeys = { "command-palette:open" = [ { key = "F1"; } ]; diff --git a/hosts/common/configs/user/gui/spicetify/default.nix b/hosts/common/configs/user/gui/spicetify/default.nix index 390404d..8d6bbb9 100644 --- a/hosts/common/configs/user/gui/spicetify/default.nix +++ b/hosts/common/configs/user/gui/spicetify/default.nix @@ -6,7 +6,7 @@ config, inputs, lib, - pkgs, + system, ... }: let @@ -28,7 +28,7 @@ in programs.spicetify = let - spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; + spicePkgs = inputs.spicetify-nix.legacyPackages.${system}; in { enable = true; diff --git a/hosts/common/configs/user/gui/vscode/default.nix b/hosts/common/configs/user/gui/vscode/default.nix index 3788257..f5903b8 100644 --- a/hosts/common/configs/user/gui/vscode/default.nix +++ b/hosts/common/configs/user/gui/vscode/default.nix @@ -21,75 +21,76 @@ in programs.vscode = { enable = true; - mutableExtensionsDir = false; - extensions = with pkgs.vscode-extensions; [ - mkhl.direnv - mhutchie.git-graph - ms-vsliveshare.vsliveshare - naumovs.color-highlight - ]; + profiles.default = { + extensions = with pkgs.vscode-extensions; [ + mkhl.direnv + mhutchie.git-graph + ms-vsliveshare.vsliveshare + naumovs.color-highlight + ]; - userSettings = { - "diffEditor.ignoreTrimWhitespace" = false; - "editor.accessibilitySupport" = "off"; - "editor.cursorBlinking" = "phase"; - "editor.cursorSmoothCaretAnimation" = "on"; - "editor.fontFamily" = builtins.concatStringsSep ", " hmConfig.theme.font.monospace.names; - "editor.fontLigatures" = true; - "editor.fontSize" = hmConfig.theme.font.size; - "editor.formatOnPaste" = true; - "editor.formatOnSave" = true; - "editor.formatOnType" = true; - "editor.indentSize" = "tabSize"; - "editor.inlineSuggest.enabled" = true; - "editor.largeFileOptimizations" = false; - "editor.linkedEditing" = true; - "editor.renderFinalNewline" = "on"; - "editor.smoothScrolling" = true; - "editor.stickyScroll.enabled" = true; - "editor.suggestSelection" = "first"; - "editor.tabSize" = 2; - "editor.unicodeHighlight.includeComments" = true; - "editor.unicodeHighlight.nonBasicASCII" = true; - "explorer.confirmDelete" = false; - "explorer.confirmDragAndDrop" = false; - "explorer.confirmPasteNative" = false; - "extensions.autoCheckUpdates" = false; - "extensions.autoUpdate" = false; - "extensions.ignoreRecommendations" = true; - "files.autoSave" = "afterDelay"; - "files.eol" = "\n"; - "files.insertFinalNewline" = true; - "files.trimFinalNewlines" = true; - "files.trimTrailingWhitespace" = true; - "git.allowForcePush" = true; - "git.alwaysSignOff" = true; - "git.autofetch" = "all"; - "git.closeDiffOnOperation" = true; - "git.confirmForcePush" = false; - "git.confirmSync" = false; - "git.enableCommitSigning" = true; - "git.enableSmartCommit" = true; - "git.ignoreRebaseWarning" = true; - "git.openRepositoryInParentFolders" = "always"; - "git.path" = lib.meta.getExe pkgs.git; - "mergeEditor.diffAlgorithm" = "advanced"; - "security.workspace.trust.enabled" = false; - "telemetry.telemetryLevel" = "off"; - "terminal.external.linuxExec" = "kitty"; - "terminal.integrated.confirmOnExit" = "hasChildProcesses"; - "terminal.integrated.copyOnSelection" = true; - "terminal.integrated.fontFamily" = - builtins.concatStringsSep ", " hmConfig.theme.font.monospace.names; - "terminal.integrated.fontSize" = hmConfig.theme.font.size; - "update.mode" = "none"; - "window.autoDetectColorScheme" = true; - "window.autoDetectHighContrast" = false; - "window.menuBarVisibility" = "toggle"; - "workbench.editor.historyBasedLanguageDetection" = true; - "workbench.list.smoothScrolling" = true; + userSettings = { + "diffEditor.ignoreTrimWhitespace" = false; + "editor.accessibilitySupport" = "off"; + "editor.cursorBlinking" = "phase"; + "editor.cursorSmoothCaretAnimation" = "on"; + "editor.fontFamily" = builtins.concatStringsSep ", " hmConfig.theme.font.monospace.names; + "editor.fontLigatures" = true; + "editor.fontSize" = hmConfig.theme.font.size; + "editor.formatOnPaste" = true; + "editor.formatOnSave" = true; + "editor.formatOnType" = true; + "editor.indentSize" = "tabSize"; + "editor.inlineSuggest.enabled" = true; + "editor.largeFileOptimizations" = false; + "editor.linkedEditing" = true; + "editor.renderFinalNewline" = "on"; + "editor.smoothScrolling" = true; + "editor.stickyScroll.enabled" = true; + "editor.suggestSelection" = "first"; + "editor.tabSize" = 2; + "editor.unicodeHighlight.includeComments" = true; + "editor.unicodeHighlight.nonBasicASCII" = true; + "explorer.confirmDelete" = false; + "explorer.confirmDragAndDrop" = false; + "explorer.confirmPasteNative" = false; + "extensions.autoCheckUpdates" = false; + "extensions.autoUpdate" = false; + "extensions.ignoreRecommendations" = true; + "files.autoSave" = "afterDelay"; + "files.eol" = "\n"; + "files.insertFinalNewline" = true; + "files.trimFinalNewlines" = true; + "files.trimTrailingWhitespace" = true; + "git.allowForcePush" = true; + "git.alwaysSignOff" = true; + "git.autofetch" = "all"; + "git.closeDiffOnOperation" = true; + "git.confirmForcePush" = false; + "git.confirmSync" = false; + "git.enableCommitSigning" = true; + "git.enableSmartCommit" = true; + "git.ignoreRebaseWarning" = true; + "git.openRepositoryInParentFolders" = "always"; + "git.path" = lib.meta.getExe pkgs.git; + "mergeEditor.diffAlgorithm" = "advanced"; + "security.workspace.trust.enabled" = false; + "telemetry.telemetryLevel" = "off"; + "terminal.external.linuxExec" = "kitty"; + "terminal.integrated.confirmOnExit" = "hasChildProcesses"; + "terminal.integrated.copyOnSelection" = true; + "terminal.integrated.fontFamily" = + builtins.concatStringsSep ", " hmConfig.theme.font.monospace.names; + "terminal.integrated.fontSize" = hmConfig.theme.font.size; + "update.mode" = "none"; + "window.autoDetectColorScheme" = true; + "window.autoDetectHighContrast" = false; + "window.menuBarVisibility" = "toggle"; + "workbench.editor.historyBasedLanguageDetection" = true; + "workbench.list.smoothScrolling" = true; + }; }; }; diff --git a/hosts/common/configs/user/gui/vscode/langs/c/default.nix b/hosts/common/configs/user/gui/vscode/langs/c/default.nix index 4f0a1d3..9b545af 100644 --- a/hosts/common/configs/user/gui/vscode/langs/c/default.nix +++ b/hosts/common/configs/user/gui/vscode/langs/c/default.nix @@ -5,7 +5,7 @@ ... }: lib.mkIf config.programs.vscode.languages.c.enable { - programs.vscode.extensions = with pkgs.vscode-extensions; [ + programs.vscode.profiles.default.extensions = with pkgs.vscode-extensions; [ ms-vscode.cpptools ms-vscode.cmake-tools ]; diff --git a/hosts/common/configs/user/gui/vscode/langs/docker/default.nix b/hosts/common/configs/user/gui/vscode/langs/docker/default.nix index 4ab3fff..63a420e 100644 --- a/hosts/common/configs/user/gui/vscode/langs/docker/default.nix +++ b/hosts/common/configs/user/gui/vscode/langs/docker/default.nix @@ -5,5 +5,7 @@ ... }: lib.mkIf config.programs.vscode.languages.docker.enable { - programs.vscode.extensions = with pkgs.vscode-extensions; [ ms-azuretools.vscode-docker ]; + programs.vscode.profiles.default.extensions = with pkgs.vscode-extensions; [ + ms-azuretools.vscode-docker + ]; } diff --git a/hosts/common/configs/user/gui/vscode/langs/go/default.nix b/hosts/common/configs/user/gui/vscode/langs/go/default.nix index d95cdee..7c4447d 100644 --- a/hosts/common/configs/user/gui/vscode/langs/go/default.nix +++ b/hosts/common/configs/user/gui/vscode/langs/go/default.nix @@ -5,5 +5,5 @@ ... }: lib.mkIf config.programs.vscode.languages.go.enable { - programs.vscode.extensions = with pkgs.vscode-extensions; [ golang.go ]; + programs.vscode.profiles.default.extensions = with pkgs.vscode-extensions; [ golang.go ]; } diff --git a/hosts/common/configs/user/gui/vscode/langs/java/default.nix b/hosts/common/configs/user/gui/vscode/langs/java/default.nix index f783503..49ac311 100644 --- a/hosts/common/configs/user/gui/vscode/langs/java/default.nix +++ b/hosts/common/configs/user/gui/vscode/langs/java/default.nix @@ -5,7 +5,7 @@ ... }: lib.mkIf config.programs.vscode.languages.java.enable { - programs.vscode = { + programs.vscode.profiles.default = { extensions = with pkgs; with vscode-extensions; diff --git a/hosts/common/configs/user/gui/vscode/langs/jinja/default.nix b/hosts/common/configs/user/gui/vscode/langs/jinja/default.nix index d166f24..56b0e45 100644 --- a/hosts/common/configs/user/gui/vscode/langs/jinja/default.nix +++ b/hosts/common/configs/user/gui/vscode/langs/jinja/default.nix @@ -5,5 +5,5 @@ ... }: lib.mkIf config.programs.vscode.languages.jinja.enable { - programs.vscode.extensions = with pkgs.vscode-extensions; [ wholroyd.jinja ]; + programs.vscode.profiles.default.extensions = with pkgs.vscode-extensions; [ wholroyd.jinja ]; } diff --git a/hosts/common/configs/user/gui/vscode/langs/lua/default.nix b/hosts/common/configs/user/gui/vscode/langs/lua/default.nix index 3c9825d..b50dc3e 100644 --- a/hosts/common/configs/user/gui/vscode/langs/lua/default.nix +++ b/hosts/common/configs/user/gui/vscode/langs/lua/default.nix @@ -5,5 +5,5 @@ ... }: lib.mkIf config.programs.vscode.languages.lua.enable { - programs.vscode.extensions = with pkgs.vscode-extensions; [ sumneko.lua ]; + programs.vscode.profiles.default.extensions = with pkgs.vscode-extensions; [ sumneko.lua ]; } diff --git a/hosts/common/configs/user/gui/vscode/langs/markdown/default.nix b/hosts/common/configs/user/gui/vscode/langs/markdown/default.nix index d14fe98..2fd5cc6 100644 --- a/hosts/common/configs/user/gui/vscode/langs/markdown/default.nix +++ b/hosts/common/configs/user/gui/vscode/langs/markdown/default.nix @@ -5,5 +5,7 @@ ... }: lib.mkIf config.programs.vscode.languages.markdown.enable { - programs.vscode.extensions = with pkgs.vscode-extensions; [ yzhang.markdown-all-in-one ]; + programs.vscode.profiles.default.extensions = with pkgs.vscode-extensions; [ + yzhang.markdown-all-in-one + ]; } diff --git a/hosts/common/configs/user/gui/vscode/langs/nix/default.nix b/hosts/common/configs/user/gui/vscode/langs/nix/default.nix index 91ed476..8d75432 100644 --- a/hosts/common/configs/user/gui/vscode/langs/nix/default.nix +++ b/hosts/common/configs/user/gui/vscode/langs/nix/default.nix @@ -5,7 +5,7 @@ ... }: lib.mkIf config.programs.vscode.languages.nix.enable { - programs.vscode = { + programs.vscode.profiles.default = { userSettings = { "nix.enableLanguageServer" = true; "nix.serverPath" = lib.meta.getExe pkgs.nil; diff --git a/hosts/common/configs/user/gui/vscode/langs/python/default.nix b/hosts/common/configs/user/gui/vscode/langs/python/default.nix index cf3b8a9..6874c33 100644 --- a/hosts/common/configs/user/gui/vscode/langs/python/default.nix +++ b/hosts/common/configs/user/gui/vscode/langs/python/default.nix @@ -5,7 +5,7 @@ ... }: lib.mkIf config.programs.vscode.languages.python.enable { - programs.vscode.extensions = with pkgs.vscode-extensions; [ + programs.vscode.profiles.default.extensions = with pkgs.vscode-extensions; [ ms-python.python ms-python.vscode-pylance ms-python.debugpy diff --git a/hosts/common/configs/user/gui/vscode/langs/rest/default.nix b/hosts/common/configs/user/gui/vscode/langs/rest/default.nix index b8fd236..01c3ac7 100644 --- a/hosts/common/configs/user/gui/vscode/langs/rest/default.nix +++ b/hosts/common/configs/user/gui/vscode/langs/rest/default.nix @@ -5,7 +5,7 @@ ... }: lib.mkIf config.programs.vscode.languages.rest.enable { - programs.vscode = { + programs.vscode.profiles.default = { extensions = with pkgs.vscode-extensions; [ humao.rest-client ]; userSettings = { diff --git a/hosts/common/configs/user/gui/vscode/langs/rust/default.nix b/hosts/common/configs/user/gui/vscode/langs/rust/default.nix index 2cec24f..b5f5e7e 100644 --- a/hosts/common/configs/user/gui/vscode/langs/rust/default.nix +++ b/hosts/common/configs/user/gui/vscode/langs/rust/default.nix @@ -5,5 +5,7 @@ ... }: lib.mkIf config.programs.vscode.languages.python.enable { - programs.vscode.extensions = with pkgs.vscode-extensions; [ rust-lang.rust-analyzer ]; + programs.vscode.profiles.default.extensions = with pkgs.vscode-extensions; [ + rust-lang.rust-analyzer + ]; } diff --git a/hosts/common/configs/user/gui/vscode/langs/sas/default.nix b/hosts/common/configs/user/gui/vscode/langs/sas/default.nix index 403e102..4111f1a 100644 --- a/hosts/common/configs/user/gui/vscode/langs/sas/default.nix +++ b/hosts/common/configs/user/gui/vscode/langs/sas/default.nix @@ -5,7 +5,7 @@ ... }: lib.mkIf config.programs.vscode.languages.sas.enable { - programs.vscode = { + programs.vscode.profiles.default = { extensions = with pkgs.vscode-extensions; [ sas.sas-lsp ]; userSettings = { diff --git a/hosts/common/configs/user/gui/vscode/langs/sops/default.nix b/hosts/common/configs/user/gui/vscode/langs/sops/default.nix index 3389c8a..5143361 100644 --- a/hosts/common/configs/user/gui/vscode/langs/sops/default.nix +++ b/hosts/common/configs/user/gui/vscode/langs/sops/default.nix @@ -5,5 +5,7 @@ ... }: lib.mkIf config.programs.vscode.languages.sops.enable { - programs.vscode.extensions = with pkgs.vscode-extensions; [ signageos.signageos-vscode-sops ]; + programs.vscode.profiles.default.extensions = with pkgs.vscode-extensions; [ + signageos.signageos-vscode-sops + ]; } diff --git a/hosts/common/configs/user/gui/vscode/langs/svelte/default.nix b/hosts/common/configs/user/gui/vscode/langs/svelte/default.nix index dd1b063..fe7c0ae 100644 --- a/hosts/common/configs/user/gui/vscode/langs/svelte/default.nix +++ b/hosts/common/configs/user/gui/vscode/langs/svelte/default.nix @@ -5,7 +5,7 @@ ... }: lib.mkIf config.programs.vscode.languages.svelte.enable { - programs.vscode = { + programs.vscode.profiles.default = { userSettings = { "svelte.enable-ts-plugin" = true; }; diff --git a/hosts/common/configs/user/gui/vscode/langs/typescript/default.nix b/hosts/common/configs/user/gui/vscode/langs/typescript/default.nix index 8b60e93..7ae0cdb 100644 --- a/hosts/common/configs/user/gui/vscode/langs/typescript/default.nix +++ b/hosts/common/configs/user/gui/vscode/langs/typescript/default.nix @@ -1,11 +1,6 @@ -{ - config, - lib, - pkgs, - ... -}: +{ config, lib, ... }: lib.mkIf config.programs.vscode.languages.typescript.enable { - programs.vscode.userSettings = { + programs.vscode.profiles.default.userSettings = { "typescript.updateImportsOnFileMove.enabled" = "always"; }; } diff --git a/hosts/common/configs/user/gui/vscode/langs/yaml/default.nix b/hosts/common/configs/user/gui/vscode/langs/yaml/default.nix index 10eb439..003ff0e 100644 --- a/hosts/common/configs/user/gui/vscode/langs/yaml/default.nix +++ b/hosts/common/configs/user/gui/vscode/langs/yaml/default.nix @@ -5,5 +5,5 @@ ... }: lib.mkIf config.programs.vscode.languages.yaml.enable { - programs.vscode.extensions = with pkgs.vscode-extensions; [ redhat.vscode-yaml ]; + programs.vscode.profiles.default.extensions = with pkgs.vscode-extensions; [ redhat.vscode-yaml ]; } diff --git a/hosts/common/configs/user/gui/vscode/options.nix b/hosts/common/configs/user/gui/vscode/options.nix index 386269c..f276dcb 100644 --- a/hosts/common/configs/user/gui/vscode/options.nix +++ b/hosts/common/configs/user/gui/vscode/options.nix @@ -51,7 +51,7 @@ in ]; config = { - programs.vscode = { + programs.vscode.profiles.default = { extensions = with pkgs.vscode-extensions; [ ] diff --git a/hosts/common/shells/default.nix b/hosts/common/shells/default.nix new file mode 100644 index 0000000..97add18 --- /dev/null +++ b/hosts/common/shells/default.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: +{ + bun = import ./bun { inherit pkgs; }; + c = import ./c { inherit pkgs; }; + go = import ./go { inherit pkgs; }; + java = import ./java { inherit pkgs; }; + nix = import ./nix { inherit pkgs; }; + nodejs = import ./nodejs { inherit pkgs; }; + python = import ./python { inherit pkgs; }; + rust = import ./rust { inherit pkgs; }; +} diff --git a/hosts/eirene/default.nix b/hosts/eirene/default.nix index ad53d06..b3c91ca 100644 --- a/hosts/eirene/default.nix +++ b/hosts/eirene/default.nix @@ -27,6 +27,7 @@ ../common/configs/system/nix-cleanup ../common/configs/system/nix-install ../common/configs/system/nix-ld + ../common/configs/system/nix-update ../common/configs/system/nixpkgs ../common/configs/system/ntp ../common/configs/system/pipewire diff --git a/hosts/eirene/hardware/display.nix b/hosts/eirene/hardware/display.nix index 9173057..40fcee5 100644 --- a/hosts/eirene/hardware/display.nix +++ b/hosts/eirene/hardware/display.nix @@ -46,7 +46,7 @@ }; programs = { - vscode.userSettings."window.zoomLevel" = (1.25 - 1) / 0.2; + vscode.profiles.default.userSettings."window.zoomLevel" = (1.25 - 1) / 0.2; obs-studio.resolution = { base = { diff --git a/hosts/elara/default.nix b/hosts/elara/default.nix index c1caa3d..4295e2c 100644 --- a/hosts/elara/default.nix +++ b/hosts/elara/default.nix @@ -27,6 +27,7 @@ ../common/configs/system/nix-cleanup ../common/configs/system/nix-install ../common/configs/system/nix-ld + ../common/configs/system/nix-update ../common/configs/system/nixpkgs ../common/configs/system/ntp ../common/configs/system/pipewire diff --git a/hosts/elara/hardware/sas/display.nix b/hosts/elara/hardware/sas/display.nix index 4735b65..ddf6c7a 100644 --- a/hosts/elara/hardware/sas/display.nix +++ b/hosts/elara/hardware/sas/display.nix @@ -7,7 +7,7 @@ wayland.windowManager.hyprland.settings.monitor = "eDP-1, 1920x1200@60, 0x0, 1"; programs = { - vscode.userSettings."window.zoomLevel" = (1.25 - 1) / 0.2; + vscode.profiles.default.userSettings."window.zoomLevel" = (1.25 - 1) / 0.2; obs-studio.resolution = { base = { diff --git a/hosts/elara/users/nikara/configs/console/jsonify/default.nix b/hosts/elara/users/nikara/configs/console/jsonify/default.nix deleted file mode 100644 index b2ea85d..0000000 --- a/hosts/elara/users/nikara/configs/console/jsonify/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - user ? throw "user argument is required", - home ? throw "home argument is required", -}: -{ pkgs, ... }: -{ - home-manager.users.${user}.home.packages = [ (pkgs.callPackage ./package.nix { }) ]; -} diff --git a/hosts/elara/users/nikara/configs/console/jsonify/package.nix b/hosts/elara/users/nikara/configs/console/jsonify/package.nix deleted file mode 100644 index 27565f6..0000000 --- a/hosts/elara/users/nikara/configs/console/jsonify/package.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ pkgs, ... }: -pkgs.buildGoModule rec { - pname = "jsonify"; - version = "0.1.6"; - - src = fetchGit { - url = "git@github.com:sas-institute-rnd-internal/polaris-jsonify.git"; - ref = "main"; - rev = "7b8f8a0f0b3c1bbfb7f814c5a3dae5f696ca38e3"; - }; - - vendorHash = "sha256-sJ3Jc7ZC+1s3m5nH6WtXsGVZfLEW7CZAcNtstUpc9M4="; - - preBuild = '' - rm -rf sage - ''; - - installPhase = '' - mkdir -p $out/bin - cp "$GOPATH/bin/polaris-jsonify" $out/bin/jsonify - ''; -} diff --git a/hosts/elara/users/nikara/configs/console/klog/default.nix b/hosts/elara/users/nikara/configs/console/klog/default.nix deleted file mode 100644 index b2ea85d..0000000 --- a/hosts/elara/users/nikara/configs/console/klog/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - user ? throw "user argument is required", - home ? throw "home argument is required", -}: -{ pkgs, ... }: -{ - home-manager.users.${user}.home.packages = [ (pkgs.callPackage ./package.nix { }) ]; -} diff --git a/hosts/elara/users/nikara/configs/console/klog/package.nix b/hosts/elara/users/nikara/configs/console/klog/package.nix deleted file mode 100644 index acadd26..0000000 --- a/hosts/elara/users/nikara/configs/console/klog/package.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ pkgs, ... }: -pkgs.buildGoModule rec { - pname = "klog"; - version = "0.6.2"; - - src = fetchGit { - url = "git@gitlab.sas.com:convoy/devops/klog.git"; - ref = "master"; - rev = "17629fe278dd23e12bd6f17ee9db0d2fde37bc6c"; - }; - - vendorHash = "sha256-nYlJhGe1Jd3/ct0XpTdMqbgnnoYM0dqVVVfr9nVsu4o="; - - patches = [ ./remove-version-flag.patch ]; - - preBuild = '' - export GOPROXY="goproxy.unx.sas.com" - export GONOSUMDB="*.sas.com,sassoftware.io" - ''; -} diff --git a/hosts/elara/users/nikara/configs/console/klog/remove-version-flag.patch b/hosts/elara/users/nikara/configs/console/klog/remove-version-flag.patch deleted file mode 100644 index 158785f..0000000 --- a/hosts/elara/users/nikara/configs/console/klog/remove-version-flag.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/main.go b/main.go -index 6fee5d3..a8d45dd 100644 ---- a/main.go -+++ b/main.go -@@ -5,7 +5,6 @@ import ( - "flag" - "fmt" - "os" -- "runtime" - "strings" - "time" - -@@ -27,20 +26,8 @@ func main() { - flag.StringVar(&f, "format", "term", "Log output format (one of json|pretty|yaml|line|file|term|logfmt|plain|message|template)") - flag.StringVar(&ml, "l", "trace", "Minimum log level to output (in order, one of trace|debug|info|warn|error|fatal|panic|none|disabled)") - flag.StringVar(&tz, "t", defaultTimeZone, "Timezone to use for formatting log timestamps - One of UTC, Local, or from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones") -- var ver bool -- flag.BoolVar(&ver, "version", false, "Show version information") - flag.Parse() - -- if ver { -- fmt.Printf("Copyright © 2021, SAS Institute Inc., Cary, NC, USA. All Rights Reserved.\n"+ -- "Command - %s\n"+ -- "Version - %s+%s\n"+ -- "Build Date - %s\n"+ -- "Compiler - %s %s/%s\n", -- "klog", BuildVersion, BuildCommit, BuildDate, runtime.Version(), runtime.GOOS, runtime.GOARCH) -- os.Exit(0) -- } -- - lf, ok := log.Formatters[f] - if !ok { - fmt.Fprintf(os.Stderr, "invalid value for format: [%s] - must be one of json|pretty|yaml|line|file|term|logfmt|plain|message|template", f) diff --git a/hosts/elara/users/nikara/configs/console/viya-ark/default.nix b/hosts/elara/users/nikara/configs/console/viya-ark/default.nix deleted file mode 100644 index b2ea85d..0000000 --- a/hosts/elara/users/nikara/configs/console/viya-ark/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - user ? throw "user argument is required", - home ? throw "home argument is required", -}: -{ pkgs, ... }: -{ - home-manager.users.${user}.home.packages = [ (pkgs.callPackage ./package.nix { }) ]; -} diff --git a/hosts/elara/users/nikara/configs/console/viya4-ark/default.nix b/hosts/elara/users/nikara/configs/console/viya4-ark/default.nix new file mode 100644 index 0000000..c4345cc --- /dev/null +++ b/hosts/elara/users/nikara/configs/console/viya4-ark/default.nix @@ -0,0 +1,16 @@ +{ + user ? throw "user argument is required", + home ? throw "home argument is required", +}: +{ + inputs, + pkgs, + system, + ... +}: +let + selfPkgs = inputs.self.packages.${system}; +in +{ + home-manager.users.${user}.home.packages = [ selfPkgs.viya4-ark ]; +} diff --git a/hosts/elara/users/nikara/configs/console/viya-orders-cli/default.nix b/hosts/elara/users/nikara/configs/console/viya4-orders-cli/default.nix similarity index 82% rename from hosts/elara/users/nikara/configs/console/viya-orders-cli/default.nix rename to hosts/elara/users/nikara/configs/console/viya4-orders-cli/default.nix index 3ad44d0..53583e0 100644 --- a/hosts/elara/users/nikara/configs/console/viya-orders-cli/default.nix +++ b/hosts/elara/users/nikara/configs/console/viya4-orders-cli/default.nix @@ -2,8 +2,15 @@ user ? throw "user argument is required", home ? throw "home argument is required", }: -{ config, pkgs, ... }: +{ + config, + inputs, + pkgs, + system, + ... +}: let + selfPkgs = inputs.self.packages.${system}; hmConfig = config.home-manager.users.${user}; in { @@ -13,7 +20,7 @@ in "viya/orders-api/secret".sopsFile = ../../../../../../../secrets/sas/secrets.yaml; }; - home.packages = [ (pkgs.callPackage ./package.nix { }) ]; + home.packages = [ selfPkgs.viya4-orders-cli ]; xdg.configFile."viya4-orders-cli/config.yaml".source = (pkgs.formats.yaml { }).generate "config.yaml" diff --git a/hosts/elara/users/nikara/default.nix b/hosts/elara/users/nikara/default.nix index 9ce1462..13455f7 100644 --- a/hosts/elara/users/nikara/default.nix +++ b/hosts/elara/users/nikara/default.nix @@ -82,14 +82,14 @@ in (import ./configs/console/kubernetes { inherit user home; }) (import ./configs/console/podman { inherit user home; }) (import ./configs/console/ssh { inherit user home; }) + (import ./configs/console/viya4-ark { inherit user home; }) + (import ./configs/console/viya4-orders-cli { inherit user home; }) (import ./configs/gui/obsidian { inherit user home; }) (import ./configs/gui/vscode { inherit user home; }) # Private Imports (import ./configs/console/sage { inherit user home; }) - (import ./configs/console/viya-ark { inherit user home; }) - (import ./configs/console/viya-orders-cli { inherit user home; }) ]; # echo "password" | mkpasswd -s diff --git a/hosts/installer/default.nix b/hosts/installer/default.nix index 0a63c14..0e4be27 100644 --- a/hosts/installer/default.nix +++ b/hosts/installer/default.nix @@ -21,6 +21,7 @@ ../common/configs/system/nix-cleanup ../common/configs/system/nix-install ../common/configs/system/nix-ld + ../common/configs/system/nix-update ../common/configs/system/nixpkgs ../common/configs/system/ntp ../common/configs/system/sops diff --git a/lib/default.nix b/lib/default.nix index 6dd8e76..5162a4c 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -1,6 +1,6 @@ { pkgs, ... }: { lib = { - runtime = pkgs.callPackage ./runtime { }; + runtime = import ./runtime { inherit pkgs; }; }; } diff --git a/lib/runtime/default.nix b/lib/runtime/default.nix index 2b6a45b..8c9cbce 100644 --- a/lib/runtime/default.nix +++ b/lib/runtime/default.nix @@ -1,4 +1,4 @@ { pkgs, ... }: { - merge = pkgs.callPackage ./merge { }; + merge = import ./merge { inherit pkgs; }; } diff --git a/lib/runtime/merge/default.nix b/lib/runtime/merge/default.nix index b94869b..b95d472 100644 --- a/lib/runtime/merge/default.nix +++ b/lib/runtime/merge/default.nix @@ -1,6 +1,6 @@ -{ lib, pkgs, ... }: +{ pkgs, ... }: { - keyValue = lib.meta.getExe ( + keyValue = "${ pkgs.writeShellApplication { name = "merge-key-value"; runtimeInputs = with pkgs; [ @@ -9,5 +9,5 @@ ]; text = builtins.readFile ./key-value.sh; } - ); + }/bin/merge-key-value"; } diff --git a/lib/scripts/add-host.sh b/lib/scripts/add-host.sh index 03a89eb..d4758c0 100755 --- a/lib/scripts/add-host.sh +++ b/lib/scripts/add-host.sh @@ -1,5 +1,4 @@ -#!/usr/bin/env -S nix shell nixpkgs#ssh-to-age nixpkgs#age nixpkgs#sops -c bash -# shellcheck shell=bash +#!/usr/bin/env bash set -o errexit set -o nounset diff --git a/lib/scripts/remove-host.sh b/lib/scripts/remove-host.sh index 3f44841..bea931e 100755 --- a/lib/scripts/remove-host.sh +++ b/lib/scripts/remove-host.sh @@ -1,5 +1,4 @@ -#!/usr/bin/env -S nix shell nixpkgs#ssh-to-age -c bash -# shellcheck shell=bash +#!/usr/bin/env bash set -o errexit set -o nounset diff --git a/lib/scripts/update-keys.sh b/lib/scripts/update-keys.sh index 76120d7..6d38470 100755 --- a/lib/scripts/update-keys.sh +++ b/lib/scripts/update-keys.sh @@ -1,5 +1,4 @@ -#!/usr/bin/env -S nix shell nixpkgs#sops -c bash -# shellcheck shell=bash +#!/usr/bin/env bash set -o errexit set -o nounset diff --git a/lib/scripts/update.sh b/lib/scripts/update.sh index daf7af8..3268795 100755 --- a/lib/scripts/update.sh +++ b/lib/scripts/update.sh @@ -4,28 +4,30 @@ set -o errexit set -o nounset set -o pipefail +echo "Updating submodules..." + paths=$(git config --file .gitmodules --name-only --get-regexp path | while read -r line; do - path=$(git config --file .gitmodules --get "${line}") + path=$(git config --file .gitmodules --get "$line") url=$(git config --file .gitmodules --get "${line%.*}.url") - if [[ ${url} == *"karaolidis"* ]]; then - echo "${path}" + if [[ $url == *"karaolidis"* ]]; then + echo "$path" fi done) -for path in ${paths}; do - echo "Processing submodule: ${path}" +for path in $paths; do + echo "Processing submodule: $path" - cd "${path}" || exit + cd "$path" || exit default_branch=$(git remote show origin | awk '/HEAD branch/ {print $NF}') - git checkout "${default_branch}" + git checkout "$default_branch" git fetch upstream - git merge "upstream/${default_branch}" + git merge "upstream/$default_branch" branches=$(git for-each-ref --format='%(refname:short)' refs/heads/ | grep -v "^${default_branch}$") - for branch in ${branches}; do - git checkout "${branch}" - git rebase "${default_branch}" + for branch in $branches; do + git checkout "$branch" + git rebase "$default_branch" done git checkout integration @@ -37,4 +39,16 @@ done echo "All submodules updated successfully." +echo "Updating packages..." + +find packages -type f -name "*.nix" | while read -r file; do + update_command=$(grep -oP '^#\s*AUTO-UPDATE:\s*\K.+' "$file" || true) + if [[ -n "$update_command" ]]; then + echo "Running update command in: $file" + eval "$update_command" + fi +done + +echo "All packages updated successfully." + nix flake update diff --git a/packages/darktable/ghost-cms-publish/default.nix b/packages/darktable/ghost-cms-publish/default.nix new file mode 100644 index 0000000..6252937 --- /dev/null +++ b/packages/darktable/ghost-cms-publish/default.nix @@ -0,0 +1,38 @@ +{ pkgs, ... }: +# AUTO-UPDATE: nix-update --flake --version=branch=main darktable-ghost-cms-publish --subpackage npmSrc +pkgs.stdenv.mkDerivation rec { + pname = "darktable-ghost-cms-publish"; + version = "0-unstable-2025-02-23"; + + src = pkgs.fetchFromGitLab { + domain = "git.karaolidis.com"; + owner = "karaolidis"; + repo = pname; + rev = "26780273b2a093c6e6a3140d0220d252f0bc709e"; + hash = "sha256-5aoGkqxMyvyK8EDsSE6kZa+dpExxVH2GRx2n87VusKE="; + }; + + npmSrc = pkgs.buildNpmPackage ({ + inherit src pname version; + npmDepsHash = "sha256-K/x9ZEMNO8D+SkvVPfqVJtZaDXY5gDApRRocg/POY68="; + dontNpmBuild = true; + installPhase = '' + cp -r . $out + ''; + }); + + # FIXME: https://github.com/NixOS/nixpkgs/issues/255890 + wrapper = pkgs.writeShellApplication { + name = pname; + runtimeInputs = with pkgs; [ bun ]; + text = '' + bun ${npmSrc}/src/index.ts "$@" + ''; + }; + + installPhase = '' + mkdir -p $out/bin $out/lib/${pname} + cp publish.lua $out/lib/${pname}/ + cp ${wrapper}/bin/${pname} $out/bin/ + ''; +} diff --git a/packages/darktable/hald-clut/default.nix b/packages/darktable/hald-clut/default.nix new file mode 100644 index 0000000..efc8b0b --- /dev/null +++ b/packages/darktable/hald-clut/default.nix @@ -0,0 +1,17 @@ +{ pkgs, ... }: +# AUTO-UPDATE: nix-update --flake --version=branch=master darktable-hald-clut +pkgs.stdenv.mkDerivation rec { + pname = "darktable-hald-clut"; + version = "0-unstable-2019-03-21"; + + src = pkgs.fetchFromGitHub { + owner = "cedeber"; + repo = "hald-clut"; + rev = "3b3180f82d4dcea1e6e8c5648473539a910d7f49"; + hash = "sha256-R8vyYmcsfk49QsSV3v0QblXcO6U0oIfDyxbHPLwSMdo="; + }; + + installPhase = '' + cp -r HaldCLUT/. $out + ''; +} diff --git a/packages/darktable/lua-scripts/default.nix b/packages/darktable/lua-scripts/default.nix new file mode 100644 index 0000000..9228047 --- /dev/null +++ b/packages/darktable/lua-scripts/default.nix @@ -0,0 +1,17 @@ +{ pkgs, ... }: +# AUTO-UPDATE: nix-update --flake --version=branch=master darktable-lua-scripts +pkgs.stdenv.mkDerivation rec { + pname = "darktable-lua-scripts"; + version = "release-2.0.0-unstable-2025-02-16"; + + src = pkgs.fetchFromGitHub { + owner = "darktable-org"; + repo = "lua-scripts"; + rev = "926272b1cd338a22fbe421d41a966bd8a8ba4575"; + hash = "sha256-lU1UkCEqaf2l76un3phOX5o2ypkff8v+i54krq9N1hk="; + }; + + installPhase = '' + cp -r $src $out + ''; +} diff --git a/packages/default.nix b/packages/default.nix new file mode 100644 index 0000000..f696691 --- /dev/null +++ b/packages/default.nix @@ -0,0 +1,31 @@ +{ pkgs, ... }: +{ + darktable-ghost-cms-publish = import ./darktable/ghost-cms-publish { inherit pkgs; }; + darktable-hald-clut = import ./darktable/hald-clut { inherit pkgs; }; + darktable-lua-scripts = import ./darktable/lua-scripts { inherit pkgs; }; + + obsidian-plugin-better-word-count = import ./obsidian/plugins/better-word-count { inherit pkgs; }; + obsidian-plugin-custom-sort = import ./obsidian/plugins/custom-sort { inherit pkgs; }; + obsidian-plugin-dataview = import ./obsidian/plugins/dataview { inherit pkgs; }; + obsidian-plugin-excalidraw = import ./obsidian/plugins/excalidraw { inherit pkgs; }; + obsidian-plugin-folder-note = import ./obsidian/plugins/folder-note { inherit pkgs; }; + obsidian-plugin-kanban = import ./obsidian/plugins/kanban { inherit pkgs; }; + obsidian-plugin-languagetool = import ./obsidian/plugins/languagetool { inherit pkgs; }; + obsidian-plugin-linter = import ./obsidian/plugins/linter { inherit pkgs; }; + obsidian-plugin-map-view = import ./obsidian/plugins/map-view { inherit pkgs; }; + obsidian-plugin-minimal-settings = import ./obsidian/plugins/minimal-settings { inherit pkgs; }; + obsidian-plugin-outliner = import ./obsidian/plugins/outliner { inherit pkgs; }; + obsidian-plugin-read-it-later = import ./obsidian/plugins/read-it-later { inherit pkgs; }; + obsidian-plugin-style-settings = import ./obsidian/plugins/style-settings { inherit pkgs; }; + obsidian-plugin-tasks = import ./obsidian/plugins/tasks { inherit pkgs; }; + obsidian-plugin-url-into-selection = import ./obsidian/plugins/url-into-selection { inherit pkgs; }; + + obsidian-theme-minimal = import ./obsidian/themes/minimal { inherit pkgs; }; + + # SAS + viya4-ark = import ./sas/viya4-ark { inherit pkgs; }; + viya4-orders-cli = import ./sas/viya4-orders-cli { inherit pkgs; }; + + # SAS Private + sage = import ./sas/sage { inherit pkgs; }; +} diff --git a/hosts/common/configs/user/gui/obsidian/config/plugins/better-word-count/default.nix b/packages/obsidian/plugins/better-word-count/default.nix similarity index 56% rename from hosts/common/configs/user/gui/obsidian/config/plugins/better-word-count/default.nix rename to packages/obsidian/plugins/better-word-count/default.nix index a896877..f7753ec 100644 --- a/hosts/common/configs/user/gui/obsidian/config/plugins/better-word-count/default.nix +++ b/packages/obsidian/plugins/better-word-count/default.nix @@ -1,21 +1,20 @@ { pkgs, ... }: +# AUTO-UPDATE: nix-update --flake obsidian-plugin-better-word-count pkgs.buildNpmPackage rec { - pname = "obsidian.plugins.better-word-count"; + pname = "obsidian-plugin-better-word-count"; version = "0.10.1"; src = pkgs.fetchFromGitHub { - owner = "karaolidis"; - rev = "8ff00d7e9aed03d8cf38215b742a2a2251cc2ea2"; - # owner = "lukeleppan"; + owner = "lukeleppan"; repo = "better-word-count"; - # rev = version; - hash = "sha256-wA0vycuUHr7icgAJ/d85j3bbwqlefXnSyRUXgCmqyOE="; + rev = version; + hash = "sha256-qyuZIcZHsUfyUMboE8GP26dIeo37fzhYuGccfQYffL4="; }; patches = [ ./package-lock.patch ]; - makeCacheWritable = true; - npmDepsHash = "sha256-K+NGIKsSNzGHGcAofsl0WcNsTFt/y38zUdGUZL013xg="; + makeCacheWritable = true; + npmDepsHash = "sha256-2ZIgaMn6esSmB0lg4x42ueg+AFO+UmYbI1NCsxZQr+8="; npmPackFlags = [ "--ignore-scripts" ]; installPhase = '' diff --git a/packages/obsidian/plugins/better-word-count/package-lock.patch b/packages/obsidian/plugins/better-word-count/package-lock.patch new file mode 100644 index 0000000..1905760 --- /dev/null +++ b/packages/obsidian/plugins/better-word-count/package-lock.patch @@ -0,0 +1,1559 @@ +diff --git a/.gitignore b/.gitignore +index b7925c3..a300d8b 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -7,7 +7,6 @@ + + # npm + node_modules +-package-lock.json + + # build + main.js +diff --git a/package-lock.json b/package-lock.json +new file mode 100644 +index 0000000..b183cbf +--- /dev/null ++++ b/package-lock.json +@@ -0,0 +1,1519 @@ ++{ ++ "name": "better-word-count", ++ "version": "0.10.1", ++ "lockfileVersion": 3, ++ "requires": true, ++ "packages": { ++ "": { ++ "name": "better-word-count", ++ "version": "0.10.1", ++ "license": "MIT", ++ "dependencies": { ++ "chart.js": "^4.3.0", ++ "svelte": "^3.38.3", ++ "svelte-icons": "^2.1.0" ++ }, ++ "devDependencies": { ++ "@codemirror/commands": "^6.1.2", ++ "@codemirror/language": "github:karaolidis/cm-language#package-lock", ++ "@codemirror/search": "^6.2.2", ++ "@codemirror/state": "^6.1.2", ++ "@codemirror/view": "^6.4.0", ++ "@rollup/plugin-commonjs": "^15.1.0", ++ "@rollup/plugin-node-resolve": "^9.0.0", ++ "@rollup/plugin-typescript": "^6.0.0", ++ "@tsconfig/svelte": "^1.0.13", ++ "@types/node": "^14.17.3", ++ "obsidian": "^1.6.6", ++ "rollup": "^2.32.1", ++ "rollup-plugin-copy": "^3.3.0", ++ "rollup-plugin-svelte": "^7.1.0", ++ "svelte-check": "^2.2.0", ++ "svelte-preprocess": "^4.7.3", ++ "ts-node": "^9.1.1", ++ "tslib": "^2.0.3", ++ "typescript": "^4.0.3" ++ } ++ }, ++ "node_modules/@codemirror/commands": { ++ "version": "6.6.0", ++ "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.6.0.tgz", ++ "integrity": "sha512-qnY+b7j1UNcTS31Eenuc/5YJB6gQOzkUoNmJQc0rznwqSRpeaWWpjkWy2C/MPTcePpsKJEM26hXrOXl1+nceXg==", ++ "dev": true, ++ "dependencies": { ++ "@codemirror/language": "^6.0.0", ++ "@codemirror/state": "^6.4.0", ++ "@codemirror/view": "^6.27.0", ++ "@lezer/common": "^1.1.0" ++ } ++ }, ++ "node_modules/@codemirror/language": { ++ "version": "6.10.1", ++ "resolved": "git+ssh://git@github.com/karaolidis/cm-language.git#d6238f0a9e17e20d604cee67a47d3a93b00dd41c", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "@codemirror/state": "^6.0.0", ++ "@codemirror/view": "^6.23.0", ++ "@lezer/common": "^1.1.0", ++ "@lezer/highlight": "^1.0.0", ++ "@lezer/lr": "^1.0.0", ++ "style-mod": "^4.0.0" ++ } ++ }, ++ "node_modules/@codemirror/search": { ++ "version": "6.5.6", ++ "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.6.tgz", ++ "integrity": "sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==", ++ "dev": true, ++ "dependencies": { ++ "@codemirror/state": "^6.0.0", ++ "@codemirror/view": "^6.0.0", ++ "crelt": "^1.0.5" ++ } ++ }, ++ "node_modules/@codemirror/state": { ++ "version": "6.4.1", ++ "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.4.1.tgz", ++ "integrity": "sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==", ++ "dev": true ++ }, ++ "node_modules/@codemirror/view": { ++ "version": "6.28.5", ++ "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.28.5.tgz", ++ "integrity": "sha512-NkUtfUa1lV7Jqg5DfHE/uLl7jKyoymDkaueMQXzePYuezL7FwX3ATANy74iAGlHCGe25hBGB0R+I5dC5EZ5JBg==", ++ "dev": true, ++ "dependencies": { ++ "@codemirror/state": "^6.4.0", ++ "style-mod": "^4.1.0", ++ "w3c-keyname": "^2.2.4" ++ } ++ }, ++ "node_modules/@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, ++ "engines": { ++ "node": ">=6.0.0" ++ } ++ }, ++ "node_modules/@jridgewell/sourcemap-codec": { ++ "version": "1.5.0", ++ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", ++ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", ++ "dev": true ++ }, ++ "node_modules/@jridgewell/trace-mapping": { ++ "version": "0.3.25", ++ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", ++ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", ++ "dev": true, ++ "dependencies": { ++ "@jridgewell/resolve-uri": "^3.1.0", ++ "@jridgewell/sourcemap-codec": "^1.4.14" ++ } ++ }, ++ "node_modules/@kurkle/color": { ++ "version": "0.3.2", ++ "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz", ++ "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==" ++ }, ++ "node_modules/@lezer/common": { ++ "version": "1.2.1", ++ "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz", ++ "integrity": "sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==", ++ "dev": true ++ }, ++ "node_modules/@lezer/highlight": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.0.tgz", ++ "integrity": "sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==", ++ "dev": true, ++ "dependencies": { ++ "@lezer/common": "^1.0.0" ++ } ++ }, ++ "node_modules/@lezer/lr": { ++ "version": "1.4.1", ++ "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.1.tgz", ++ "integrity": "sha512-CHsKq8DMKBf9b3yXPDIU4DbH+ZJd/sJdYOW2llbW/HudP5u0VS6Bfq1hLYfgU7uAYGFIyGGQIsSOXGPEErZiJw==", ++ "dev": true, ++ "dependencies": { ++ "@lezer/common": "^1.0.0" ++ } ++ }, ++ "node_modules/@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, ++ "dependencies": { ++ "@nodelib/fs.stat": "2.0.5", ++ "run-parallel": "^1.1.9" ++ }, ++ "engines": { ++ "node": ">= 8" ++ } ++ }, ++ "node_modules/@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, ++ "engines": { ++ "node": ">= 8" ++ } ++ }, ++ "node_modules/@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, ++ "dependencies": { ++ "@nodelib/fs.scandir": "2.1.5", ++ "fastq": "^1.6.0" ++ }, ++ "engines": { ++ "node": ">= 8" ++ } ++ }, ++ "node_modules/@rollup/plugin-commonjs": { ++ "version": "15.1.0", ++ "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-15.1.0.tgz", ++ "integrity": "sha512-xCQqz4z/o0h2syQ7d9LskIMvBSH4PX5PjYdpSSvgS+pQik3WahkQVNWg3D8XJeYjZoVWnIUQYDghuEMRGrmQYQ==", ++ "dev": true, ++ "dependencies": { ++ "@rollup/pluginutils": "^3.1.0", ++ "commondir": "^1.0.1", ++ "estree-walker": "^2.0.1", ++ "glob": "^7.1.6", ++ "is-reference": "^1.2.1", ++ "magic-string": "^0.25.7", ++ "resolve": "^1.17.0" ++ }, ++ "engines": { ++ "node": ">= 8.0.0" ++ }, ++ "peerDependencies": { ++ "rollup": "^2.22.0" ++ } ++ }, ++ "node_modules/@rollup/plugin-node-resolve": { ++ "version": "9.0.0", ++ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz", ++ "integrity": "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==", ++ "dev": true, ++ "dependencies": { ++ "@rollup/pluginutils": "^3.1.0", ++ "@types/resolve": "1.17.1", ++ "builtin-modules": "^3.1.0", ++ "deepmerge": "^4.2.2", ++ "is-module": "^1.0.0", ++ "resolve": "^1.17.0" ++ }, ++ "engines": { ++ "node": ">= 10.0.0" ++ }, ++ "peerDependencies": { ++ "rollup": "^1.20.0||^2.0.0" ++ } ++ }, ++ "node_modules/@rollup/plugin-typescript": { ++ "version": "6.1.0", ++ "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-6.1.0.tgz", ++ "integrity": "sha512-hJxaiE6WyNOsK+fZpbFh9CUijZYqPQuAOWO5khaGTUkM8DYNNyA2TDlgamecE+qLOG1G1+CwbWMAx3rbqpp6xQ==", ++ "dev": true, ++ "dependencies": { ++ "@rollup/pluginutils": "^3.1.0", ++ "resolve": "^1.17.0" ++ }, ++ "engines": { ++ "node": ">=8.0.0" ++ }, ++ "peerDependencies": { ++ "rollup": "^2.14.0", ++ "tslib": "*", ++ "typescript": ">=3.4.0" ++ } ++ }, ++ "node_modules/@rollup/pluginutils": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", ++ "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", ++ "dev": true, ++ "dependencies": { ++ "@types/estree": "0.0.39", ++ "estree-walker": "^1.0.1", ++ "picomatch": "^2.2.2" ++ }, ++ "engines": { ++ "node": ">= 8.0.0" ++ }, ++ "peerDependencies": { ++ "rollup": "^1.20.0||^2.0.0" ++ } ++ }, ++ "node_modules/@rollup/pluginutils/node_modules/estree-walker": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", ++ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", ++ "dev": true ++ }, ++ "node_modules/@tsconfig/svelte": { ++ "version": "1.0.13", ++ "resolved": "https://registry.npmjs.org/@tsconfig/svelte/-/svelte-1.0.13.tgz", ++ "integrity": "sha512-5lYJP45Xllo4yE/RUBccBT32eBlRDbqN8r1/MIvQbKxW3aFqaYPCNgm8D5V20X4ShHcwvYWNlKg3liDh1MlBoA==", ++ "dev": true ++ }, ++ "node_modules/@types/codemirror": { ++ "version": "5.60.8", ++ "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.8.tgz", ++ "integrity": "sha512-VjFgDF/eB+Aklcy15TtOTLQeMjTo07k7KAjql8OK5Dirr7a6sJY4T1uVBDuTVG9VEmn1uUsohOpYnVfgC6/jyw==", ++ "dev": true, ++ "dependencies": { ++ "@types/tern": "*" ++ } ++ }, ++ "node_modules/@types/estree": { ++ "version": "0.0.39", ++ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", ++ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", ++ "dev": true ++ }, ++ "node_modules/@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, ++ "dependencies": { ++ "@types/node": "*" ++ } ++ }, ++ "node_modules/@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, ++ "dependencies": { ++ "@types/minimatch": "*", ++ "@types/node": "*" ++ } ++ }, ++ "node_modules/@types/minimatch": { ++ "version": "5.1.2", ++ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", ++ "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", ++ "dev": true ++ }, ++ "node_modules/@types/node": { ++ "version": "14.18.63", ++ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", ++ "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==", ++ "dev": true ++ }, ++ "node_modules/@types/pug": { ++ "version": "2.0.10", ++ "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.10.tgz", ++ "integrity": "sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==", ++ "dev": true ++ }, ++ "node_modules/@types/resolve": { ++ "version": "1.17.1", ++ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", ++ "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", ++ "dev": true, ++ "dependencies": { ++ "@types/node": "*" ++ } ++ }, ++ "node_modules/@types/sass": { ++ "version": "1.45.0", ++ "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.45.0.tgz", ++ "integrity": "sha512-jn7qwGFmJHwUSphV8zZneO3GmtlgLsmhs/LQyVvQbIIa+fzGMUiHI4HXJZL3FT8MJmgXWbLGiVVY7ElvHq6vDA==", ++ "deprecated": "This is a stub types definition. sass provides its own type definitions, so you do not need this installed.", ++ "dev": true, ++ "dependencies": { ++ "sass": "*" ++ } ++ }, ++ "node_modules/@types/tern": { ++ "version": "0.23.9", ++ "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.9.tgz", ++ "integrity": "sha512-ypzHFE/wBzh+BlH6rrBgS5I/Z7RD21pGhZ2rltb/+ZrVM1awdZwjx7hE5XfuYgHWk9uvV5HLZN3SloevCAp3Bw==", ++ "dev": true, ++ "dependencies": { ++ "@types/estree": "*" ++ } ++ }, ++ "node_modules/anymatch": { ++ "version": "3.1.3", ++ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", ++ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", ++ "dev": true, ++ "dependencies": { ++ "normalize-path": "^3.0.0", ++ "picomatch": "^2.0.4" ++ }, ++ "engines": { ++ "node": ">= 8" ++ } ++ }, ++ "node_modules/arg": { ++ "version": "4.1.3", ++ "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", ++ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", ++ "dev": true ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/binary-extensions": { ++ "version": "2.3.0", ++ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", ++ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/brace-expansion": { ++ "version": "1.1.11", ++ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", ++ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", ++ "dev": true, ++ "dependencies": { ++ "balanced-match": "^1.0.0", ++ "concat-map": "0.0.1" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "fill-range": "^7.1.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/buffer-crc32": { ++ "version": "0.2.13", ++ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", ++ "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", ++ "dev": true, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/builtin-modules": { ++ "version": "3.3.0", ++ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", ++ "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", ++ "dev": true, ++ "engines": { ++ "node": ">=6" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/callsites": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", ++ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", ++ "dev": true, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/chart.js": { ++ "version": "4.4.3", ++ "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.3.tgz", ++ "integrity": "sha512-qK1gkGSRYcJzqrrzdR6a+I0vQ4/R+SoODXyAjscQ/4mzuNzySaMCd+hyVxitSY1+L2fjPD1Gbn+ibNqRmwQeLw==", ++ "dependencies": { ++ "@kurkle/color": "^0.3.0" ++ }, ++ "engines": { ++ "pnpm": ">=8" ++ } ++ }, ++ "node_modules/chokidar": { ++ "version": "3.6.0", ++ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", ++ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", ++ "dev": true, ++ "dependencies": { ++ "anymatch": "~3.1.2", ++ "braces": "~3.0.2", ++ "glob-parent": "~5.1.2", ++ "is-binary-path": "~2.1.0", ++ "is-glob": "~4.0.1", ++ "normalize-path": "~3.0.0", ++ "readdirp": "~3.6.0" ++ }, ++ "engines": { ++ "node": ">= 8.10.0" ++ }, ++ "funding": { ++ "url": "https://paulmillr.com/funding/" ++ }, ++ "optionalDependencies": { ++ "fsevents": "~2.3.2" ++ } ++ }, ++ "node_modules/colorette": { ++ "version": "1.4.0", ++ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", ++ "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", ++ "dev": true ++ }, ++ "node_modules/commondir": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", ++ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", ++ "dev": true ++ }, ++ "node_modules/concat-map": { ++ "version": "0.0.1", ++ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", ++ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", ++ "dev": true ++ }, ++ "node_modules/create-require": { ++ "version": "1.1.1", ++ "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", ++ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", ++ "dev": true ++ }, ++ "node_modules/crelt": { ++ "version": "1.0.6", ++ "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", ++ "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==", ++ "dev": true ++ }, ++ "node_modules/deepmerge": { ++ "version": "4.3.1", ++ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", ++ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/detect-indent": { ++ "version": "6.1.0", ++ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", ++ "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/diff": { ++ "version": "4.0.2", ++ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", ++ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.3.1" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "path-type": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/es6-promise": { ++ "version": "3.3.1", ++ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", ++ "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", ++ "dev": true ++ }, ++ "node_modules/estree-walker": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", ++ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", ++ "dev": true ++ }, ++ "node_modules/fast-glob": { ++ "version": "3.3.2", ++ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", ++ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", ++ "dev": true, ++ "dependencies": { ++ "@nodelib/fs.stat": "^2.0.2", ++ "@nodelib/fs.walk": "^1.2.3", ++ "glob-parent": "^5.1.2", ++ "merge2": "^1.3.0", ++ "micromatch": "^4.0.4" ++ }, ++ "engines": { ++ "node": ">=8.6.0" ++ } ++ }, ++ "node_modules/fastq": { ++ "version": "1.17.1", ++ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", ++ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", ++ "dev": true, ++ "dependencies": { ++ "reusify": "^1.0.4" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "to-regex-range": "^5.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "graceful-fs": "^4.2.0", ++ "jsonfile": "^4.0.0", ++ "universalify": "^0.1.0" ++ }, ++ "engines": { ++ "node": ">=6 <7 || >=8" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/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, ++ "funding": { ++ "url": "https://github.com/sponsors/ljharb" ++ } ++ }, ++ "node_modules/glob": { ++ "version": "7.2.3", ++ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", ++ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", ++ "deprecated": "Glob versions prior to v9 are no longer supported", ++ "dev": true, ++ "dependencies": { ++ "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" ++ }, ++ "engines": { ++ "node": "*" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/isaacs" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "is-glob": "^4.0.1" ++ }, ++ "engines": { ++ "node": ">= 6" ++ } ++ }, ++ "node_modules/globby": { ++ "version": "10.0.1", ++ "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", ++ "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", ++ "dev": true, ++ "dependencies": { ++ "@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" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/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==", ++ "dev": true ++ }, ++ "node_modules/hasown": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", ++ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", ++ "dev": true, ++ "dependencies": { ++ "function-bind": "^1.1.2" ++ }, ++ "engines": { ++ "node": ">= 0.4" ++ } ++ }, ++ "node_modules/ignore": { ++ "version": "5.3.1", ++ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", ++ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", ++ "dev": true, ++ "engines": { ++ "node": ">= 4" ++ } ++ }, ++ "node_modules/immutable": { ++ "version": "4.3.6", ++ "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz", ++ "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==", ++ "dev": true ++ }, ++ "node_modules/import-fresh": { ++ "version": "3.3.0", ++ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", ++ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", ++ "dev": true, ++ "dependencies": { ++ "parent-module": "^1.0.0", ++ "resolve-from": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/inflight": { ++ "version": "1.0.6", ++ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", ++ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", ++ "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", ++ "dev": true, ++ "dependencies": { ++ "once": "^1.3.0", ++ "wrappy": "1" ++ } ++ }, ++ "node_modules/inherits": { ++ "version": "2.0.4", ++ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", ++ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", ++ "dev": true ++ }, ++ "node_modules/is-binary-path": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", ++ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", ++ "dev": true, ++ "dependencies": { ++ "binary-extensions": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/is-core-module": { ++ "version": "2.14.0", ++ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", ++ "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", ++ "dev": true, ++ "dependencies": { ++ "hasown": "^2.0.2" ++ }, ++ "engines": { ++ "node": ">= 0.4" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/ljharb" ++ } ++ }, ++ "node_modules/is-extglob": { ++ "version": "2.1.1", ++ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", ++ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "is-extglob": "^2.1.1" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/is-module": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", ++ "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", ++ "dev": true ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=0.12.0" ++ } ++ }, ++ "node_modules/is-plain-object": { ++ "version": "3.0.1", ++ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz", ++ "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/is-reference": { ++ "version": "1.2.1", ++ "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", ++ "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", ++ "dev": true, ++ "dependencies": { ++ "@types/estree": "*" ++ } ++ }, ++ "node_modules/jsonfile": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", ++ "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", ++ "dev": true, ++ "optionalDependencies": { ++ "graceful-fs": "^4.1.6" ++ } ++ }, ++ "node_modules/magic-string": { ++ "version": "0.25.9", ++ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", ++ "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", ++ "dev": true, ++ "dependencies": { ++ "sourcemap-codec": "^1.4.8" ++ } ++ }, ++ "node_modules/make-error": { ++ "version": "1.3.6", ++ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", ++ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", ++ "dev": true ++ }, ++ "node_modules/merge2": { ++ "version": "1.4.1", ++ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", ++ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", ++ "dev": true, ++ "engines": { ++ "node": ">= 8" ++ } ++ }, ++ "node_modules/micromatch": { ++ "version": "4.0.7", ++ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", ++ "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", ++ "dev": true, ++ "dependencies": { ++ "braces": "^3.0.3", ++ "picomatch": "^2.3.1" ++ }, ++ "engines": { ++ "node": ">=8.6" ++ } ++ }, ++ "node_modules/min-indent": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", ++ "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", ++ "dev": true, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/minimatch": { ++ "version": "3.1.2", ++ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", ++ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", ++ "dev": true, ++ "dependencies": { ++ "brace-expansion": "^1.1.7" ++ }, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/minimist": { ++ "version": "1.2.8", ++ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", ++ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", ++ "dev": true, ++ "funding": { ++ "url": "https://github.com/sponsors/ljharb" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "minimist": "^1.2.6" ++ }, ++ "bin": { ++ "mkdirp": "bin/cmd.js" ++ } ++ }, ++ "node_modules/moment": { ++ "version": "2.29.4", ++ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", ++ "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", ++ "dev": true, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/mri": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", ++ "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", ++ "dev": true, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/normalize-path": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", ++ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/obsidian": { ++ "version": "1.6.6", ++ "resolved": "https://registry.npmjs.org/obsidian/-/obsidian-1.6.6.tgz", ++ "integrity": "sha512-GZHzeOiwmw/wBjB5JwrsxAZBLqxGQmqtEKSvJJvT0LtTcqeOFnV8jv0ZK5kO7hBb44WxJc+LdS7mZgLXbb+qXQ==", ++ "dev": true, ++ "dependencies": { ++ "@types/codemirror": "5.60.8", ++ "moment": "2.29.4" ++ }, ++ "peerDependencies": { ++ "@codemirror/state": "^6.0.0", ++ "@codemirror/view": "^6.0.0" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "wrappy": "1" ++ } ++ }, ++ "node_modules/parent-module": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", ++ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", ++ "dev": true, ++ "dependencies": { ++ "callsites": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/picocolors": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", ++ "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", ++ "dev": true ++ }, ++ "node_modules/picomatch": { ++ "version": "2.3.1", ++ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", ++ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", ++ "dev": true, ++ "engines": { ++ "node": ">=8.6" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/jonschlinkert" ++ } ++ }, ++ "node_modules/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, ++ "funding": [ ++ { ++ "type": "github", ++ "url": "https://github.com/sponsors/feross" ++ }, ++ { ++ "type": "patreon", ++ "url": "https://www.patreon.com/feross" ++ }, ++ { ++ "type": "consulting", ++ "url": "https://feross.org/support" ++ } ++ ] ++ }, ++ "node_modules/readdirp": { ++ "version": "3.6.0", ++ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", ++ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", ++ "dev": true, ++ "dependencies": { ++ "picomatch": "^2.2.1" ++ }, ++ "engines": { ++ "node": ">=8.10.0" ++ } ++ }, ++ "node_modules/resolve": { ++ "version": "1.22.8", ++ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", ++ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", ++ "dev": true, ++ "dependencies": { ++ "is-core-module": "^2.13.0", ++ "path-parse": "^1.0.7", ++ "supports-preserve-symlinks-flag": "^1.0.0" ++ }, ++ "bin": { ++ "resolve": "bin/resolve" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/ljharb" ++ } ++ }, ++ "node_modules/resolve-from": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", ++ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", ++ "dev": true, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/resolve.exports": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", ++ "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", ++ "dev": true, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/reusify": { ++ "version": "1.0.4", ++ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", ++ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", ++ "dev": true, ++ "engines": { ++ "iojs": ">=1.0.0", ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/rimraf": { ++ "version": "2.7.1", ++ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", ++ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", ++ "deprecated": "Rimraf versions prior to v4 are no longer supported", ++ "dev": true, ++ "dependencies": { ++ "glob": "^7.1.3" ++ }, ++ "bin": { ++ "rimraf": "bin.js" ++ } ++ }, ++ "node_modules/rollup": { ++ "version": "2.79.1", ++ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", ++ "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", ++ "dev": true, ++ "bin": { ++ "rollup": "dist/bin/rollup" ++ }, ++ "engines": { ++ "node": ">=10.0.0" ++ }, ++ "optionalDependencies": { ++ "fsevents": "~2.3.2" ++ } ++ }, ++ "node_modules/rollup-plugin-copy": { ++ "version": "3.5.0", ++ "resolved": "https://registry.npmjs.org/rollup-plugin-copy/-/rollup-plugin-copy-3.5.0.tgz", ++ "integrity": "sha512-wI8D5dvYovRMx/YYKtUNt3Yxaw4ORC9xo6Gt9t22kveWz1enG9QrhVlagzwrxSC455xD1dHMKhIJkbsQ7d48BA==", ++ "dev": true, ++ "dependencies": { ++ "@types/fs-extra": "^8.0.1", ++ "colorette": "^1.1.0", ++ "fs-extra": "^8.1.0", ++ "globby": "10.0.1", ++ "is-plain-object": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=8.3" ++ } ++ }, ++ "node_modules/rollup-plugin-svelte": { ++ "version": "7.2.2", ++ "resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-7.2.2.tgz", ++ "integrity": "sha512-hgnIblTRewaBEVQD6N0Q43o+y6q1TmDRhBjaEzQCi50bs8TXqjc+d1zFZyE8tsfgcfNHZQzclh4RxlFUB85H8Q==", ++ "dev": true, ++ "dependencies": { ++ "@rollup/pluginutils": "^4.1.0", ++ "resolve.exports": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "peerDependencies": { ++ "rollup": ">=2.0.0", ++ "svelte": ">=3.5.0" ++ } ++ }, ++ "node_modules/rollup-plugin-svelte/node_modules/@rollup/pluginutils": { ++ "version": "4.2.1", ++ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", ++ "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", ++ "dev": true, ++ "dependencies": { ++ "estree-walker": "^2.0.1", ++ "picomatch": "^2.2.2" ++ }, ++ "engines": { ++ "node": ">= 8.0.0" ++ } ++ }, ++ "node_modules/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, ++ "funding": [ ++ { ++ "type": "github", ++ "url": "https://github.com/sponsors/feross" ++ }, ++ { ++ "type": "patreon", ++ "url": "https://www.patreon.com/feross" ++ }, ++ { ++ "type": "consulting", ++ "url": "https://feross.org/support" ++ } ++ ], ++ "dependencies": { ++ "queue-microtask": "^1.2.2" ++ } ++ }, ++ "node_modules/sade": { ++ "version": "1.8.1", ++ "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", ++ "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", ++ "dev": true, ++ "dependencies": { ++ "mri": "^1.1.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/sander": { ++ "version": "0.5.1", ++ "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz", ++ "integrity": "sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==", ++ "dev": true, ++ "dependencies": { ++ "es6-promise": "^3.1.2", ++ "graceful-fs": "^4.1.3", ++ "mkdirp": "^0.5.1", ++ "rimraf": "^2.5.2" ++ } ++ }, ++ "node_modules/sass": { ++ "version": "1.77.8", ++ "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", ++ "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", ++ "dev": true, ++ "dependencies": { ++ "chokidar": ">=3.0.0 <4.0.0", ++ "immutable": "^4.0.0", ++ "source-map-js": ">=0.6.2 <2.0.0" ++ }, ++ "bin": { ++ "sass": "sass.js" ++ }, ++ "engines": { ++ "node": ">=14.0.0" ++ } ++ }, ++ "node_modules/slash": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", ++ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/sorcery": { ++ "version": "0.10.0", ++ "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.10.0.tgz", ++ "integrity": "sha512-R5ocFmKZQFfSTstfOtHjJuAwbpGyf9qjQa1egyhvXSbM7emjrtLXtGdZsDJDABC85YBfVvrOiGWKSYXPKdvP1g==", ++ "dev": true, ++ "dependencies": { ++ "buffer-crc32": "^0.2.5", ++ "minimist": "^1.2.0", ++ "sander": "^0.5.0", ++ "sourcemap-codec": "^1.3.0" ++ }, ++ "bin": { ++ "sorcery": "bin/index.js" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/source-map-js": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", ++ "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/source-map-support": { ++ "version": "0.5.21", ++ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", ++ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", ++ "dev": true, ++ "dependencies": { ++ "buffer-from": "^1.0.0", ++ "source-map": "^0.6.0" ++ } ++ }, ++ "node_modules/sourcemap-codec": { ++ "version": "1.4.8", ++ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", ++ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", ++ "deprecated": "Please use @jridgewell/sourcemap-codec instead", ++ "dev": true ++ }, ++ "node_modules/strip-indent": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", ++ "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", ++ "dev": true, ++ "dependencies": { ++ "min-indent": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/style-mod": { ++ "version": "4.1.2", ++ "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz", ++ "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==", ++ "dev": true ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">= 0.4" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/ljharb" ++ } ++ }, ++ "node_modules/svelte": { ++ "version": "3.59.2", ++ "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.59.2.tgz", ++ "integrity": "sha512-vzSyuGr3eEoAtT/A6bmajosJZIUWySzY2CzB3w2pgPvnkUjGqlDnsNnA0PMO+mMAhuyMul6C2uuZzY6ELSkzyA==", ++ "engines": { ++ "node": ">= 8" ++ } ++ }, ++ "node_modules/svelte-check": { ++ "version": "2.10.3", ++ "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-2.10.3.tgz", ++ "integrity": "sha512-Nt1aWHTOKFReBpmJ1vPug0aGysqPwJh2seM1OvICfM2oeyaA62mOiy5EvkXhltGfhCcIQcq2LoE0l1CwcWPjlw==", ++ "dev": true, ++ "dependencies": { ++ "@jridgewell/trace-mapping": "^0.3.9", ++ "chokidar": "^3.4.1", ++ "fast-glob": "^3.2.7", ++ "import-fresh": "^3.2.1", ++ "picocolors": "^1.0.0", ++ "sade": "^1.7.4", ++ "svelte-preprocess": "^4.0.0", ++ "typescript": "*" ++ }, ++ "bin": { ++ "svelte-check": "bin/svelte-check" ++ }, ++ "peerDependencies": { ++ "svelte": "^3.24.0" ++ } ++ }, ++ "node_modules/svelte-icons": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/svelte-icons/-/svelte-icons-2.1.0.tgz", ++ "integrity": "sha512-rHPQjweEc9fGSnvM0/4gA3pDHwyZyYsC5KhttCZRhSMJfLttJST5Uq0B16Czhw+HQ+HbSOk8kLigMlPs7gZtfg==" ++ }, ++ "node_modules/svelte-preprocess": { ++ "version": "4.10.7", ++ "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.10.7.tgz", ++ "integrity": "sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==", ++ "dev": true, ++ "hasInstallScript": true, ++ "dependencies": { ++ "@types/pug": "^2.0.4", ++ "@types/sass": "^1.16.0", ++ "detect-indent": "^6.0.0", ++ "magic-string": "^0.25.7", ++ "sorcery": "^0.10.0", ++ "strip-indent": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">= 9.11.2" ++ }, ++ "peerDependencies": { ++ "@babel/core": "^7.10.2", ++ "coffeescript": "^2.5.1", ++ "less": "^3.11.3 || ^4.0.0", ++ "postcss": "^7 || ^8", ++ "postcss-load-config": "^2.1.0 || ^3.0.0 || ^4.0.0", ++ "pug": "^3.0.0", ++ "sass": "^1.26.8", ++ "stylus": "^0.55.0", ++ "sugarss": "^2.0.0", ++ "svelte": "^3.23.0", ++ "typescript": "^3.9.5 || ^4.0.0" ++ }, ++ "peerDependenciesMeta": { ++ "@babel/core": { ++ "optional": true ++ }, ++ "coffeescript": { ++ "optional": true ++ }, ++ "less": { ++ "optional": true ++ }, ++ "node-sass": { ++ "optional": true ++ }, ++ "postcss": { ++ "optional": true ++ }, ++ "postcss-load-config": { ++ "optional": true ++ }, ++ "pug": { ++ "optional": true ++ }, ++ "sass": { ++ "optional": true ++ }, ++ "stylus": { ++ "optional": true ++ }, ++ "sugarss": { ++ "optional": true ++ }, ++ "typescript": { ++ "optional": true ++ } ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "is-number": "^7.0.0" ++ }, ++ "engines": { ++ "node": ">=8.0" ++ } ++ }, ++ "node_modules/ts-node": { ++ "version": "9.1.1", ++ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", ++ "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", ++ "dev": true, ++ "dependencies": { ++ "arg": "^4.1.0", ++ "create-require": "^1.1.0", ++ "diff": "^4.0.1", ++ "make-error": "^1.1.1", ++ "source-map-support": "^0.5.17", ++ "yn": "3.1.1" ++ }, ++ "bin": { ++ "ts-node": "dist/bin.js", ++ "ts-node-script": "dist/bin-script.js", ++ "ts-node-transpile-only": "dist/bin-transpile.js", ++ "ts-script": "dist/bin-script-deprecated.js" ++ }, ++ "engines": { ++ "node": ">=10.0.0" ++ }, ++ "peerDependencies": { ++ "typescript": ">=2.7" ++ } ++ }, ++ "node_modules/tslib": { ++ "version": "2.6.3", ++ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", ++ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", ++ "dev": true ++ }, ++ "node_modules/typescript": { ++ "version": "4.9.5", ++ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", ++ "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", ++ "dev": true, ++ "bin": { ++ "tsc": "bin/tsc", ++ "tsserver": "bin/tsserver" ++ }, ++ "engines": { ++ "node": ">=4.2.0" ++ } ++ }, ++ "node_modules/universalify": { ++ "version": "0.1.2", ++ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", ++ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", ++ "dev": true, ++ "engines": { ++ "node": ">= 4.0.0" ++ } ++ }, ++ "node_modules/w3c-keyname": { ++ "version": "2.2.8", ++ "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", ++ "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==", ++ "dev": true ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/yn": { ++ "version": "3.1.1", ++ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", ++ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", ++ "dev": true, ++ "engines": { ++ "node": ">=6" ++ } ++ } ++ } ++} +diff --git a/package.json b/package.json +index f6a442a..deed1b1 100644 +--- a/package.json ++++ b/package.json +@@ -24,7 +24,7 @@ + "license": "MIT", + "devDependencies": { + "@codemirror/commands": "^6.1.2", +- "@codemirror/language": "https://github.com/lishid/cm-language", ++ "@codemirror/language": "github:karaolidis/cm-language#package-lock", + "@codemirror/search": "^6.2.2", + "@codemirror/state": "^6.1.2", + "@codemirror/view": "^6.4.0", +@@ -33,7 +33,7 @@ + "@rollup/plugin-typescript": "^6.0.0", + "@tsconfig/svelte": "^1.0.13", + "@types/node": "^14.17.3", +- "obsidian": "https://github.com/obsidianmd/obsidian-api/tarball/master", ++ "obsidian": "^1.6.6", + "rollup": "^2.32.1", + "rollup-plugin-copy": "^3.3.0", + "rollup-plugin-svelte": "^7.1.0", diff --git a/hosts/common/configs/user/gui/obsidian/config/plugins/custom-sort/default.nix b/packages/obsidian/plugins/custom-sort/default.nix similarity index 86% rename from hosts/common/configs/user/gui/obsidian/config/plugins/custom-sort/default.nix rename to packages/obsidian/plugins/custom-sort/default.nix index 5e1ef5d..934dfc4 100644 --- a/hosts/common/configs/user/gui/obsidian/config/plugins/custom-sort/default.nix +++ b/packages/obsidian/plugins/custom-sort/default.nix @@ -1,6 +1,7 @@ { pkgs, ... }: +# AUTO-UPDATE: nix-update --flake obsidian-plugin-custom-sort pkgs.stdenv.mkDerivation rec { - pname = "obsidian.plugins.custom-sort"; + pname = "obsidian-plugin-custom-sort"; version = "3.1.2"; src = pkgs.fetchFromGitHub { diff --git a/hosts/common/configs/user/gui/obsidian/config/plugins/dataview/default.nix b/packages/obsidian/plugins/dataview/default.nix similarity index 85% rename from hosts/common/configs/user/gui/obsidian/config/plugins/dataview/default.nix rename to packages/obsidian/plugins/dataview/default.nix index a83efd7..a4f5df9 100644 --- a/hosts/common/configs/user/gui/obsidian/config/plugins/dataview/default.nix +++ b/packages/obsidian/plugins/dataview/default.nix @@ -1,6 +1,7 @@ { pkgs, ... }: +# AUTO-UPDATE: nix-update --flake obsidian-plugin-dataview pkgs.buildNpmPackage rec { - pname = "obsidian.plugins.dataview"; + pname = "obsidian-plugin-dataview"; version = "0.5.67"; src = pkgs.fetchFromGitHub { diff --git a/hosts/common/configs/user/gui/obsidian/config/plugins/dataview/package-lock.patch b/packages/obsidian/plugins/dataview/package-lock.patch similarity index 100% rename from hosts/common/configs/user/gui/obsidian/config/plugins/dataview/package-lock.patch rename to packages/obsidian/plugins/dataview/package-lock.patch diff --git a/hosts/common/configs/user/gui/obsidian/config/plugins/excalidraw/default.nix b/packages/obsidian/plugins/excalidraw/default.nix similarity index 92% rename from hosts/common/configs/user/gui/obsidian/config/plugins/excalidraw/default.nix rename to packages/obsidian/plugins/excalidraw/default.nix index bcee5f5..6896bb6 100644 --- a/hosts/common/configs/user/gui/obsidian/config/plugins/excalidraw/default.nix +++ b/packages/obsidian/plugins/excalidraw/default.nix @@ -1,4 +1,5 @@ { pkgs, ... }: +# AUTO-UPDATE: nix-update --flake obsidian-plugin-excalidraw --subpackage mathjaxToSVG pkgs.buildNpmPackage rec { pname = "obsidian.plugins.excalidraw"; version = "2.8.3"; @@ -13,6 +14,7 @@ pkgs.buildNpmPackage rec { mathjaxToSVG = pkgs.buildNpmPackage { pname = "obsidian.plugins.excalidraw.mathjaxToSVG"; version = "1.0.0"; + src = "${pkg}/MathjaxToSVG"; npmDepsHash = "sha256-AosKWlX08dpXNQ2YlrfR6jEInmU02Ztf26nmV19Jxok="; diff --git a/hosts/common/configs/user/gui/obsidian/config/plugins/excalidraw/package-lock.patch b/packages/obsidian/plugins/excalidraw/package-lock.patch similarity index 100% rename from hosts/common/configs/user/gui/obsidian/config/plugins/excalidraw/package-lock.patch rename to packages/obsidian/plugins/excalidraw/package-lock.patch diff --git a/hosts/common/configs/user/gui/obsidian/config/plugins/folder-note/default.nix b/packages/obsidian/plugins/folder-note/default.nix similarity index 62% rename from hosts/common/configs/user/gui/obsidian/config/plugins/folder-note/default.nix rename to packages/obsidian/plugins/folder-note/default.nix index 68a279d..e6bcd23 100644 --- a/hosts/common/configs/user/gui/obsidian/config/plugins/folder-note/default.nix +++ b/packages/obsidian/plugins/folder-note/default.nix @@ -1,17 +1,18 @@ { pkgs, ... }: +# AUTO-UPDATE: nix-update --flake obsidian-plugin-folder-note pkgs.buildNpmPackage rec { - pname = "obsidian.plugins.folder-note"; + pname = "obsidian-plugin-folder-note"; version = "0.7.3"; src = pkgs.fetchFromGitHub { - owner = "karaolidis"; - rev = "2d14ccb5179beb48c3df87108170aeda067584ac"; - # owner = "xpgo"; + owner = "xpgo"; repo = "obsidian-folder-note-plugin"; - # rev = version; - hash = "sha256-Ub0u+hMbkzxeUjzVmA61S0ClXR9E3KrYTqhrJBQj0Wg="; + rev = version; + hash = "sha256-MGWIMM2zKB6ydP7wV8yVAOS3Qr02xTBIWIEf/2enynU="; }; + patches = [ ./package-lock.patch ]; + npmDepsHash = "sha256-4v6QwwooxsXy+mbiKriylpKa8NOK8pWZixezY+H6wxo="; npmPackFlags = [ "--ignore-scripts" ]; diff --git a/packages/obsidian/plugins/folder-note/package-lock.patch b/packages/obsidian/plugins/folder-note/package-lock.patch new file mode 100644 index 0000000..fba7f29 --- /dev/null +++ b/packages/obsidian/plugins/folder-note/package-lock.patch @@ -0,0 +1,549 @@ +diff --git a/.gitignore b/.gitignore +index c0aac20..9b2ad6e 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -4,7 +4,6 @@ + + # npm + node_modules +-package-lock.json + + # build + main.js +diff --git a/package-lock.json b/package-lock.json +new file mode 100644 +index 0000000..ed8a9ed +--- /dev/null ++++ b/package-lock.json +@@ -0,0 +1,518 @@ ++{ ++ "name": "folder-note-plugin", ++ "version": "0.9.7", ++ "lockfileVersion": 3, ++ "requires": true, ++ "packages": { ++ "": { ++ "name": "folder-note-plugin", ++ "version": "0.9.7", ++ "license": "MIT", ++ "devDependencies": { ++ "@rollup/plugin-commonjs": "^15.1.0", ++ "@rollup/plugin-node-resolve": "^9.0.0", ++ "@rollup/plugin-typescript": "^6.0.0", ++ "@types/node": "^14.14.30", ++ "@types/yaml": "^1.9.7", ++ "obsidian": "^1.6.6", ++ "rollup": "^2.39.0", ++ "tslib": "^2.0.3", ++ "typescript": "^4.1.5", ++ "yaml": "^1.10.0" ++ } ++ }, ++ "node_modules/@codemirror/state": { ++ "version": "6.4.1", ++ "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.4.1.tgz", ++ "integrity": "sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==", ++ "dev": true, ++ "peer": true ++ }, ++ "node_modules/@codemirror/view": { ++ "version": "6.28.6", ++ "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.28.6.tgz", ++ "integrity": "sha512-bhwB1AZ6zU4M3dNKm8Aa2BXwj5mWDqE9IWpqxYKJoLCnx+AcwcMuLO01tLWgc1mx4vT1IVYVqx86YoqUsATrqQ==", ++ "dev": true, ++ "peer": true, ++ "dependencies": { ++ "@codemirror/state": "^6.4.0", ++ "style-mod": "^4.1.0", ++ "w3c-keyname": "^2.2.4" ++ } ++ }, ++ "node_modules/@rollup/plugin-commonjs": { ++ "version": "15.1.0", ++ "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-15.1.0.tgz", ++ "integrity": "sha512-xCQqz4z/o0h2syQ7d9LskIMvBSH4PX5PjYdpSSvgS+pQik3WahkQVNWg3D8XJeYjZoVWnIUQYDghuEMRGrmQYQ==", ++ "dev": true, ++ "dependencies": { ++ "@rollup/pluginutils": "^3.1.0", ++ "commondir": "^1.0.1", ++ "estree-walker": "^2.0.1", ++ "glob": "^7.1.6", ++ "is-reference": "^1.2.1", ++ "magic-string": "^0.25.7", ++ "resolve": "^1.17.0" ++ }, ++ "engines": { ++ "node": ">= 8.0.0" ++ }, ++ "peerDependencies": { ++ "rollup": "^2.22.0" ++ } ++ }, ++ "node_modules/@rollup/plugin-node-resolve": { ++ "version": "9.0.0", ++ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz", ++ "integrity": "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==", ++ "dev": true, ++ "dependencies": { ++ "@rollup/pluginutils": "^3.1.0", ++ "@types/resolve": "1.17.1", ++ "builtin-modules": "^3.1.0", ++ "deepmerge": "^4.2.2", ++ "is-module": "^1.0.0", ++ "resolve": "^1.17.0" ++ }, ++ "engines": { ++ "node": ">= 10.0.0" ++ }, ++ "peerDependencies": { ++ "rollup": "^1.20.0||^2.0.0" ++ } ++ }, ++ "node_modules/@rollup/plugin-typescript": { ++ "version": "6.1.0", ++ "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-6.1.0.tgz", ++ "integrity": "sha512-hJxaiE6WyNOsK+fZpbFh9CUijZYqPQuAOWO5khaGTUkM8DYNNyA2TDlgamecE+qLOG1G1+CwbWMAx3rbqpp6xQ==", ++ "dev": true, ++ "dependencies": { ++ "@rollup/pluginutils": "^3.1.0", ++ "resolve": "^1.17.0" ++ }, ++ "engines": { ++ "node": ">=8.0.0" ++ }, ++ "peerDependencies": { ++ "rollup": "^2.14.0", ++ "tslib": "*", ++ "typescript": ">=3.4.0" ++ } ++ }, ++ "node_modules/@rollup/pluginutils": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", ++ "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", ++ "dev": true, ++ "dependencies": { ++ "@types/estree": "0.0.39", ++ "estree-walker": "^1.0.1", ++ "picomatch": "^2.2.2" ++ }, ++ "engines": { ++ "node": ">= 8.0.0" ++ }, ++ "peerDependencies": { ++ "rollup": "^1.20.0||^2.0.0" ++ } ++ }, ++ "node_modules/@rollup/pluginutils/node_modules/estree-walker": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", ++ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", ++ "dev": true ++ }, ++ "node_modules/@types/codemirror": { ++ "version": "5.60.8", ++ "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.8.tgz", ++ "integrity": "sha512-VjFgDF/eB+Aklcy15TtOTLQeMjTo07k7KAjql8OK5Dirr7a6sJY4T1uVBDuTVG9VEmn1uUsohOpYnVfgC6/jyw==", ++ "dev": true, ++ "dependencies": { ++ "@types/tern": "*" ++ } ++ }, ++ "node_modules/@types/estree": { ++ "version": "0.0.39", ++ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", ++ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", ++ "dev": true ++ }, ++ "node_modules/@types/node": { ++ "version": "14.18.63", ++ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", ++ "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==", ++ "dev": true ++ }, ++ "node_modules/@types/resolve": { ++ "version": "1.17.1", ++ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", ++ "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", ++ "dev": true, ++ "dependencies": { ++ "@types/node": "*" ++ } ++ }, ++ "node_modules/@types/tern": { ++ "version": "0.23.9", ++ "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.9.tgz", ++ "integrity": "sha512-ypzHFE/wBzh+BlH6rrBgS5I/Z7RD21pGhZ2rltb/+ZrVM1awdZwjx7hE5XfuYgHWk9uvV5HLZN3SloevCAp3Bw==", ++ "dev": true, ++ "dependencies": { ++ "@types/estree": "*" ++ } ++ }, ++ "node_modules/@types/yaml": { ++ "version": "1.9.7", ++ "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.9.7.tgz", ++ "integrity": "sha512-8WMXRDD1D+wCohjfslHDgICd2JtMATZU8CkhH8LVJqcJs6dyYj5TGptzP8wApbmEullGBSsCEzzap73DQ1HJaA==", ++ "deprecated": "This is a stub types definition. yaml provides its own type definitions, so you do not need this installed.", ++ "dev": true, ++ "dependencies": { ++ "yaml": "*" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/brace-expansion": { ++ "version": "1.1.11", ++ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", ++ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", ++ "dev": true, ++ "dependencies": { ++ "balanced-match": "^1.0.0", ++ "concat-map": "0.0.1" ++ } ++ }, ++ "node_modules/builtin-modules": { ++ "version": "3.3.0", ++ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", ++ "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", ++ "dev": true, ++ "engines": { ++ "node": ">=6" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/commondir": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", ++ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", ++ "dev": true ++ }, ++ "node_modules/concat-map": { ++ "version": "0.0.1", ++ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", ++ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", ++ "dev": true ++ }, ++ "node_modules/deepmerge": { ++ "version": "4.3.1", ++ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", ++ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/estree-walker": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", ++ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", ++ "dev": true ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/fsevents": { ++ "version": "2.3.3", ++ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", ++ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", ++ "dev": true, ++ "hasInstallScript": true, ++ "optional": true, ++ "os": [ ++ "darwin" ++ ], ++ "engines": { ++ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" ++ } ++ }, ++ "node_modules/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, ++ "funding": { ++ "url": "https://github.com/sponsors/ljharb" ++ } ++ }, ++ "node_modules/glob": { ++ "version": "7.2.3", ++ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", ++ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", ++ "deprecated": "Glob versions prior to v9 are no longer supported", ++ "dev": true, ++ "dependencies": { ++ "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" ++ }, ++ "engines": { ++ "node": "*" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/isaacs" ++ } ++ }, ++ "node_modules/hasown": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", ++ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", ++ "dev": true, ++ "dependencies": { ++ "function-bind": "^1.1.2" ++ }, ++ "engines": { ++ "node": ">= 0.4" ++ } ++ }, ++ "node_modules/inflight": { ++ "version": "1.0.6", ++ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", ++ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", ++ "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", ++ "dev": true, ++ "dependencies": { ++ "once": "^1.3.0", ++ "wrappy": "1" ++ } ++ }, ++ "node_modules/inherits": { ++ "version": "2.0.4", ++ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", ++ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", ++ "dev": true ++ }, ++ "node_modules/is-core-module": { ++ "version": "2.15.0", ++ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", ++ "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", ++ "dev": true, ++ "dependencies": { ++ "hasown": "^2.0.2" ++ }, ++ "engines": { ++ "node": ">= 0.4" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/ljharb" ++ } ++ }, ++ "node_modules/is-module": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", ++ "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", ++ "dev": true ++ }, ++ "node_modules/is-reference": { ++ "version": "1.2.1", ++ "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", ++ "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", ++ "dev": true, ++ "dependencies": { ++ "@types/estree": "*" ++ } ++ }, ++ "node_modules/magic-string": { ++ "version": "0.25.9", ++ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", ++ "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", ++ "dev": true, ++ "dependencies": { ++ "sourcemap-codec": "^1.4.8" ++ } ++ }, ++ "node_modules/minimatch": { ++ "version": "3.1.2", ++ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", ++ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", ++ "dev": true, ++ "dependencies": { ++ "brace-expansion": "^1.1.7" ++ }, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/moment": { ++ "version": "2.29.4", ++ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", ++ "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", ++ "dev": true, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/obsidian": { ++ "version": "1.6.6", ++ "resolved": "https://registry.npmjs.org/obsidian/-/obsidian-1.6.6.tgz", ++ "integrity": "sha512-GZHzeOiwmw/wBjB5JwrsxAZBLqxGQmqtEKSvJJvT0LtTcqeOFnV8jv0ZK5kO7hBb44WxJc+LdS7mZgLXbb+qXQ==", ++ "dev": true, ++ "dependencies": { ++ "@types/codemirror": "5.60.8", ++ "moment": "2.29.4" ++ }, ++ "peerDependencies": { ++ "@codemirror/state": "^6.0.0", ++ "@codemirror/view": "^6.0.0" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "wrappy": "1" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/picomatch": { ++ "version": "2.3.1", ++ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", ++ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", ++ "dev": true, ++ "engines": { ++ "node": ">=8.6" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/jonschlinkert" ++ } ++ }, ++ "node_modules/resolve": { ++ "version": "1.22.8", ++ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", ++ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", ++ "dev": true, ++ "dependencies": { ++ "is-core-module": "^2.13.0", ++ "path-parse": "^1.0.7", ++ "supports-preserve-symlinks-flag": "^1.0.0" ++ }, ++ "bin": { ++ "resolve": "bin/resolve" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/ljharb" ++ } ++ }, ++ "node_modules/rollup": { ++ "version": "2.79.1", ++ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", ++ "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", ++ "dev": true, ++ "bin": { ++ "rollup": "dist/bin/rollup" ++ }, ++ "engines": { ++ "node": ">=10.0.0" ++ }, ++ "optionalDependencies": { ++ "fsevents": "~2.3.2" ++ } ++ }, ++ "node_modules/sourcemap-codec": { ++ "version": "1.4.8", ++ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", ++ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", ++ "deprecated": "Please use @jridgewell/sourcemap-codec instead", ++ "dev": true ++ }, ++ "node_modules/style-mod": { ++ "version": "4.1.2", ++ "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz", ++ "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==", ++ "dev": true, ++ "peer": true ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">= 0.4" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/ljharb" ++ } ++ }, ++ "node_modules/tslib": { ++ "version": "2.6.3", ++ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", ++ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", ++ "dev": true ++ }, ++ "node_modules/typescript": { ++ "version": "4.9.5", ++ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", ++ "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", ++ "dev": true, ++ "bin": { ++ "tsc": "bin/tsc", ++ "tsserver": "bin/tsserver" ++ }, ++ "engines": { ++ "node": ">=4.2.0" ++ } ++ }, ++ "node_modules/w3c-keyname": { ++ "version": "2.2.8", ++ "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", ++ "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==", ++ "dev": true, ++ "peer": true ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/yaml": { ++ "version": "1.10.2", ++ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", ++ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", ++ "dev": true, ++ "engines": { ++ "node": ">= 6" ++ } ++ } ++ } ++} +diff --git a/package.json b/package.json +index 469af6f..7d6e514 100644 +--- a/package.json ++++ b/package.json +@@ -16,7 +16,7 @@ + "@rollup/plugin-typescript": "^6.0.0", + "@types/node": "^14.14.30", + "@types/yaml": "^1.9.7", +- "obsidian": "https://github.com/obsidianmd/obsidian-api/tarball/master", ++ "obsidian": "^1.6.6", + "rollup": "^2.39.0", + "tslib": "^2.0.3", + "typescript": "^4.1.5", diff --git a/hosts/common/configs/user/gui/obsidian/config/plugins/kanban/default.nix b/packages/obsidian/plugins/kanban/default.nix similarity index 87% rename from hosts/common/configs/user/gui/obsidian/config/plugins/kanban/default.nix rename to packages/obsidian/plugins/kanban/default.nix index 6509b05..c5ef9e0 100644 --- a/hosts/common/configs/user/gui/obsidian/config/plugins/kanban/default.nix +++ b/packages/obsidian/plugins/kanban/default.nix @@ -1,6 +1,7 @@ { pkgs, ... }: +# AUTO-UPDATE: nix-update --flake obsidian-plugin-kanban pkgs.stdenv.mkDerivation rec { - pname = "obsidian.plugins.kanban"; + pname = "obsidian-plugin-kanban"; version = "2.0.51"; src = pkgs.fetchFromGitHub { diff --git a/hosts/common/configs/user/gui/obsidian/config/plugins/languagetool/default.nix b/packages/obsidian/plugins/languagetool/default.nix similarity index 66% rename from hosts/common/configs/user/gui/obsidian/config/plugins/languagetool/default.nix rename to packages/obsidian/plugins/languagetool/default.nix index f751c8f..d0264cc 100644 --- a/hosts/common/configs/user/gui/obsidian/config/plugins/languagetool/default.nix +++ b/packages/obsidian/plugins/languagetool/default.nix @@ -1,18 +1,20 @@ { pkgs, ... }: +# AUTO-UPDATE: nix-update --flake obsidian-plugin-languagetool pkgs.stdenv.mkDerivation rec { - pname = "obsidian.plugins.languagetool"; + pname = "obsidian-plugin-languagetool"; version = "0.3.7"; src = pkgs.fetchFromGitHub { - owner = "karaolidis"; - rev = "a7bb62f767decbd55b14702c35e24954459e77ca"; - # owner = "Clemens-E"; + owner = "Clemens-E"; repo = "obsidian-languagetool-plugin"; - # rev = version; - hash = "sha256-LeSK9ctdKW6P3AoOWHxHmGxIlOXDOVd1nhsWXdRSiZY="; + rev = version; + hash = "sha256-OsdOOrXNoraKuFPqvgn6pj6ZagEbiFCJyQ529eyZXUU="; }; - patches = [ ./settings-notification.patch ]; + patches = [ + ./settings-notification.patch + ./variety-typo.patch + ]; offlineCache = pkgs.fetchYarnDeps { yarnLock = src + "/yarn.lock"; diff --git a/hosts/common/configs/user/gui/obsidian/config/plugins/languagetool/settings-notification.patch b/packages/obsidian/plugins/languagetool/settings-notification.patch similarity index 100% rename from hosts/common/configs/user/gui/obsidian/config/plugins/languagetool/settings-notification.patch rename to packages/obsidian/plugins/languagetool/settings-notification.patch diff --git a/packages/obsidian/plugins/languagetool/variety-typo.patch b/packages/obsidian/plugins/languagetool/variety-typo.patch new file mode 100644 index 0000000..419b34f --- /dev/null +++ b/packages/obsidian/plugins/languagetool/variety-typo.patch @@ -0,0 +1,149 @@ +diff --git a/src/SettingsTab.ts b/src/SettingsTab.ts +index d0d65bb..2a211b0 100644 +--- a/src/SettingsTab.ts ++++ b/src/SettingsTab.ts +@@ -33,10 +33,10 @@ export interface LanguageToolPluginSettings { + staticLanguage?: string; + motherTongue?: string; + +- englishVeriety?: undefined | 'en-US' | 'en-GB' | 'en-CA' | 'en-AU' | 'en-ZA' | 'en-NZ'; +- germanVeriety?: undefined | 'de-DE' | 'de-AT' | 'de-CH'; +- portugueseVeriety?: undefined | 'pt-BR' | 'pt-PT' | 'pt-AO' | 'pt-MZ'; +- catalanVeriety?: undefined | 'ca-ES' | 'ca-ES-valencia'; ++ englishVariety?: undefined | 'en-US' | 'en-GB' | 'en-CA' | 'en-AU' | 'en-ZA' | 'en-NZ'; ++ germanVariety?: undefined | 'de-DE' | 'de-AT' | 'de-CH'; ++ portugueseVariety?: undefined | 'pt-BR' | 'pt-PT' | 'pt-AO' | 'pt-MZ'; ++ catalanVariety?: undefined | 'ca-ES' | 'ca-ES-valencia'; + + pickyMode: boolean; + +@@ -286,13 +286,13 @@ export class LanguageToolSettingsTab extends PluginSettingTab { + component.onChange(async value => { + this.plugin.settings.staticLanguage = value; + if (value !== 'auto') { +- this.plugin.settings.englishVeriety = undefined; ++ this.plugin.settings.englishVariety = undefined; + englishVarietyDropdown?.setValue('default'); +- this.plugin.settings.germanVeriety = undefined; ++ this.plugin.settings.germanVariety = undefined; + germanVarietyDropdown?.setValue('default'); +- this.plugin.settings.portugueseVeriety = undefined; ++ this.plugin.settings.portugueseVariety = undefined; + portugueseVarietyDropdown?.setValue('default'); +- this.plugin.settings.catalanVeriety = undefined; ++ this.plugin.settings.catalanVariety = undefined; + catalanVarietyDropdown?.setValue('default'); + } + await this.plugin.saveSettings(); +@@ -338,14 +338,14 @@ export class LanguageToolSettingsTab extends PluginSettingTab { + 'en-ZA': 'English (South Africa)', + 'en-NZ': 'English (New Zealand)', + }) +- .setValue(this.plugin.settings.englishVeriety ?? 'default') ++ .setValue(this.plugin.settings.englishVariety ?? 'default') + .onChange(async value => { + if (value === 'default') { +- this.plugin.settings.englishVeriety = undefined; ++ this.plugin.settings.englishVariety = undefined; + } else { + this.plugin.settings.staticLanguage = 'auto'; + staticLanguageComponent?.setValue('auto'); +- this.plugin.settings.englishVeriety = value as 'en-US' | 'en-GB' | 'en-CA' | 'en-AU' | 'en-ZA' | 'en-NZ'; ++ this.plugin.settings.englishVariety = value as 'en-US' | 'en-GB' | 'en-CA' | 'en-AU' | 'en-ZA' | 'en-NZ'; + } + await this.plugin.saveSettings(); + }); +@@ -360,14 +360,14 @@ export class LanguageToolSettingsTab extends PluginSettingTab { + 'de-CH': 'German (Switzerland)', + 'de-AT': 'German (Austria)', + }) +- .setValue(this.plugin.settings.germanVeriety ?? 'default') ++ .setValue(this.plugin.settings.germanVariety ?? 'default') + .onChange(async value => { + if (value === 'default') { +- this.plugin.settings.germanVeriety = undefined; ++ this.plugin.settings.germanVariety = undefined; + } else { + this.plugin.settings.staticLanguage = 'auto'; + staticLanguageComponent?.setValue('auto'); +- this.plugin.settings.germanVeriety = value as 'de-DE' | 'de-CH' | 'de-AT'; ++ this.plugin.settings.germanVariety = value as 'de-DE' | 'de-CH' | 'de-AT'; + } + await this.plugin.saveSettings(); + }); +@@ -383,14 +383,14 @@ export class LanguageToolSettingsTab extends PluginSettingTab { + 'pt-AO': 'Portuguese (Angola)', + 'pt-MZ': 'Portuguese (Mozambique)', + }) +- .setValue(this.plugin.settings.portugueseVeriety ?? 'default') ++ .setValue(this.plugin.settings.portugueseVariety ?? 'default') + .onChange(async value => { + if (value === 'default') { +- this.plugin.settings.portugueseVeriety = undefined; ++ this.plugin.settings.portugueseVariety = undefined; + } else { + this.plugin.settings.staticLanguage = 'auto'; + staticLanguageComponent?.setValue('auto'); +- this.plugin.settings.portugueseVeriety = value as 'pt-BR' | 'pt-PT' | 'pt-AO' | 'pt-MZ'; ++ this.plugin.settings.portugueseVariety = value as 'pt-BR' | 'pt-PT' | 'pt-AO' | 'pt-MZ'; + } + await this.plugin.saveSettings(); + }); +@@ -404,14 +404,14 @@ export class LanguageToolSettingsTab extends PluginSettingTab { + 'ca-ES': 'Catalan', + 'ca-ES-valencia': 'Catalan (Valencian)', + }) +- .setValue(this.plugin.settings.catalanVeriety ?? 'default') ++ .setValue(this.plugin.settings.catalanVariety ?? 'default') + .onChange(async value => { + if (value === 'default') { +- this.plugin.settings.catalanVeriety = undefined; ++ this.plugin.settings.catalanVariety = undefined; + } else { + this.plugin.settings.staticLanguage = 'auto'; + staticLanguageComponent?.setValue('auto'); +- this.plugin.settings.catalanVeriety = value as 'ca-ES' | 'ca-ES-valencia'; ++ this.plugin.settings.catalanVariety = value as 'ca-ES' | 'ca-ES-valencia'; + } + await this.plugin.saveSettings(); + }); +diff --git a/src/api.ts b/src/api.ts +index 109984c..4cd1700 100644 +--- a/src/api.ts ++++ b/src/api.ts +@@ -58,27 +58,27 @@ export async function getDetectionResult( + params.disabledRules = settings.ruleOtherDisabledRules; + } + +- if (settings.englishVeriety) { ++ if (settings.englishVariety) { + params.preferredVariants = `${params.preferredVariants ? `${params.preferredVariants},` : ''}${ +- settings.englishVeriety ++ settings.englishVariety + }`; + } + +- if (settings.germanVeriety) { ++ if (settings.germanVariety) { + params.preferredVariants = `${params.preferredVariants ? `${params.preferredVariants},` : ''}${ +- settings.germanVeriety ++ settings.germanVariety + }`; + } + +- if (settings.portugueseVeriety) { ++ if (settings.portugueseVariety) { + params.preferredVariants = `${params.preferredVariants ? `${params.preferredVariants},` : ''}${ +- settings.portugueseVeriety ++ settings.portugueseVariety + }`; + } + +- if (settings.catalanVeriety) { ++ if (settings.catalanVariety) { + params.preferredVariants = `${params.preferredVariants ? `${params.preferredVariants},` : ''}${ +- settings.catalanVeriety ++ settings.catalanVariety + }`; + } + diff --git a/hosts/common/configs/user/gui/obsidian/config/plugins/linter/default.nix b/packages/obsidian/plugins/linter/default.nix similarity index 84% rename from hosts/common/configs/user/gui/obsidian/config/plugins/linter/default.nix rename to packages/obsidian/plugins/linter/default.nix index b512c7f..bac3d52 100644 --- a/hosts/common/configs/user/gui/obsidian/config/plugins/linter/default.nix +++ b/packages/obsidian/plugins/linter/default.nix @@ -1,6 +1,7 @@ { pkgs, ... }: +# AUTO-UPDATE: nix-update --flake obsidian-plugin-linter pkgs.buildNpmPackage rec { - pname = "obsidian.plugins.linter"; + pname = "obsidian-plugin-linter"; version = "1.28.0"; src = pkgs.fetchFromGitHub { diff --git a/packages/obsidian/plugins/map-view/default.nix b/packages/obsidian/plugins/map-view/default.nix new file mode 100644 index 0000000..41f1c51 --- /dev/null +++ b/packages/obsidian/plugins/map-view/default.nix @@ -0,0 +1,28 @@ +{ pkgs, ... }: +# AUTO-UPDATE: nix-update --flake obsidian-plugin-map-view +pkgs.buildNpmPackage rec { + pname = "obsidian-plugin-map-view"; + version = "5.5.0"; + + src = pkgs.fetchFromGitHub { + owner = "esm7"; + repo = "obsidian-map-view"; + rev = version; + hash = "sha256-HiH6KPLnCNyidp6TI7HJK4aj5SL0B0xO6HOWUgjVdd4="; + }; + + patches = [ + ./package-lock.patch + ./file-api-key.patch + ]; + + npmDepsHash = "sha256-fNvDoMGIlmJ0zum3Qm/eLx5a/UV8rC2JmRYbXUAXgGg="; + npmPackFlags = [ "--ignore-scripts" ]; + + installPhase = '' + mkdir -p $out + cp ./dist/manifest.json $out/manifest.json + cp ./dist/main.js $out/main.js + cp ./dist/styles.css $out/styles.css + ''; +} diff --git a/packages/obsidian/plugins/map-view/file-api-key.patch b/packages/obsidian/plugins/map-view/file-api-key.patch new file mode 100644 index 0000000..1be886a --- /dev/null +++ b/packages/obsidian/plugins/map-view/file-api-key.patch @@ -0,0 +1,230 @@ +diff --git a/src/geosearch.ts b/src/geosearch.ts +index f1b89b9..68fd4c1 100644 +--- a/src/geosearch.ts ++++ b/src/geosearch.ts +@@ -2,7 +2,7 @@ import { request, App } from 'obsidian'; + import * as geosearch from 'leaflet-geosearch'; + import * as leaflet from 'leaflet'; + import queryString from 'query-string'; +- ++import { readFileSync } from 'fs'; + import { type PluginSettings } from 'src/settings'; + import { UrlConvertor } from 'src/urlConvertor'; + import { FileMarker } from 'src/markers'; +@@ -31,12 +31,16 @@ export class GeoSearcher { + constructor(app: App, settings: PluginSettings) { + this.settings = settings; + this.urlConvertor = new UrlConvertor(app, settings); ++ ++ const apiKey = ++ settings.geocodingApiMethod === 'key' ++ ? settings.geocodingApiKey ++ : readFileSync(settings.geocodingApiPath, 'utf-8').trim(); ++ + if (settings.searchProvider == 'osm') + this.searchProvider = new geosearch.OpenStreetMapProvider(); + else if (settings.searchProvider == 'google') { +- this.searchProvider = new geosearch.GoogleProvider({ +- apiKey: settings.geocodingApiKey, +- }); ++ this.searchProvider = new geosearch.GoogleProvider({ apiKey }); + } + } + +@@ -119,10 +123,15 @@ export async function googlePlacesSearch( + ): Promise { + if (settings.searchProvider != 'google' || !settings.useGooglePlaces) + return []; +- const googleApiKey = settings.geocodingApiKey; ++ ++ const apiKey = ++ settings.geocodingApiMethod === 'key' ++ ? settings.geocodingApiKey ++ : readFileSync(settings.geocodingApiPath, 'utf-8').trim(); ++ + const params = { + query: query, +- key: googleApiKey, ++ key: apiKey, + }; + if (centerOfSearch) + (params as any)['location'] = +diff --git a/src/settings.ts b/src/settings.ts +index 44a0464..1cd6015 100644 +--- a/src/settings.ts ++++ b/src/settings.ts +@@ -48,7 +48,9 @@ export type PluginSettings = { + maxClusterRadiusPixels: number; + searchProvider: 'osm' | 'google'; + searchDelayMs: number; +- geocodingApiKey: string; ++ geocodingApiMethod?: 'key' | 'path'; ++ geocodingApiKey?: string; ++ geocodingApiPath?: string; + useGooglePlaces: boolean; + saveHistory: boolean; + queryForFollowActiveNote: string; +@@ -228,6 +230,7 @@ export const DEFAULT_SETTINGS: PluginSettings = { + maxClusterRadiusPixels: 20, + searchProvider: 'osm', + searchDelayMs: 250, ++ geocodingApiMethod: 'key', + geocodingApiKey: '', + useGooglePlaces: false, + mapSources: [ +diff --git a/src/settingsTab.ts b/src/settingsTab.ts +index 7a5994c..ea586fd 100644 +--- a/src/settingsTab.ts ++++ b/src/settingsTab.ts +@@ -54,7 +54,10 @@ export class SettingsTab extends PluginSettingTab { + }); + }); + ++ let apiMethodControl: Setting = null; + let apiKeyControl: Setting = null; ++ let apiPathControl: Setting = null; ++ + new Setting(containerEl) + .setName('Geocoding search provider') + .setDesc( +@@ -72,8 +75,19 @@ export class SettingsTab extends PluginSettingTab { + this.plugin.settings.searchProvider = value; + await this.plugin.saveSettings(); + this.refreshPluginOnHide = true; +- apiKeyControl.settingEl.style.display = ++ ++ apiMethodControl.settingEl.style.display = + value === 'google' ? '' : 'none'; ++ apiKeyControl.settingEl.style.display = ++ value === 'google' && ++ this.plugin.settings.geocodingApiMethod === 'key' ++ ? '' ++ : 'none'; ++ apiPathControl.settingEl.style.display = ++ value === 'google' && ++ this.plugin.settings.geocodingApiMethod === 'path' ++ ? '' ++ : 'none'; + googlePlacesControl.settingEl.style.display = + this.plugin.settings.searchProvider === 'google' + ? '' +@@ -81,8 +95,37 @@ export class SettingsTab extends PluginSettingTab { + }); + }); + ++ apiMethodControl = new Setting(containerEl) ++ .setName('Geocoding API Method') ++ .setDesc( ++ 'Choose whether to provide the API key directly or via a file path.' ++ ) ++ .addDropdown((component) => { ++ component ++ .addOption('key', 'API Key') ++ .addOption('path', 'API Key Path') ++ .setValue(this.plugin.settings.geocodingApiMethod || 'key') ++ .onChange(async (value: 'key' | 'path') => { ++ this.plugin.settings.geocodingApiMethod = value; ++ await this.plugin.saveSettings(); ++ apiKeyControl.settingEl.style.display = ++ value === 'key' && ++ this.plugin.settings.searchProvider === 'google' ++ ? '' ++ : 'none'; ++ apiPathControl.settingEl.style.display = ++ value === 'path' && ++ this.plugin.settings.searchProvider === 'google' ++ ? '' ++ : 'none'; ++ }); ++ }); ++ ++ apiMethodControl.settingEl.style.display = ++ this.plugin.settings.searchProvider === 'google' ? '' : 'none'; ++ + apiKeyControl = new Setting(containerEl) +- .setName('Gecoding API key') ++ .setName('Geocoding API key') + .setDesc( + 'If using Google as the geocoding search provider, paste the API key here. See the plugin documentation for more details. Changes are applied after restart.', + ) +@@ -101,6 +144,40 @@ export class SettingsTab extends PluginSettingTab { + ? '' + : 'red'; + }); ++ ++ apiKeyControl.settingEl.style.display = ++ this.plugin.settings.searchProvider === 'google' && ++ this.plugin.settings.geocodingApiMethod === 'key' ++ ? '' ++ : 'none'; ++ ++ apiPathControl = new Setting(containerEl) ++ .setName('Geocoding API key path') ++ .setDesc( ++ 'If using Google as the geocoding search provider and using a path to the API key, enter the file path here. See the plugin documentation for more details. Changes are applied after restart.' ++ ) ++ .addText((component) => { ++ component ++ .setValue(this.plugin.settings.geocodingApiPath) ++ .onChange(async (value) => { ++ this.plugin.settings.geocodingApiPath = value; ++ await this.plugin.saveSettings(); ++ component.inputEl.style.borderColor = value ++ ? '' ++ : 'red'; ++ }); ++ component.inputEl.style.borderColor = this.plugin.settings ++ .geocodingApiPath ++ ? '' ++ : 'red'; ++ }); ++ ++ apiPathControl.settingEl.style.display = ++ this.plugin.settings.searchProvider === 'google' && ++ this.plugin.settings.geocodingApiMethod === 'path' ++ ? '' ++ : 'none'; ++ + let googlePlacesControl = new Setting(containerEl) + .setName('Use Google Places for searches') + .setDesc( +@@ -118,9 +195,6 @@ export class SettingsTab extends PluginSettingTab { + }); + }); + +- // Display the API key control only if the search provider requires it +- apiKeyControl.settingEl.style.display = +- this.plugin.settings.searchProvider === 'google' ? '' : 'none'; + googlePlacesControl.settingEl.style.display = + this.plugin.settings.searchProvider === 'google' ? '' : 'none'; + new Setting(containerEl) +diff --git a/src/urlConvertor.ts b/src/urlConvertor.ts +index 365f49b..2fdf0b8 100644 +--- a/src/urlConvertor.ts ++++ b/src/urlConvertor.ts +@@ -1,6 +1,6 @@ + import { App, Editor, TFile, request } from 'obsidian'; + import queryString from 'query-string'; +- ++import { readFileSync } from 'fs'; + import * as leaflet from 'leaflet'; + import { type PluginSettings, type UrlParsingRule } from 'src/settings'; + import * as utils from 'src/utils'; +@@ -136,10 +136,15 @@ export class UrlConvertor { + const placeName = placeNameMatch[1]; + if (this.settings.debug) + console.log('Google link: found place name = ', placeName); +- const googleApiKey = settings.geocodingApiKey; ++ ++ const apiKey = ++ settings.geocodingApiMethod === 'key' ++ ? settings.geocodingApiKey ++ : readFileSync(settings.geocodingApiPath, 'utf-8').trim(); ++ + const params = { + query: placeName, +- key: googleApiKey, ++ key: apiKey, + }; + const googleUrl = + 'https://maps.googleapis.com/maps/api/place/textsearch/json?' + diff --git a/packages/obsidian/plugins/map-view/package-lock.patch b/packages/obsidian/plugins/map-view/package-lock.patch new file mode 100644 index 0000000..4483d35 --- /dev/null +++ b/packages/obsidian/plugins/map-view/package-lock.patch @@ -0,0 +1,3766 @@ +diff --git a/.gitignore b/.gitignore +index 810e7ea..26e1929 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -4,7 +4,6 @@ + + # npm + node_modules +-package-lock.json + dist + + # build +diff --git a/package-lock.json b/package-lock.json +new file mode 100644 +index 0000000..7930e4d +--- /dev/null ++++ b/package-lock.json +@@ -0,0 +1,3735 @@ ++{ ++ "name": "obsidian-map-view", ++ "version": "5.5.0", ++ "lockfileVersion": 3, ++ "requires": true, ++ "packages": { ++ "": { ++ "name": "obsidian-map-view", ++ "version": "5.5.0", ++ "license": "MIT", ++ "dependencies": { ++ "@fortawesome/fontawesome-svg-core": "^6.7.1", ++ "@fortawesome/free-brands-svg-icons": "^6.7.1", ++ "@fortawesome/free-regular-svg-icons": "^6.7.1", ++ "@fortawesome/free-solid-svg-icons": "^6.7.1", ++ "@popperjs/core": "^2.11.8", ++ "boon-js": "^2.0.5", ++ "core-js": "^3.39.0", ++ "fast-xml-parser": "^4.5.0", ++ "leaflet": "^1.9.4", ++ "leaflet-extra-markers": "^1.2.2", ++ "leaflet-fullscreen": "^1.0.2", ++ "leaflet-geosearch": "^4.0.0", ++ "leaflet.markercluster": "^1.5.3", ++ "leaflet.offline": "^3.1.0", ++ "moment": "^2.30.1", ++ "open": "^10.1.0", ++ "query-string": "^9.1.1", ++ "wildcard": "^2.0.1" ++ }, ++ "devDependencies": { ++ "@codemirror/state": "^6.4.1", ++ "@codemirror/view": "^6.35.0", ++ "@rollup/plugin-commonjs": "^28.0.1", ++ "@rollup/plugin-image": "^3.0.3", ++ "@rollup/plugin-node-resolve": "^15.3.0", ++ "@rollup/plugin-typescript": "^12.1.1", ++ "@tsconfig/svelte": "^5.0.4", ++ "@types/geojson": "^7946.0.14", ++ "@types/google.maps": "^3.58.1", ++ "@types/leaflet": "^1.9.15", ++ "@types/leaflet.markercluster": "^1.5.5", ++ "@types/node": "^22.10.1", ++ "codemirror": "^6.0.1", ++ "lefthook": "^1.8.5", ++ "obsidian": "^1.7.2", ++ "postcss-less": "^6.0.0", ++ "postcss-url": "^10.1.3", ++ "prettier": "^3.4.2", ++ "rollup": "^4.28.0", ++ "rollup-plugin-copy": "^3.5.0", ++ "rollup-plugin-postcss": "^4.0.2", ++ "rollup-plugin-svelte": "^7.2.2", ++ "svelte": "^5.6.2", ++ "svelte-preprocess": "^6.0.3", ++ "tslib": "^2.8.1", ++ "typescript": "^5.7.2" ++ } ++ }, ++ "node_modules/@ampproject/remapping": { ++ "version": "2.3.0", ++ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", ++ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", ++ "dev": true, ++ "license": "Apache-2.0", ++ "dependencies": { ++ "@jridgewell/gen-mapping": "^0.3.5", ++ "@jridgewell/trace-mapping": "^0.3.24" ++ }, ++ "engines": { ++ "node": ">=6.0.0" ++ } ++ }, ++ "node_modules/@codemirror/autocomplete": { ++ "version": "6.17.0", ++ "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.17.0.tgz", ++ "integrity": "sha512-fdfj6e6ZxZf8yrkMHUSJJir7OJkHkZKaOZGzLWIYp2PZ3jd+d+UjG8zVPqJF6d3bKxkhvXTPan/UZ1t7Bqm0gA==", ++ "dev": true, ++ "dependencies": { ++ "@codemirror/language": "^6.0.0", ++ "@codemirror/state": "^6.0.0", ++ "@codemirror/view": "^6.17.0", ++ "@lezer/common": "^1.0.0" ++ }, ++ "peerDependencies": { ++ "@codemirror/language": "^6.0.0", ++ "@codemirror/state": "^6.0.0", ++ "@codemirror/view": "^6.0.0", ++ "@lezer/common": "^1.0.0" ++ } ++ }, ++ "node_modules/@codemirror/commands": { ++ "version": "6.6.0", ++ "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.6.0.tgz", ++ "integrity": "sha512-qnY+b7j1UNcTS31Eenuc/5YJB6gQOzkUoNmJQc0rznwqSRpeaWWpjkWy2C/MPTcePpsKJEM26hXrOXl1+nceXg==", ++ "dev": true, ++ "dependencies": { ++ "@codemirror/language": "^6.0.0", ++ "@codemirror/state": "^6.4.0", ++ "@codemirror/view": "^6.27.0", ++ "@lezer/common": "^1.1.0" ++ } ++ }, ++ "node_modules/@codemirror/language": { ++ "version": "6.10.2", ++ "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.10.2.tgz", ++ "integrity": "sha512-kgbTYTo0Au6dCSc/TFy7fK3fpJmgHDv1sG1KNQKJXVi+xBTEeBPY/M30YXiU6mMXeH+YIDLsbrT4ZwNRdtF+SA==", ++ "dev": true, ++ "dependencies": { ++ "@codemirror/state": "^6.0.0", ++ "@codemirror/view": "^6.23.0", ++ "@lezer/common": "^1.1.0", ++ "@lezer/highlight": "^1.0.0", ++ "@lezer/lr": "^1.0.0", ++ "style-mod": "^4.0.0" ++ } ++ }, ++ "node_modules/@codemirror/lint": { ++ "version": "6.8.1", ++ "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.8.1.tgz", ++ "integrity": "sha512-IZ0Y7S4/bpaunwggW2jYqwLuHj0QtESf5xcROewY6+lDNwZ/NzvR4t+vpYgg9m7V8UXLPYqG+lu3DF470E5Oxg==", ++ "dev": true, ++ "dependencies": { ++ "@codemirror/state": "^6.0.0", ++ "@codemirror/view": "^6.0.0", ++ "crelt": "^1.0.5" ++ } ++ }, ++ "node_modules/@codemirror/search": { ++ "version": "6.5.6", ++ "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.6.tgz", ++ "integrity": "sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==", ++ "dev": true, ++ "dependencies": { ++ "@codemirror/state": "^6.0.0", ++ "@codemirror/view": "^6.0.0", ++ "crelt": "^1.0.5" ++ } ++ }, ++ "node_modules/@codemirror/state": { ++ "version": "6.5.2", ++ "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.5.2.tgz", ++ "integrity": "sha512-FVqsPqtPWKVVL3dPSxy8wEF/ymIEuVzF1PK3VbUgrxXpJUSHQWWZz4JMToquRxnkw+36LTamCZG2iua2Ptq0fA==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "@marijn/find-cluster-break": "^1.0.0" ++ } ++ }, ++ "node_modules/@codemirror/view": { ++ "version": "6.36.3", ++ "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.36.3.tgz", ++ "integrity": "sha512-N2bilM47QWC8Hnx0rMdDxO2x2ImJ1FvZWXubwKgjeoOrWwEiFrtpA7SFHcuZ+o2Ze2VzbkgbzWVj4+V18LVkeg==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "@codemirror/state": "^6.5.0", ++ "style-mod": "^4.1.0", ++ "w3c-keyname": "^2.2.4" ++ } ++ }, ++ "node_modules/@fortawesome/fontawesome-common-types": { ++ "version": "6.7.2", ++ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.7.2.tgz", ++ "integrity": "sha512-Zs+YeHUC5fkt7Mg1l6XTniei3k4bwG/yo3iFUtZWd/pMx9g3fdvkSK9E0FOC+++phXOka78uJcYb8JaFkW52Xg==", ++ "license": "MIT", ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/@fortawesome/fontawesome-svg-core": { ++ "version": "6.7.2", ++ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.7.2.tgz", ++ "integrity": "sha512-yxtOBWDrdi5DD5o1pmVdq3WMCvnobT0LU6R8RyyVXPvFRd2o79/0NCuQoCjNTeZz9EzA9xS3JxNWfv54RIHFEA==", ++ "license": "MIT", ++ "dependencies": { ++ "@fortawesome/fontawesome-common-types": "6.7.2" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/@fortawesome/free-brands-svg-icons": { ++ "version": "6.7.2", ++ "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.7.2.tgz", ++ "integrity": "sha512-zu0evbcRTgjKfrr77/2XX+bU+kuGfjm0LbajJHVIgBWNIDzrhpRxiCPNT8DW5AdmSsq7Mcf9D1bH0aSeSUSM+Q==", ++ "license": "(CC-BY-4.0 AND MIT)", ++ "dependencies": { ++ "@fortawesome/fontawesome-common-types": "6.7.2" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/@fortawesome/free-regular-svg-icons": { ++ "version": "6.7.2", ++ "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.7.2.tgz", ++ "integrity": "sha512-7Z/ur0gvCMW8G93dXIQOkQqHo2M5HLhYrRVC0//fakJXxcF1VmMPsxnG6Ee8qEylA8b8Q3peQXWMNZ62lYF28g==", ++ "license": "(CC-BY-4.0 AND MIT)", ++ "dependencies": { ++ "@fortawesome/fontawesome-common-types": "6.7.2" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/@fortawesome/free-solid-svg-icons": { ++ "version": "6.7.2", ++ "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.7.2.tgz", ++ "integrity": "sha512-GsBrnOzU8uj0LECDfD5zomZJIjrPhIlWU82AHwa2s40FKH+kcxQaBvBo3Z4TxyZHIyX8XTDxsyA33/Vx9eFuQA==", ++ "license": "(CC-BY-4.0 AND MIT)", ++ "dependencies": { ++ "@fortawesome/fontawesome-common-types": "6.7.2" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/@googlemaps/js-api-loader": { ++ "version": "1.16.6", ++ "resolved": "https://registry.npmjs.org/@googlemaps/js-api-loader/-/js-api-loader-1.16.6.tgz", ++ "integrity": "sha512-V8p5W9DbPQx74jWUmyYJOerhiB4C+MHekaO0ZRmc6lrOYrvY7+syLhzOWpp55kqSPeNb+qbC2h8i69aLIX6krQ==", ++ "optional": true, ++ "dependencies": { ++ "fast-deep-equal": "^3.1.3" ++ } ++ }, ++ "node_modules/@jridgewell/gen-mapping": { ++ "version": "0.3.8", ++ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", ++ "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "@jridgewell/set-array": "^1.2.1", ++ "@jridgewell/sourcemap-codec": "^1.4.10", ++ "@jridgewell/trace-mapping": "^0.3.24" ++ }, ++ "engines": { ++ "node": ">=6.0.0" ++ } ++ }, ++ "node_modules/@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, ++ "license": "MIT", ++ "engines": { ++ "node": ">=6.0.0" ++ } ++ }, ++ "node_modules/@jridgewell/set-array": { ++ "version": "1.2.1", ++ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", ++ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", ++ "dev": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=6.0.0" ++ } ++ }, ++ "node_modules/@jridgewell/sourcemap-codec": { ++ "version": "1.5.0", ++ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", ++ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", ++ "dev": true, ++ "license": "MIT" ++ }, ++ "node_modules/@jridgewell/trace-mapping": { ++ "version": "0.3.25", ++ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", ++ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "@jridgewell/resolve-uri": "^3.1.0", ++ "@jridgewell/sourcemap-codec": "^1.4.14" ++ } ++ }, ++ "node_modules/@lezer/common": { ++ "version": "1.2.1", ++ "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz", ++ "integrity": "sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==", ++ "dev": true ++ }, ++ "node_modules/@lezer/highlight": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.0.tgz", ++ "integrity": "sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==", ++ "dev": true, ++ "dependencies": { ++ "@lezer/common": "^1.0.0" ++ } ++ }, ++ "node_modules/@lezer/lr": { ++ "version": "1.4.1", ++ "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.1.tgz", ++ "integrity": "sha512-CHsKq8DMKBf9b3yXPDIU4DbH+ZJd/sJdYOW2llbW/HudP5u0VS6Bfq1hLYfgU7uAYGFIyGGQIsSOXGPEErZiJw==", ++ "dev": true, ++ "dependencies": { ++ "@lezer/common": "^1.0.0" ++ } ++ }, ++ "node_modules/@marijn/find-cluster-break": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/@marijn/find-cluster-break/-/find-cluster-break-1.0.2.tgz", ++ "integrity": "sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==", ++ "dev": true, ++ "license": "MIT" ++ }, ++ "node_modules/@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, ++ "dependencies": { ++ "@nodelib/fs.stat": "2.0.5", ++ "run-parallel": "^1.1.9" ++ }, ++ "engines": { ++ "node": ">= 8" ++ } ++ }, ++ "node_modules/@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, ++ "engines": { ++ "node": ">= 8" ++ } ++ }, ++ "node_modules/@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, ++ "dependencies": { ++ "@nodelib/fs.scandir": "2.1.5", ++ "fastq": "^1.6.0" ++ }, ++ "engines": { ++ "node": ">= 8" ++ } ++ }, ++ "node_modules/@popperjs/core": { ++ "version": "2.11.8", ++ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", ++ "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", ++ "funding": { ++ "type": "opencollective", ++ "url": "https://opencollective.com/popperjs" ++ } ++ }, ++ "node_modules/@rollup/plugin-commonjs": { ++ "version": "28.0.2", ++ "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-28.0.2.tgz", ++ "integrity": "sha512-BEFI2EDqzl+vA1rl97IDRZ61AIwGH093d9nz8+dThxJNH8oSoB7MjWvPCX3dkaK1/RCJ/1v/R1XB15FuSs0fQw==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "@rollup/pluginutils": "^5.0.1", ++ "commondir": "^1.0.1", ++ "estree-walker": "^2.0.2", ++ "fdir": "^6.2.0", ++ "is-reference": "1.2.1", ++ "magic-string": "^0.30.3", ++ "picomatch": "^4.0.2" ++ }, ++ "engines": { ++ "node": ">=16.0.0 || 14 >= 14.17" ++ }, ++ "peerDependencies": { ++ "rollup": "^2.68.0||^3.0.0||^4.0.0" ++ }, ++ "peerDependenciesMeta": { ++ "rollup": { ++ "optional": true ++ } ++ } ++ }, ++ "node_modules/@rollup/plugin-commonjs/node_modules/fdir": { ++ "version": "6.4.3", ++ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", ++ "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", ++ "dev": true, ++ "license": "MIT", ++ "peerDependencies": { ++ "picomatch": "^3 || ^4" ++ }, ++ "peerDependenciesMeta": { ++ "picomatch": { ++ "optional": true ++ } ++ } ++ }, ++ "node_modules/@rollup/plugin-commonjs/node_modules/picomatch": { ++ "version": "4.0.2", ++ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", ++ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", ++ "dev": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=12" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/jonschlinkert" ++ } ++ }, ++ "node_modules/@rollup/plugin-image": { ++ "version": "3.0.3", ++ "resolved": "https://registry.npmjs.org/@rollup/plugin-image/-/plugin-image-3.0.3.tgz", ++ "integrity": "sha512-qXWQwsXpvD4trSb8PeFPFajp8JLpRtqqOeNYRUKnEQNHm7e5UP7fuSRcbjQAJ7wDZBbnJvSdY5ujNBQd9B1iFg==", ++ "dev": true, ++ "dependencies": { ++ "@rollup/pluginutils": "^5.0.1", ++ "mini-svg-data-uri": "^1.4.4" ++ }, ++ "engines": { ++ "node": ">=14.0.0" ++ }, ++ "peerDependencies": { ++ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" ++ }, ++ "peerDependenciesMeta": { ++ "rollup": { ++ "optional": true ++ } ++ } ++ }, ++ "node_modules/@rollup/plugin-node-resolve": { ++ "version": "15.3.1", ++ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.3.1.tgz", ++ "integrity": "sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "@rollup/pluginutils": "^5.0.1", ++ "@types/resolve": "1.20.2", ++ "deepmerge": "^4.2.2", ++ "is-module": "^1.0.0", ++ "resolve": "^1.22.1" ++ }, ++ "engines": { ++ "node": ">=14.0.0" ++ }, ++ "peerDependencies": { ++ "rollup": "^2.78.0||^3.0.0||^4.0.0" ++ }, ++ "peerDependenciesMeta": { ++ "rollup": { ++ "optional": true ++ } ++ } ++ }, ++ "node_modules/@rollup/plugin-typescript": { ++ "version": "12.1.2", ++ "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-12.1.2.tgz", ++ "integrity": "sha512-cdtSp154H5sv637uMr1a8OTWB0L1SWDSm1rDGiyfcGcvQ6cuTs4MDk2BVEBGysUWago4OJN4EQZqOTl/QY3Jgg==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "@rollup/pluginutils": "^5.1.0", ++ "resolve": "^1.22.1" ++ }, ++ "engines": { ++ "node": ">=14.0.0" ++ }, ++ "peerDependencies": { ++ "rollup": "^2.14.0||^3.0.0||^4.0.0", ++ "tslib": "*", ++ "typescript": ">=3.7.0" ++ }, ++ "peerDependenciesMeta": { ++ "rollup": { ++ "optional": true ++ }, ++ "tslib": { ++ "optional": true ++ } ++ } ++ }, ++ "node_modules/@rollup/pluginutils": { ++ "version": "5.1.4", ++ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", ++ "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "@types/estree": "^1.0.0", ++ "estree-walker": "^2.0.2", ++ "picomatch": "^4.0.2" ++ }, ++ "engines": { ++ "node": ">=14.0.0" ++ }, ++ "peerDependencies": { ++ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" ++ }, ++ "peerDependenciesMeta": { ++ "rollup": { ++ "optional": true ++ } ++ } ++ }, ++ "node_modules/@rollup/pluginutils/node_modules/picomatch": { ++ "version": "4.0.2", ++ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", ++ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", ++ "dev": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=12" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/jonschlinkert" ++ } ++ }, ++ "node_modules/@rollup/rollup-android-arm-eabi": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz", ++ "integrity": "sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==", ++ "cpu": [ ++ "arm" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "android" ++ ] ++ }, ++ "node_modules/@rollup/rollup-android-arm64": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz", ++ "integrity": "sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==", ++ "cpu": [ ++ "arm64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "android" ++ ] ++ }, ++ "node_modules/@rollup/rollup-darwin-arm64": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz", ++ "integrity": "sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==", ++ "cpu": [ ++ "arm64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "darwin" ++ ] ++ }, ++ "node_modules/@rollup/rollup-darwin-x64": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz", ++ "integrity": "sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==", ++ "cpu": [ ++ "x64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "darwin" ++ ] ++ }, ++ "node_modules/@rollup/rollup-freebsd-arm64": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz", ++ "integrity": "sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==", ++ "cpu": [ ++ "arm64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "freebsd" ++ ] ++ }, ++ "node_modules/@rollup/rollup-freebsd-x64": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz", ++ "integrity": "sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==", ++ "cpu": [ ++ "x64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "freebsd" ++ ] ++ }, ++ "node_modules/@rollup/rollup-linux-arm-gnueabihf": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz", ++ "integrity": "sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==", ++ "cpu": [ ++ "arm" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "linux" ++ ] ++ }, ++ "node_modules/@rollup/rollup-linux-arm-musleabihf": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz", ++ "integrity": "sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==", ++ "cpu": [ ++ "arm" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "linux" ++ ] ++ }, ++ "node_modules/@rollup/rollup-linux-arm64-gnu": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz", ++ "integrity": "sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==", ++ "cpu": [ ++ "arm64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "linux" ++ ] ++ }, ++ "node_modules/@rollup/rollup-linux-arm64-musl": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz", ++ "integrity": "sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==", ++ "cpu": [ ++ "arm64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "linux" ++ ] ++ }, ++ "node_modules/@rollup/rollup-linux-loongarch64-gnu": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz", ++ "integrity": "sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==", ++ "cpu": [ ++ "loong64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "linux" ++ ] ++ }, ++ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz", ++ "integrity": "sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==", ++ "cpu": [ ++ "ppc64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "linux" ++ ] ++ }, ++ "node_modules/@rollup/rollup-linux-riscv64-gnu": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz", ++ "integrity": "sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==", ++ "cpu": [ ++ "riscv64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "linux" ++ ] ++ }, ++ "node_modules/@rollup/rollup-linux-s390x-gnu": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz", ++ "integrity": "sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==", ++ "cpu": [ ++ "s390x" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "linux" ++ ] ++ }, ++ "node_modules/@rollup/rollup-linux-x64-gnu": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz", ++ "integrity": "sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==", ++ "cpu": [ ++ "x64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "linux" ++ ] ++ }, ++ "node_modules/@rollup/rollup-linux-x64-musl": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz", ++ "integrity": "sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==", ++ "cpu": [ ++ "x64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "linux" ++ ] ++ }, ++ "node_modules/@rollup/rollup-win32-arm64-msvc": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz", ++ "integrity": "sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==", ++ "cpu": [ ++ "arm64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "win32" ++ ] ++ }, ++ "node_modules/@rollup/rollup-win32-ia32-msvc": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz", ++ "integrity": "sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==", ++ "cpu": [ ++ "ia32" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "win32" ++ ] ++ }, ++ "node_modules/@rollup/rollup-win32-x64-msvc": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz", ++ "integrity": "sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==", ++ "cpu": [ ++ "x64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "win32" ++ ] ++ }, ++ "node_modules/@trysound/sax": { ++ "version": "0.2.0", ++ "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", ++ "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", ++ "dev": true, ++ "engines": { ++ "node": ">=10.13.0" ++ } ++ }, ++ "node_modules/@tsconfig/svelte": { ++ "version": "5.0.4", ++ "resolved": "https://registry.npmjs.org/@tsconfig/svelte/-/svelte-5.0.4.tgz", ++ "integrity": "sha512-BV9NplVgLmSi4mwKzD8BD/NQ8erOY/nUE/GpgWe2ckx+wIQF5RyRirn/QsSSCPeulVpc3RA/iJt6DpfTIZps0Q==", ++ "dev": true, ++ "license": "MIT" ++ }, ++ "node_modules/@types/codemirror": { ++ "version": "5.60.8", ++ "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.8.tgz", ++ "integrity": "sha512-VjFgDF/eB+Aklcy15TtOTLQeMjTo07k7KAjql8OK5Dirr7a6sJY4T1uVBDuTVG9VEmn1uUsohOpYnVfgC6/jyw==", ++ "dev": true, ++ "dependencies": { ++ "@types/tern": "*" ++ } ++ }, ++ "node_modules/@types/estree": { ++ "version": "1.0.6", ++ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", ++ "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", ++ "dev": true, ++ "license": "MIT" ++ }, ++ "node_modules/@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, ++ "dependencies": { ++ "@types/node": "*" ++ } ++ }, ++ "node_modules/@types/geojson": { ++ "version": "7946.0.14", ++ "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", ++ "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==", ++ "dev": true ++ }, ++ "node_modules/@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, ++ "dependencies": { ++ "@types/minimatch": "*", ++ "@types/node": "*" ++ } ++ }, ++ "node_modules/@types/google.maps": { ++ "version": "3.58.1", ++ "resolved": "https://registry.npmjs.org/@types/google.maps/-/google.maps-3.58.1.tgz", ++ "integrity": "sha512-X9QTSvGJ0nCfMzYOnaVs/k6/4L+7F5uCS+4iUmkLEls6J9S/Phv+m/i3mDeyc49ZBgwab3EFO1HEoBY7k98EGQ==", ++ "dev": true, ++ "license": "MIT" ++ }, ++ "node_modules/@types/leaflet": { ++ "version": "1.9.16", ++ "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.16.tgz", ++ "integrity": "sha512-wzZoyySUxkgMZ0ihJ7IaUIblG8Rdc8AbbZKLneyn+QjYsj5q1QU7TEKYqwTr10BGSzY5LI7tJk9Ifo+mEjdFRw==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "@types/geojson": "*" ++ } ++ }, ++ "node_modules/@types/leaflet.markercluster": { ++ "version": "1.5.5", ++ "resolved": "https://registry.npmjs.org/@types/leaflet.markercluster/-/leaflet.markercluster-1.5.5.tgz", ++ "integrity": "sha512-TkWOhSHDM1ANxmLi+uK0PjsVcjIKBr8CLV2WoF16dIdeFmC0Cj5P5axkI3C1Xsi4+ht6EU8+BfEbbqEF9icPrg==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "@types/leaflet": "*" ++ } ++ }, ++ "node_modules/@types/minimatch": { ++ "version": "5.1.2", ++ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", ++ "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", ++ "dev": true ++ }, ++ "node_modules/@types/node": { ++ "version": "22.13.5", ++ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.5.tgz", ++ "integrity": "sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "undici-types": "~6.20.0" ++ } ++ }, ++ "node_modules/@types/resolve": { ++ "version": "1.20.2", ++ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", ++ "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", ++ "dev": true, ++ "license": "MIT" ++ }, ++ "node_modules/@types/tern": { ++ "version": "0.23.9", ++ "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.9.tgz", ++ "integrity": "sha512-ypzHFE/wBzh+BlH6rrBgS5I/Z7RD21pGhZ2rltb/+ZrVM1awdZwjx7hE5XfuYgHWk9uvV5HLZN3SloevCAp3Bw==", ++ "dev": true, ++ "dependencies": { ++ "@types/estree": "*" ++ } ++ }, ++ "node_modules/acorn": { ++ "version": "8.14.0", ++ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", ++ "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", ++ "dev": true, ++ "license": "MIT", ++ "bin": { ++ "acorn": "bin/acorn" ++ }, ++ "engines": { ++ "node": ">=0.4.0" ++ } ++ }, ++ "node_modules/acorn-typescript": { ++ "version": "1.4.13", ++ "resolved": "https://registry.npmjs.org/acorn-typescript/-/acorn-typescript-1.4.13.tgz", ++ "integrity": "sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==", ++ "dev": true, ++ "license": "MIT", ++ "peerDependencies": { ++ "acorn": ">=8.9.0" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "color-convert": "^2.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/ansi-styles?sponsor=1" ++ } ++ }, ++ "node_modules/aria-query": { ++ "version": "5.3.2", ++ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", ++ "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", ++ "dev": true, ++ "license": "Apache-2.0", ++ "engines": { ++ "node": ">= 0.4" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/axobject-query": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", ++ "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", ++ "dev": true, ++ "license": "Apache-2.0", ++ "engines": { ++ "node": ">= 0.4" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/boolbase": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", ++ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", ++ "dev": true ++ }, ++ "node_modules/boon-js": { ++ "version": "2.0.5", ++ "resolved": "https://registry.npmjs.org/boon-js/-/boon-js-2.0.5.tgz", ++ "integrity": "sha512-Ck9YXckVbbIjpZPxtKXJ5TcT+ptU4E9lJy2X6hBKsR2nZqg026eHf9aw3KGXoFbfO4coRLaW9ql0tWrBrqJt1A==" ++ }, ++ "node_modules/brace-expansion": { ++ "version": "1.1.11", ++ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", ++ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", ++ "dev": true, ++ "dependencies": { ++ "balanced-match": "^1.0.0", ++ "concat-map": "0.0.1" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "fill-range": "^7.1.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/browserslist": { ++ "version": "4.23.2", ++ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", ++ "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", ++ "dev": true, ++ "funding": [ ++ { ++ "type": "opencollective", ++ "url": "https://opencollective.com/browserslist" ++ }, ++ { ++ "type": "tidelift", ++ "url": "https://tidelift.com/funding/github/npm/browserslist" ++ }, ++ { ++ "type": "github", ++ "url": "https://github.com/sponsors/ai" ++ } ++ ], ++ "dependencies": { ++ "caniuse-lite": "^1.0.30001640", ++ "electron-to-chromium": "^1.4.820", ++ "node-releases": "^2.0.14", ++ "update-browserslist-db": "^1.1.0" ++ }, ++ "bin": { ++ "browserslist": "cli.js" ++ }, ++ "engines": { ++ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" ++ } ++ }, ++ "node_modules/bundle-name": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", ++ "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", ++ "license": "MIT", ++ "dependencies": { ++ "run-applescript": "^7.0.0" ++ }, ++ "engines": { ++ "node": ">=18" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/caniuse-api": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", ++ "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", ++ "dev": true, ++ "dependencies": { ++ "browserslist": "^4.0.0", ++ "caniuse-lite": "^1.0.0", ++ "lodash.memoize": "^4.1.2", ++ "lodash.uniq": "^4.5.0" ++ } ++ }, ++ "node_modules/caniuse-lite": { ++ "version": "1.0.30001642", ++ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001642.tgz", ++ "integrity": "sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA==", ++ "dev": true, ++ "funding": [ ++ { ++ "type": "opencollective", ++ "url": "https://opencollective.com/browserslist" ++ }, ++ { ++ "type": "tidelift", ++ "url": "https://tidelift.com/funding/github/npm/caniuse-lite" ++ }, ++ { ++ "type": "github", ++ "url": "https://github.com/sponsors/ai" ++ } ++ ] ++ }, ++ "node_modules/chalk": { ++ "version": "4.1.2", ++ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", ++ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", ++ "dev": true, ++ "dependencies": { ++ "ansi-styles": "^4.1.0", ++ "supports-color": "^7.1.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/chalk?sponsor=1" ++ } ++ }, ++ "node_modules/clsx": { ++ "version": "2.1.1", ++ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", ++ "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", ++ "dev": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/codemirror": { ++ "version": "6.0.1", ++ "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.1.tgz", ++ "integrity": "sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==", ++ "dev": true, ++ "dependencies": { ++ "@codemirror/autocomplete": "^6.0.0", ++ "@codemirror/commands": "^6.0.0", ++ "@codemirror/language": "^6.0.0", ++ "@codemirror/lint": "^6.0.0", ++ "@codemirror/search": "^6.0.0", ++ "@codemirror/state": "^6.0.0", ++ "@codemirror/view": "^6.0.0" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "color-name": "~1.1.4" ++ }, ++ "engines": { ++ "node": ">=7.0.0" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/colord": { ++ "version": "2.9.3", ++ "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", ++ "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", ++ "dev": true ++ }, ++ "node_modules/colorette": { ++ "version": "1.4.0", ++ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", ++ "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", ++ "dev": true ++ }, ++ "node_modules/commander": { ++ "version": "7.2.0", ++ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", ++ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", ++ "dev": true, ++ "engines": { ++ "node": ">= 10" ++ } ++ }, ++ "node_modules/commondir": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", ++ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", ++ "dev": true ++ }, ++ "node_modules/concat-map": { ++ "version": "0.0.1", ++ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", ++ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", ++ "dev": true ++ }, ++ "node_modules/concat-with-sourcemaps": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", ++ "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", ++ "dev": true, ++ "dependencies": { ++ "source-map": "^0.6.1" ++ } ++ }, ++ "node_modules/core-js": { ++ "version": "3.40.0", ++ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.40.0.tgz", ++ "integrity": "sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==", ++ "hasInstallScript": true, ++ "license": "MIT", ++ "funding": { ++ "type": "opencollective", ++ "url": "https://opencollective.com/core-js" ++ } ++ }, ++ "node_modules/crelt": { ++ "version": "1.0.6", ++ "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", ++ "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==", ++ "dev": true ++ }, ++ "node_modules/css-declaration-sorter": { ++ "version": "6.4.1", ++ "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", ++ "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", ++ "dev": true, ++ "engines": { ++ "node": "^10 || ^12 || >=14" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.0.9" ++ } ++ }, ++ "node_modules/css-select": { ++ "version": "4.3.0", ++ "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", ++ "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", ++ "dev": true, ++ "dependencies": { ++ "boolbase": "^1.0.0", ++ "css-what": "^6.0.1", ++ "domhandler": "^4.3.1", ++ "domutils": "^2.8.0", ++ "nth-check": "^2.0.1" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/fb55" ++ } ++ }, ++ "node_modules/css-tree": { ++ "version": "1.1.3", ++ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", ++ "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", ++ "dev": true, ++ "dependencies": { ++ "mdn-data": "2.0.14", ++ "source-map": "^0.6.1" ++ }, ++ "engines": { ++ "node": ">=8.0.0" ++ } ++ }, ++ "node_modules/css-what": { ++ "version": "6.1.0", ++ "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", ++ "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", ++ "dev": true, ++ "engines": { ++ "node": ">= 6" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/fb55" ++ } ++ }, ++ "node_modules/cssesc": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", ++ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", ++ "dev": true, ++ "bin": { ++ "cssesc": "bin/cssesc" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/cssnano": { ++ "version": "5.1.15", ++ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", ++ "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", ++ "dev": true, ++ "dependencies": { ++ "cssnano-preset-default": "^5.2.14", ++ "lilconfig": "^2.0.3", ++ "yaml": "^1.10.2" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "funding": { ++ "type": "opencollective", ++ "url": "https://opencollective.com/cssnano" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/cssnano-preset-default": { ++ "version": "5.2.14", ++ "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", ++ "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", ++ "dev": true, ++ "dependencies": { ++ "css-declaration-sorter": "^6.3.1", ++ "cssnano-utils": "^3.1.0", ++ "postcss-calc": "^8.2.3", ++ "postcss-colormin": "^5.3.1", ++ "postcss-convert-values": "^5.1.3", ++ "postcss-discard-comments": "^5.1.2", ++ "postcss-discard-duplicates": "^5.1.0", ++ "postcss-discard-empty": "^5.1.1", ++ "postcss-discard-overridden": "^5.1.0", ++ "postcss-merge-longhand": "^5.1.7", ++ "postcss-merge-rules": "^5.1.4", ++ "postcss-minify-font-values": "^5.1.0", ++ "postcss-minify-gradients": "^5.1.1", ++ "postcss-minify-params": "^5.1.4", ++ "postcss-minify-selectors": "^5.2.1", ++ "postcss-normalize-charset": "^5.1.0", ++ "postcss-normalize-display-values": "^5.1.0", ++ "postcss-normalize-positions": "^5.1.1", ++ "postcss-normalize-repeat-style": "^5.1.1", ++ "postcss-normalize-string": "^5.1.0", ++ "postcss-normalize-timing-functions": "^5.1.0", ++ "postcss-normalize-unicode": "^5.1.1", ++ "postcss-normalize-url": "^5.1.0", ++ "postcss-normalize-whitespace": "^5.1.1", ++ "postcss-ordered-values": "^5.1.3", ++ "postcss-reduce-initial": "^5.1.2", ++ "postcss-reduce-transforms": "^5.1.0", ++ "postcss-svgo": "^5.1.0", ++ "postcss-unique-selectors": "^5.1.1" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/cssnano-utils": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", ++ "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", ++ "dev": true, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/csso": { ++ "version": "4.2.0", ++ "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", ++ "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", ++ "dev": true, ++ "dependencies": { ++ "css-tree": "^1.1.2" ++ }, ++ "engines": { ++ "node": ">=8.0.0" ++ } ++ }, ++ "node_modules/cuint": { ++ "version": "0.2.2", ++ "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", ++ "integrity": "sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==", ++ "dev": true ++ }, ++ "node_modules/decode-uri-component": { ++ "version": "0.4.1", ++ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.4.1.tgz", ++ "integrity": "sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ==", ++ "license": "MIT", ++ "engines": { ++ "node": ">=14.16" ++ } ++ }, ++ "node_modules/deepmerge": { ++ "version": "4.3.1", ++ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", ++ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/default-browser": { ++ "version": "5.2.1", ++ "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", ++ "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", ++ "license": "MIT", ++ "dependencies": { ++ "bundle-name": "^4.1.0", ++ "default-browser-id": "^5.0.0" ++ }, ++ "engines": { ++ "node": ">=18" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/default-browser-id": { ++ "version": "5.0.0", ++ "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", ++ "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", ++ "license": "MIT", ++ "engines": { ++ "node": ">=18" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/define-lazy-prop": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", ++ "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", ++ "license": "MIT", ++ "engines": { ++ "node": ">=12" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "path-type": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/dom-serializer": { ++ "version": "1.4.1", ++ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", ++ "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", ++ "dev": true, ++ "dependencies": { ++ "domelementtype": "^2.0.1", ++ "domhandler": "^4.2.0", ++ "entities": "^2.0.0" ++ }, ++ "funding": { ++ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" ++ } ++ }, ++ "node_modules/domelementtype": { ++ "version": "2.3.0", ++ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", ++ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", ++ "dev": true, ++ "funding": [ ++ { ++ "type": "github", ++ "url": "https://github.com/sponsors/fb55" ++ } ++ ] ++ }, ++ "node_modules/domhandler": { ++ "version": "4.3.1", ++ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", ++ "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", ++ "dev": true, ++ "dependencies": { ++ "domelementtype": "^2.2.0" ++ }, ++ "engines": { ++ "node": ">= 4" ++ }, ++ "funding": { ++ "url": "https://github.com/fb55/domhandler?sponsor=1" ++ } ++ }, ++ "node_modules/domutils": { ++ "version": "2.8.0", ++ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", ++ "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", ++ "dev": true, ++ "dependencies": { ++ "dom-serializer": "^1.0.1", ++ "domelementtype": "^2.2.0", ++ "domhandler": "^4.2.0" ++ }, ++ "funding": { ++ "url": "https://github.com/fb55/domutils?sponsor=1" ++ } ++ }, ++ "node_modules/electron-to-chromium": { ++ "version": "1.4.832", ++ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.832.tgz", ++ "integrity": "sha512-cTen3SB0H2SGU7x467NRe1eVcQgcuS6jckKfWJHia2eo0cHIGOqHoAxevIYZD4eRHcWjkvFzo93bi3vJ9W+1lA==", ++ "dev": true ++ }, ++ "node_modules/entities": { ++ "version": "2.2.0", ++ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", ++ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", ++ "dev": true, ++ "funding": { ++ "url": "https://github.com/fb55/entities?sponsor=1" ++ } ++ }, ++ "node_modules/escalade": { ++ "version": "3.1.2", ++ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", ++ "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", ++ "dev": true, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/esm-env": { ++ "version": "1.2.2", ++ "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", ++ "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==", ++ "dev": true, ++ "license": "MIT" ++ }, ++ "node_modules/esrap": { ++ "version": "1.4.5", ++ "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.4.5.tgz", ++ "integrity": "sha512-CjNMjkBWWZeHn+VX+gS8YvFwJ5+NDhg8aWZBSFJPR8qQduDNjbJodA2WcwCm7uQa5Rjqj+nZvVmceg1RbHFB9g==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "@jridgewell/sourcemap-codec": "^1.4.15" ++ } ++ }, ++ "node_modules/estree-walker": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", ++ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", ++ "dev": true ++ }, ++ "node_modules/eventemitter3": { ++ "version": "4.0.7", ++ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", ++ "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", ++ "dev": true ++ }, ++ "node_modules/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==", ++ "optional": true ++ }, ++ "node_modules/fast-glob": { ++ "version": "3.3.2", ++ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", ++ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", ++ "dev": true, ++ "dependencies": { ++ "@nodelib/fs.stat": "^2.0.2", ++ "@nodelib/fs.walk": "^1.2.3", ++ "glob-parent": "^5.1.2", ++ "merge2": "^1.3.0", ++ "micromatch": "^4.0.4" ++ }, ++ "engines": { ++ "node": ">=8.6.0" ++ } ++ }, ++ "node_modules/fast-xml-parser": { ++ "version": "4.5.3", ++ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz", ++ "integrity": "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==", ++ "funding": [ ++ { ++ "type": "github", ++ "url": "https://github.com/sponsors/NaturalIntelligence" ++ } ++ ], ++ "license": "MIT", ++ "dependencies": { ++ "strnum": "^1.1.1" ++ }, ++ "bin": { ++ "fxparser": "src/cli/cli.js" ++ } ++ }, ++ "node_modules/fastq": { ++ "version": "1.17.1", ++ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", ++ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", ++ "dev": true, ++ "dependencies": { ++ "reusify": "^1.0.4" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "to-regex-range": "^5.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/filter-obj": { ++ "version": "5.1.0", ++ "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz", ++ "integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==", ++ "license": "MIT", ++ "engines": { ++ "node": ">=14.16" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "graceful-fs": "^4.2.0", ++ "jsonfile": "^4.0.0", ++ "universalify": "^0.1.0" ++ }, ++ "engines": { ++ "node": ">=6 <7 || >=8" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/fsevents": { ++ "version": "2.3.3", ++ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", ++ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", ++ "dev": true, ++ "hasInstallScript": true, ++ "optional": true, ++ "os": [ ++ "darwin" ++ ], ++ "engines": { ++ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" ++ } ++ }, ++ "node_modules/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, ++ "funding": { ++ "url": "https://github.com/sponsors/ljharb" ++ } ++ }, ++ "node_modules/generic-names": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-4.0.0.tgz", ++ "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==", ++ "dev": true, ++ "dependencies": { ++ "loader-utils": "^3.2.0" ++ } ++ }, ++ "node_modules/glob": { ++ "version": "7.2.3", ++ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", ++ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", ++ "deprecated": "Glob versions prior to v9 are no longer supported", ++ "dev": true, ++ "dependencies": { ++ "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" ++ }, ++ "engines": { ++ "node": "*" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/isaacs" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "is-glob": "^4.0.1" ++ }, ++ "engines": { ++ "node": ">= 6" ++ } ++ }, ++ "node_modules/globby": { ++ "version": "10.0.1", ++ "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", ++ "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", ++ "dev": true, ++ "dependencies": { ++ "@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" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/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==", ++ "dev": true ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/hasown": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", ++ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", ++ "dev": true, ++ "dependencies": { ++ "function-bind": "^1.1.2" ++ }, ++ "engines": { ++ "node": ">= 0.4" ++ } ++ }, ++ "node_modules/icss-replace-symbols": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", ++ "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==", ++ "dev": true ++ }, ++ "node_modules/icss-utils": { ++ "version": "5.1.0", ++ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", ++ "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", ++ "dev": true, ++ "engines": { ++ "node": "^10 || ^12 || >= 14" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.1.0" ++ } ++ }, ++ "node_modules/idb": { ++ "version": "7.1.1", ++ "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", ++ "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", ++ "license": "ISC" ++ }, ++ "node_modules/ignore": { ++ "version": "5.3.1", ++ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", ++ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", ++ "dev": true, ++ "engines": { ++ "node": ">= 4" ++ } ++ }, ++ "node_modules/import-cwd": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz", ++ "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", ++ "dev": true, ++ "dependencies": { ++ "import-from": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/import-from": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", ++ "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", ++ "dev": true, ++ "dependencies": { ++ "resolve-from": "^5.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/inflight": { ++ "version": "1.0.6", ++ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", ++ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", ++ "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", ++ "dev": true, ++ "dependencies": { ++ "once": "^1.3.0", ++ "wrappy": "1" ++ } ++ }, ++ "node_modules/inherits": { ++ "version": "2.0.4", ++ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", ++ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", ++ "dev": true ++ }, ++ "node_modules/is-core-module": { ++ "version": "2.15.0", ++ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", ++ "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", ++ "dev": true, ++ "dependencies": { ++ "hasown": "^2.0.2" ++ }, ++ "engines": { ++ "node": ">= 0.4" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/ljharb" ++ } ++ }, ++ "node_modules/is-docker": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", ++ "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", ++ "license": "MIT", ++ "bin": { ++ "is-docker": "cli.js" ++ }, ++ "engines": { ++ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/is-extglob": { ++ "version": "2.1.1", ++ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", ++ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "is-extglob": "^2.1.1" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/is-inside-container": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", ++ "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", ++ "license": "MIT", ++ "dependencies": { ++ "is-docker": "^3.0.0" ++ }, ++ "bin": { ++ "is-inside-container": "cli.js" ++ }, ++ "engines": { ++ "node": ">=14.16" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/is-module": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", ++ "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", ++ "dev": true ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=0.12.0" ++ } ++ }, ++ "node_modules/is-plain-object": { ++ "version": "3.0.1", ++ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz", ++ "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/is-reference": { ++ "version": "1.2.1", ++ "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", ++ "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", ++ "dev": true, ++ "dependencies": { ++ "@types/estree": "*" ++ } ++ }, ++ "node_modules/is-wsl": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", ++ "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", ++ "license": "MIT", ++ "dependencies": { ++ "is-inside-container": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=16" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/jsonfile": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", ++ "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", ++ "dev": true, ++ "optionalDependencies": { ++ "graceful-fs": "^4.1.6" ++ } ++ }, ++ "node_modules/leaflet": { ++ "version": "1.9.4", ++ "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", ++ "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==", ++ "license": "BSD-2-Clause" ++ }, ++ "node_modules/leaflet-extra-markers": { ++ "version": "1.2.2", ++ "resolved": "https://registry.npmjs.org/leaflet-extra-markers/-/leaflet-extra-markers-1.2.2.tgz", ++ "integrity": "sha512-LQUicXhyOwq0wOFtEftJg9IzAGcQI+6mHgh3wsVntrid149BTqsEgh1UcxPPtzcL7xt8jXY0rssfz7DUZuQudg==", ++ "peerDependencies": { ++ "leaflet": ">= 0.5 < 2" ++ } ++ }, ++ "node_modules/leaflet-fullscreen": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/leaflet-fullscreen/-/leaflet-fullscreen-1.0.2.tgz", ++ "integrity": "sha512-1Yxm8RZg6KlKX25+hbP2H/wnOAphH7hFcvuADJFb4QZTN7uOSN9Hsci5EZpow8vtNej9OGzu59Jxmn+0qKOO9Q==" ++ }, ++ "node_modules/leaflet-geosearch": { ++ "version": "4.2.0", ++ "resolved": "https://registry.npmjs.org/leaflet-geosearch/-/leaflet-geosearch-4.2.0.tgz", ++ "integrity": "sha512-UWNhFSaUcLlAP5UQY75ziWCl3cp0UCcmcFczPHLHjuAVPOHoPTe0nSgHJuI3pSTJBQm46NYoZOlgonrWceUznQ==", ++ "license": "MIT", ++ "optionalDependencies": { ++ "@googlemaps/js-api-loader": "^1.16.6", ++ "leaflet": "^1.6.0" ++ } ++ }, ++ "node_modules/leaflet.markercluster": { ++ "version": "1.5.3", ++ "resolved": "https://registry.npmjs.org/leaflet.markercluster/-/leaflet.markercluster-1.5.3.tgz", ++ "integrity": "sha512-vPTw/Bndq7eQHjLBVlWpnGeLa3t+3zGiuM7fJwCkiMFq+nmRuG3RI3f7f4N4TDX7T4NpbAXpR2+NTRSEGfCSeA==", ++ "peerDependencies": { ++ "leaflet": "^1.3.1" ++ } ++ }, ++ "node_modules/leaflet.offline": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/leaflet.offline/-/leaflet.offline-3.1.0.tgz", ++ "integrity": "sha512-dl3mzTEl1SnmzvJtJ0hVFLvlFX2wut/srvRAZ3A3g7Ee/RQkOo5zQ6tfVNhKe8N+adGXqcdEqEY9kgUxXCnEAw==", ++ "license": "ISC", ++ "dependencies": { ++ "idb": "^7.1.1", ++ "leaflet": "^1.6.0" ++ }, ++ "engines": { ++ "node": ">=16" ++ } ++ }, ++ "node_modules/lefthook": { ++ "version": "1.11.0", ++ "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-1.11.0.tgz", ++ "integrity": "sha512-FSNRtrcFIe0FUxqEs/0ZYyY7yUvAXLrY8Fic1CRagcSpcC7MByjAV2utkTaslGo4+GPLaZnZL4JD1lNdN/8r2A==", ++ "dev": true, ++ "hasInstallScript": true, ++ "license": "MIT", ++ "bin": { ++ "lefthook": "bin/index.js" ++ }, ++ "optionalDependencies": { ++ "lefthook-darwin-arm64": "1.11.0", ++ "lefthook-darwin-x64": "1.11.0", ++ "lefthook-freebsd-arm64": "1.11.0", ++ "lefthook-freebsd-x64": "1.11.0", ++ "lefthook-linux-arm64": "1.11.0", ++ "lefthook-linux-x64": "1.11.0", ++ "lefthook-openbsd-arm64": "1.11.0", ++ "lefthook-openbsd-x64": "1.11.0", ++ "lefthook-windows-arm64": "1.11.0", ++ "lefthook-windows-x64": "1.11.0" ++ } ++ }, ++ "node_modules/lefthook-darwin-arm64": { ++ "version": "1.11.0", ++ "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.11.0.tgz", ++ "integrity": "sha512-1Man6kmkFIB6Kn0vjrnPaBvIena3cZp/BjN58mCV3ErS5OjYDWtuUe2bl+y1uYDoNzOjiQQvdGWplroYD7Lslw==", ++ "cpu": [ ++ "arm64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "darwin" ++ ] ++ }, ++ "node_modules/lefthook-darwin-x64": { ++ "version": "1.11.0", ++ "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-1.11.0.tgz", ++ "integrity": "sha512-rQ7JJlLjaJNEk/mw7hp2/yGSdsmD2ZcQoH3slSQKfNaMjpZX3HXyBjZODUWtWqx7XqHqgU/SURMNmh/neBirdA==", ++ "cpu": [ ++ "x64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "darwin" ++ ] ++ }, ++ "node_modules/lefthook-freebsd-arm64": { ++ "version": "1.11.0", ++ "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.11.0.tgz", ++ "integrity": "sha512-4FzuYhwtVdekslo6sa3p8ZR2q2qsFtwaNPCUXoisre1aKdL0k8QNQlk0fCZ20/WK7lu+N21CUOKP3LI8iY1dHQ==", ++ "cpu": [ ++ "arm64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "freebsd" ++ ] ++ }, ++ "node_modules/lefthook-freebsd-x64": { ++ "version": "1.11.0", ++ "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.11.0.tgz", ++ "integrity": "sha512-26bOviVrePVJ9pOTFsJgRaS1ZigbTPj3OZFbMlLT+0Cu54uFKZWe5BNg1AZ2y4ioNrg16pilWZYNyc5wL0DlIg==", ++ "cpu": [ ++ "x64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "freebsd" ++ ] ++ }, ++ "node_modules/lefthook-linux-arm64": { ++ "version": "1.11.0", ++ "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-1.11.0.tgz", ++ "integrity": "sha512-iNfa92n4M9EGMKGC8j3l6nlAjX8o7KnuHMA1pWudiSnPwfJwJozNcZH/jhe+A0eqYLkvZ18OlAmJfXFrVBQ0Lg==", ++ "cpu": [ ++ "arm64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "linux" ++ ] ++ }, ++ "node_modules/lefthook-linux-x64": { ++ "version": "1.11.0", ++ "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-1.11.0.tgz", ++ "integrity": "sha512-2NtenHWnPbv27CufQwxVj6HaHqvZmP4qfFwgt+yMmghLml9WLmY3fHjw+CDhAKvlKsBv1mPuE+sGVEhnz7R0zA==", ++ "cpu": [ ++ "x64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "linux" ++ ] ++ }, ++ "node_modules/lefthook-openbsd-arm64": { ++ "version": "1.11.0", ++ "resolved": "https://registry.npmjs.org/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-1.11.0.tgz", ++ "integrity": "sha512-j4kxeWUWDcofJHZs4yF0JnoRRuE92xekxh2i22mdufVmCBNOSiWGOT78hT5UwfQucjVjKY3oCtGH29ItiY0J1g==", ++ "cpu": [ ++ "arm64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "openbsd" ++ ] ++ }, ++ "node_modules/lefthook-openbsd-x64": { ++ "version": "1.11.0", ++ "resolved": "https://registry.npmjs.org/lefthook-openbsd-x64/-/lefthook-openbsd-x64-1.11.0.tgz", ++ "integrity": "sha512-QaTbLaDpdSjHLsNronxYqrEVEMV2+wRnF8kvffAiWIoMl1Z15acxHNrGtXNywZ4OhsKifqt6w+CLQyoZfm7u7g==", ++ "cpu": [ ++ "x64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "openbsd" ++ ] ++ }, ++ "node_modules/lefthook-windows-arm64": { ++ "version": "1.11.0", ++ "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-1.11.0.tgz", ++ "integrity": "sha512-dxtQ+JCOaHJBuC+I4y0ati0cT62vui2WUlhc4AS/UPv3kp/UZC8ahdnYPAlg3xVLmAgb0nBOyHm7pYVq3A62MQ==", ++ "cpu": [ ++ "arm64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "win32" ++ ] ++ }, ++ "node_modules/lefthook-windows-x64": { ++ "version": "1.11.0", ++ "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-1.11.0.tgz", ++ "integrity": "sha512-7ca/WQS3TYBwL2puzTFHM8wj6zZGuRlZKYkzLQncJ3+9UjVL+kcT9PuL4kOMs7sXyCsAYsdhNuko70w/28nTRA==", ++ "cpu": [ ++ "x64" ++ ], ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "os": [ ++ "win32" ++ ] ++ }, ++ "node_modules/lilconfig": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", ++ "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", ++ "dev": true, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/loader-utils": { ++ "version": "3.3.1", ++ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", ++ "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", ++ "dev": true, ++ "engines": { ++ "node": ">= 12.13.0" ++ } ++ }, ++ "node_modules/locate-character": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", ++ "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", ++ "dev": true, ++ "license": "MIT" ++ }, ++ "node_modules/lodash.camelcase": { ++ "version": "4.3.0", ++ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", ++ "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", ++ "dev": true ++ }, ++ "node_modules/lodash.memoize": { ++ "version": "4.1.2", ++ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", ++ "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", ++ "dev": true ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/magic-string": { ++ "version": "0.30.17", ++ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", ++ "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "@jridgewell/sourcemap-codec": "^1.5.0" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "semver": "^6.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/mdn-data": { ++ "version": "2.0.14", ++ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", ++ "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", ++ "dev": true ++ }, ++ "node_modules/merge2": { ++ "version": "1.4.1", ++ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", ++ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", ++ "dev": true, ++ "engines": { ++ "node": ">= 8" ++ } ++ }, ++ "node_modules/micromatch": { ++ "version": "4.0.7", ++ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", ++ "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", ++ "dev": true, ++ "dependencies": { ++ "braces": "^3.0.3", ++ "picomatch": "^2.3.1" ++ }, ++ "engines": { ++ "node": ">=8.6" ++ } ++ }, ++ "node_modules/mime": { ++ "version": "2.5.2", ++ "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", ++ "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", ++ "dev": true, ++ "bin": { ++ "mime": "cli.js" ++ }, ++ "engines": { ++ "node": ">=4.0.0" ++ } ++ }, ++ "node_modules/mini-svg-data-uri": { ++ "version": "1.4.4", ++ "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", ++ "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", ++ "dev": true, ++ "bin": { ++ "mini-svg-data-uri": "cli.js" ++ } ++ }, ++ "node_modules/minimatch": { ++ "version": "3.1.2", ++ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", ++ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", ++ "dev": true, ++ "dependencies": { ++ "brace-expansion": "^1.1.7" ++ }, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/moment": { ++ "version": "2.30.1", ++ "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", ++ "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/nanoid": { ++ "version": "3.3.7", ++ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", ++ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", ++ "dev": true, ++ "funding": [ ++ { ++ "type": "github", ++ "url": "https://github.com/sponsors/ai" ++ } ++ ], ++ "peer": true, ++ "bin": { ++ "nanoid": "bin/nanoid.cjs" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" ++ } ++ }, ++ "node_modules/node-releases": { ++ "version": "2.0.17", ++ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.17.tgz", ++ "integrity": "sha512-Ww6ZlOiEQfPfXM45v17oabk77Z7mg5bOt7AjDyzy7RjK9OrLrLC8dyZQoAPEOtFX9SaNf1Tdvr5gRJWdTJj7GA==", ++ "dev": true ++ }, ++ "node_modules/normalize-url": { ++ "version": "6.1.0", ++ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", ++ "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", ++ "dev": true, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/nth-check": { ++ "version": "2.1.1", ++ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", ++ "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", ++ "dev": true, ++ "dependencies": { ++ "boolbase": "^1.0.0" ++ }, ++ "funding": { ++ "url": "https://github.com/fb55/nth-check?sponsor=1" ++ } ++ }, ++ "node_modules/obsidian": { ++ "version": "1.8.7", ++ "resolved": "https://registry.npmjs.org/obsidian/-/obsidian-1.8.7.tgz", ++ "integrity": "sha512-h4bWwNFAGRXlMlMAzdEiIM2ppTGlrh7uGOJS6w4gClrsjc+ei/3YAtU2VdFUlCiPuTHpY4aBpFJJW75S1Tl/JA==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "@types/codemirror": "5.60.8", ++ "moment": "2.29.4" ++ }, ++ "peerDependencies": { ++ "@codemirror/state": "^6.0.0", ++ "@codemirror/view": "^6.0.0" ++ } ++ }, ++ "node_modules/obsidian/node_modules/moment": { ++ "version": "2.29.4", ++ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", ++ "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", ++ "dev": true, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "wrappy": "1" ++ } ++ }, ++ "node_modules/open": { ++ "version": "10.1.0", ++ "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", ++ "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", ++ "license": "MIT", ++ "dependencies": { ++ "default-browser": "^5.2.1", ++ "define-lazy-prop": "^3.0.0", ++ "is-inside-container": "^1.0.0", ++ "is-wsl": "^3.1.0" ++ }, ++ "engines": { ++ "node": ">=18" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/p-finally": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", ++ "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", ++ "dev": true, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/p-queue": { ++ "version": "6.6.2", ++ "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", ++ "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", ++ "dev": true, ++ "dependencies": { ++ "eventemitter3": "^4.0.4", ++ "p-timeout": "^3.2.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/p-timeout": { ++ "version": "3.2.0", ++ "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", ++ "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", ++ "dev": true, ++ "dependencies": { ++ "p-finally": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/picocolors": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", ++ "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", ++ "dev": true ++ }, ++ "node_modules/picomatch": { ++ "version": "2.3.1", ++ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", ++ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", ++ "dev": true, ++ "engines": { ++ "node": ">=8.6" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/jonschlinkert" ++ } ++ }, ++ "node_modules/pify": { ++ "version": "5.0.0", ++ "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", ++ "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", ++ "dev": true, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/postcss": { ++ "version": "8.4.39", ++ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", ++ "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", ++ "dev": true, ++ "funding": [ ++ { ++ "type": "opencollective", ++ "url": "https://opencollective.com/postcss/" ++ }, ++ { ++ "type": "tidelift", ++ "url": "https://tidelift.com/funding/github/npm/postcss" ++ }, ++ { ++ "type": "github", ++ "url": "https://github.com/sponsors/ai" ++ } ++ ], ++ "peer": true, ++ "dependencies": { ++ "nanoid": "^3.3.7", ++ "picocolors": "^1.0.1", ++ "source-map-js": "^1.2.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14" ++ } ++ }, ++ "node_modules/postcss-calc": { ++ "version": "8.2.4", ++ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", ++ "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", ++ "dev": true, ++ "dependencies": { ++ "postcss-selector-parser": "^6.0.9", ++ "postcss-value-parser": "^4.2.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.2" ++ } ++ }, ++ "node_modules/postcss-colormin": { ++ "version": "5.3.1", ++ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", ++ "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", ++ "dev": true, ++ "dependencies": { ++ "browserslist": "^4.21.4", ++ "caniuse-api": "^3.0.0", ++ "colord": "^2.9.1", ++ "postcss-value-parser": "^4.2.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-convert-values": { ++ "version": "5.1.3", ++ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", ++ "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", ++ "dev": true, ++ "dependencies": { ++ "browserslist": "^4.21.4", ++ "postcss-value-parser": "^4.2.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-discard-comments": { ++ "version": "5.1.2", ++ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", ++ "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", ++ "dev": true, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-discard-duplicates": { ++ "version": "5.1.0", ++ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", ++ "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", ++ "dev": true, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-discard-empty": { ++ "version": "5.1.1", ++ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", ++ "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", ++ "dev": true, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-discard-overridden": { ++ "version": "5.1.0", ++ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", ++ "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", ++ "dev": true, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-less": { ++ "version": "6.0.0", ++ "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-6.0.0.tgz", ++ "integrity": "sha512-FPX16mQLyEjLzEuuJtxA8X3ejDLNGGEG503d2YGZR5Ask1SpDN8KmZUMpzCvyalWRywAn1n1VOA5dcqfCLo5rg==", ++ "dev": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=12" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.3.5" ++ } ++ }, ++ "node_modules/postcss-load-config": { ++ "version": "3.1.4", ++ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", ++ "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", ++ "dev": true, ++ "dependencies": { ++ "lilconfig": "^2.0.5", ++ "yaml": "^1.10.2" ++ }, ++ "engines": { ++ "node": ">= 10" ++ }, ++ "funding": { ++ "type": "opencollective", ++ "url": "https://opencollective.com/postcss/" ++ }, ++ "peerDependencies": { ++ "postcss": ">=8.0.9", ++ "ts-node": ">=9.0.0" ++ }, ++ "peerDependenciesMeta": { ++ "postcss": { ++ "optional": true ++ }, ++ "ts-node": { ++ "optional": true ++ } ++ } ++ }, ++ "node_modules/postcss-merge-longhand": { ++ "version": "5.1.7", ++ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", ++ "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", ++ "dev": true, ++ "dependencies": { ++ "postcss-value-parser": "^4.2.0", ++ "stylehacks": "^5.1.1" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-merge-rules": { ++ "version": "5.1.4", ++ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", ++ "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", ++ "dev": true, ++ "dependencies": { ++ "browserslist": "^4.21.4", ++ "caniuse-api": "^3.0.0", ++ "cssnano-utils": "^3.1.0", ++ "postcss-selector-parser": "^6.0.5" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-minify-font-values": { ++ "version": "5.1.0", ++ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", ++ "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", ++ "dev": true, ++ "dependencies": { ++ "postcss-value-parser": "^4.2.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-minify-gradients": { ++ "version": "5.1.1", ++ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", ++ "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", ++ "dev": true, ++ "dependencies": { ++ "colord": "^2.9.1", ++ "cssnano-utils": "^3.1.0", ++ "postcss-value-parser": "^4.2.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-minify-params": { ++ "version": "5.1.4", ++ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", ++ "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", ++ "dev": true, ++ "dependencies": { ++ "browserslist": "^4.21.4", ++ "cssnano-utils": "^3.1.0", ++ "postcss-value-parser": "^4.2.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-minify-selectors": { ++ "version": "5.2.1", ++ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", ++ "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", ++ "dev": true, ++ "dependencies": { ++ "postcss-selector-parser": "^6.0.5" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-modules": { ++ "version": "4.3.1", ++ "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.3.1.tgz", ++ "integrity": "sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==", ++ "dev": true, ++ "dependencies": { ++ "generic-names": "^4.0.0", ++ "icss-replace-symbols": "^1.1.0", ++ "lodash.camelcase": "^4.3.0", ++ "postcss-modules-extract-imports": "^3.0.0", ++ "postcss-modules-local-by-default": "^4.0.0", ++ "postcss-modules-scope": "^3.0.0", ++ "postcss-modules-values": "^4.0.0", ++ "string-hash": "^1.1.1" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.0.0" ++ } ++ }, ++ "node_modules/postcss-modules-extract-imports": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", ++ "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", ++ "dev": true, ++ "engines": { ++ "node": "^10 || ^12 || >= 14" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.1.0" ++ } ++ }, ++ "node_modules/postcss-modules-local-by-default": { ++ "version": "4.0.5", ++ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", ++ "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", ++ "dev": true, ++ "dependencies": { ++ "icss-utils": "^5.0.0", ++ "postcss-selector-parser": "^6.0.2", ++ "postcss-value-parser": "^4.1.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >= 14" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.1.0" ++ } ++ }, ++ "node_modules/postcss-modules-scope": { ++ "version": "3.2.0", ++ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", ++ "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", ++ "dev": true, ++ "dependencies": { ++ "postcss-selector-parser": "^6.0.4" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >= 14" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.1.0" ++ } ++ }, ++ "node_modules/postcss-modules-values": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", ++ "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", ++ "dev": true, ++ "dependencies": { ++ "icss-utils": "^5.0.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >= 14" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.1.0" ++ } ++ }, ++ "node_modules/postcss-normalize-charset": { ++ "version": "5.1.0", ++ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", ++ "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", ++ "dev": true, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-normalize-display-values": { ++ "version": "5.1.0", ++ "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", ++ "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", ++ "dev": true, ++ "dependencies": { ++ "postcss-value-parser": "^4.2.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-normalize-positions": { ++ "version": "5.1.1", ++ "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", ++ "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", ++ "dev": true, ++ "dependencies": { ++ "postcss-value-parser": "^4.2.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-normalize-repeat-style": { ++ "version": "5.1.1", ++ "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", ++ "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", ++ "dev": true, ++ "dependencies": { ++ "postcss-value-parser": "^4.2.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-normalize-string": { ++ "version": "5.1.0", ++ "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", ++ "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", ++ "dev": true, ++ "dependencies": { ++ "postcss-value-parser": "^4.2.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-normalize-timing-functions": { ++ "version": "5.1.0", ++ "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", ++ "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", ++ "dev": true, ++ "dependencies": { ++ "postcss-value-parser": "^4.2.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-normalize-unicode": { ++ "version": "5.1.1", ++ "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", ++ "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", ++ "dev": true, ++ "dependencies": { ++ "browserslist": "^4.21.4", ++ "postcss-value-parser": "^4.2.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-normalize-url": { ++ "version": "5.1.0", ++ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", ++ "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", ++ "dev": true, ++ "dependencies": { ++ "normalize-url": "^6.0.1", ++ "postcss-value-parser": "^4.2.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-normalize-whitespace": { ++ "version": "5.1.1", ++ "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", ++ "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", ++ "dev": true, ++ "dependencies": { ++ "postcss-value-parser": "^4.2.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-ordered-values": { ++ "version": "5.1.3", ++ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", ++ "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", ++ "dev": true, ++ "dependencies": { ++ "cssnano-utils": "^3.1.0", ++ "postcss-value-parser": "^4.2.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-reduce-initial": { ++ "version": "5.1.2", ++ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", ++ "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", ++ "dev": true, ++ "dependencies": { ++ "browserslist": "^4.21.4", ++ "caniuse-api": "^3.0.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-reduce-transforms": { ++ "version": "5.1.0", ++ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", ++ "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", ++ "dev": true, ++ "dependencies": { ++ "postcss-value-parser": "^4.2.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-selector-parser": { ++ "version": "6.1.1", ++ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", ++ "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", ++ "dev": true, ++ "dependencies": { ++ "cssesc": "^3.0.0", ++ "util-deprecate": "^1.0.2" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/postcss-svgo": { ++ "version": "5.1.0", ++ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", ++ "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", ++ "dev": true, ++ "dependencies": { ++ "postcss-value-parser": "^4.2.0", ++ "svgo": "^2.7.0" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-unique-selectors": { ++ "version": "5.1.1", ++ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", ++ "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", ++ "dev": true, ++ "dependencies": { ++ "postcss-selector-parser": "^6.0.5" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/postcss-url": { ++ "version": "10.1.3", ++ "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-10.1.3.tgz", ++ "integrity": "sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==", ++ "dev": true, ++ "dependencies": { ++ "make-dir": "~3.1.0", ++ "mime": "~2.5.2", ++ "minimatch": "~3.0.4", ++ "xxhashjs": "~0.2.2" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.0.0" ++ } ++ }, ++ "node_modules/postcss-url/node_modules/minimatch": { ++ "version": "3.0.8", ++ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", ++ "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", ++ "dev": true, ++ "dependencies": { ++ "brace-expansion": "^1.1.7" ++ }, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/postcss-value-parser": { ++ "version": "4.2.0", ++ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", ++ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", ++ "dev": true ++ }, ++ "node_modules/prettier": { ++ "version": "3.5.2", ++ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.2.tgz", ++ "integrity": "sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg==", ++ "dev": true, ++ "license": "MIT", ++ "bin": { ++ "prettier": "bin/prettier.cjs" ++ }, ++ "engines": { ++ "node": ">=14" ++ }, ++ "funding": { ++ "url": "https://github.com/prettier/prettier?sponsor=1" ++ } ++ }, ++ "node_modules/promise.series": { ++ "version": "0.2.0", ++ "resolved": "https://registry.npmjs.org/promise.series/-/promise.series-0.2.0.tgz", ++ "integrity": "sha512-VWQJyU2bcDTgZw8kpfBpB/ejZASlCrzwz5f2hjb/zlujOEB4oeiAhHygAWq8ubsX2GVkD4kCU5V2dwOTaCY5EQ==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.12" ++ } ++ }, ++ "node_modules/query-string": { ++ "version": "9.1.1", ++ "resolved": "https://registry.npmjs.org/query-string/-/query-string-9.1.1.tgz", ++ "integrity": "sha512-MWkCOVIcJP9QSKU52Ngow6bsAWAPlPK2MludXvcrS2bGZSl+T1qX9MZvRIkqUIkGLJquMJHWfsT6eRqUpp4aWg==", ++ "license": "MIT", ++ "dependencies": { ++ "decode-uri-component": "^0.4.1", ++ "filter-obj": "^5.1.0", ++ "split-on-first": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=18" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/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, ++ "funding": [ ++ { ++ "type": "github", ++ "url": "https://github.com/sponsors/feross" ++ }, ++ { ++ "type": "patreon", ++ "url": "https://www.patreon.com/feross" ++ }, ++ { ++ "type": "consulting", ++ "url": "https://feross.org/support" ++ } ++ ] ++ }, ++ "node_modules/resolve": { ++ "version": "1.22.8", ++ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", ++ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", ++ "dev": true, ++ "dependencies": { ++ "is-core-module": "^2.13.0", ++ "path-parse": "^1.0.7", ++ "supports-preserve-symlinks-flag": "^1.0.0" ++ }, ++ "bin": { ++ "resolve": "bin/resolve" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/ljharb" ++ } ++ }, ++ "node_modules/resolve-from": { ++ "version": "5.0.0", ++ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", ++ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/resolve.exports": { ++ "version": "2.0.3", ++ "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", ++ "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", ++ "dev": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/reusify": { ++ "version": "1.0.4", ++ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", ++ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", ++ "dev": true, ++ "engines": { ++ "iojs": ">=1.0.0", ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/rollup": { ++ "version": "4.34.8", ++ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.8.tgz", ++ "integrity": "sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "@types/estree": "1.0.6" ++ }, ++ "bin": { ++ "rollup": "dist/bin/rollup" ++ }, ++ "engines": { ++ "node": ">=18.0.0", ++ "npm": ">=8.0.0" ++ }, ++ "optionalDependencies": { ++ "@rollup/rollup-android-arm-eabi": "4.34.8", ++ "@rollup/rollup-android-arm64": "4.34.8", ++ "@rollup/rollup-darwin-arm64": "4.34.8", ++ "@rollup/rollup-darwin-x64": "4.34.8", ++ "@rollup/rollup-freebsd-arm64": "4.34.8", ++ "@rollup/rollup-freebsd-x64": "4.34.8", ++ "@rollup/rollup-linux-arm-gnueabihf": "4.34.8", ++ "@rollup/rollup-linux-arm-musleabihf": "4.34.8", ++ "@rollup/rollup-linux-arm64-gnu": "4.34.8", ++ "@rollup/rollup-linux-arm64-musl": "4.34.8", ++ "@rollup/rollup-linux-loongarch64-gnu": "4.34.8", ++ "@rollup/rollup-linux-powerpc64le-gnu": "4.34.8", ++ "@rollup/rollup-linux-riscv64-gnu": "4.34.8", ++ "@rollup/rollup-linux-s390x-gnu": "4.34.8", ++ "@rollup/rollup-linux-x64-gnu": "4.34.8", ++ "@rollup/rollup-linux-x64-musl": "4.34.8", ++ "@rollup/rollup-win32-arm64-msvc": "4.34.8", ++ "@rollup/rollup-win32-ia32-msvc": "4.34.8", ++ "@rollup/rollup-win32-x64-msvc": "4.34.8", ++ "fsevents": "~2.3.2" ++ } ++ }, ++ "node_modules/rollup-plugin-copy": { ++ "version": "3.5.0", ++ "resolved": "https://registry.npmjs.org/rollup-plugin-copy/-/rollup-plugin-copy-3.5.0.tgz", ++ "integrity": "sha512-wI8D5dvYovRMx/YYKtUNt3Yxaw4ORC9xo6Gt9t22kveWz1enG9QrhVlagzwrxSC455xD1dHMKhIJkbsQ7d48BA==", ++ "dev": true, ++ "dependencies": { ++ "@types/fs-extra": "^8.0.1", ++ "colorette": "^1.1.0", ++ "fs-extra": "^8.1.0", ++ "globby": "10.0.1", ++ "is-plain-object": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=8.3" ++ } ++ }, ++ "node_modules/rollup-plugin-postcss": { ++ "version": "4.0.2", ++ "resolved": "https://registry.npmjs.org/rollup-plugin-postcss/-/rollup-plugin-postcss-4.0.2.tgz", ++ "integrity": "sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w==", ++ "dev": true, ++ "dependencies": { ++ "chalk": "^4.1.0", ++ "concat-with-sourcemaps": "^1.1.0", ++ "cssnano": "^5.0.1", ++ "import-cwd": "^3.0.0", ++ "p-queue": "^6.6.2", ++ "pify": "^5.0.0", ++ "postcss-load-config": "^3.0.0", ++ "postcss-modules": "^4.0.0", ++ "promise.series": "^0.2.0", ++ "resolve": "^1.19.0", ++ "rollup-pluginutils": "^2.8.2", ++ "safe-identifier": "^0.4.2", ++ "style-inject": "^0.3.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "peerDependencies": { ++ "postcss": "8.x" ++ } ++ }, ++ "node_modules/rollup-plugin-svelte": { ++ "version": "7.2.2", ++ "resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-7.2.2.tgz", ++ "integrity": "sha512-hgnIblTRewaBEVQD6N0Q43o+y6q1TmDRhBjaEzQCi50bs8TXqjc+d1zFZyE8tsfgcfNHZQzclh4RxlFUB85H8Q==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "@rollup/pluginutils": "^4.1.0", ++ "resolve.exports": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "peerDependencies": { ++ "rollup": ">=2.0.0", ++ "svelte": ">=3.5.0" ++ } ++ }, ++ "node_modules/rollup-plugin-svelte/node_modules/@rollup/pluginutils": { ++ "version": "4.2.1", ++ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", ++ "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "estree-walker": "^2.0.1", ++ "picomatch": "^2.2.2" ++ }, ++ "engines": { ++ "node": ">= 8.0.0" ++ } ++ }, ++ "node_modules/rollup-pluginutils": { ++ "version": "2.8.2", ++ "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", ++ "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", ++ "dev": true, ++ "dependencies": { ++ "estree-walker": "^0.6.1" ++ } ++ }, ++ "node_modules/rollup-pluginutils/node_modules/estree-walker": { ++ "version": "0.6.1", ++ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", ++ "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", ++ "dev": true ++ }, ++ "node_modules/run-applescript": { ++ "version": "7.0.0", ++ "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", ++ "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", ++ "license": "MIT", ++ "engines": { ++ "node": ">=18" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/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, ++ "funding": [ ++ { ++ "type": "github", ++ "url": "https://github.com/sponsors/feross" ++ }, ++ { ++ "type": "patreon", ++ "url": "https://www.patreon.com/feross" ++ }, ++ { ++ "type": "consulting", ++ "url": "https://feross.org/support" ++ } ++ ], ++ "dependencies": { ++ "queue-microtask": "^1.2.2" ++ } ++ }, ++ "node_modules/safe-identifier": { ++ "version": "0.4.2", ++ "resolved": "https://registry.npmjs.org/safe-identifier/-/safe-identifier-0.4.2.tgz", ++ "integrity": "sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==", ++ "dev": true ++ }, ++ "node_modules/semver": { ++ "version": "6.3.1", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", ++ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", ++ "dev": true, ++ "bin": { ++ "semver": "bin/semver.js" ++ } ++ }, ++ "node_modules/slash": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", ++ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/source-map-js": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", ++ "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", ++ "dev": true, ++ "peer": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/split-on-first": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-3.0.0.tgz", ++ "integrity": "sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA==", ++ "license": "MIT", ++ "engines": { ++ "node": ">=12" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/stable": { ++ "version": "0.1.8", ++ "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", ++ "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", ++ "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", ++ "dev": true ++ }, ++ "node_modules/string-hash": { ++ "version": "1.1.3", ++ "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", ++ "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==", ++ "dev": true ++ }, ++ "node_modules/strnum": { ++ "version": "1.1.1", ++ "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.1.tgz", ++ "integrity": "sha512-O7aCHfYCamLCctjAiaucmE+fHf2DYHkus2OKCn4Wv03sykfFtgeECn505X6K4mPl8CRNd/qurC9guq+ynoN4pw==", ++ "funding": [ ++ { ++ "type": "github", ++ "url": "https://github.com/sponsors/NaturalIntelligence" ++ } ++ ], ++ "license": "MIT" ++ }, ++ "node_modules/style-inject": { ++ "version": "0.3.0", ++ "resolved": "https://registry.npmjs.org/style-inject/-/style-inject-0.3.0.tgz", ++ "integrity": "sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==", ++ "dev": true ++ }, ++ "node_modules/style-mod": { ++ "version": "4.1.2", ++ "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz", ++ "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==", ++ "dev": true ++ }, ++ "node_modules/stylehacks": { ++ "version": "5.1.1", ++ "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", ++ "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", ++ "dev": true, ++ "dependencies": { ++ "browserslist": "^4.21.4", ++ "postcss-selector-parser": "^6.0.4" ++ }, ++ "engines": { ++ "node": "^10 || ^12 || >=14.0" ++ }, ++ "peerDependencies": { ++ "postcss": "^8.2.15" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "has-flag": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">= 0.4" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/ljharb" ++ } ++ }, ++ "node_modules/svelte": { ++ "version": "5.20.2", ++ "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.20.2.tgz", ++ "integrity": "sha512-aYXJreNUiyTob0QOzRZeBXZMGeFZDch6SrSRV8QTncZb6zj0O3BEdUzPpojuHQ1pTvk+KX7I6rZCXPUf8pTPxA==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "@ampproject/remapping": "^2.3.0", ++ "@jridgewell/sourcemap-codec": "^1.5.0", ++ "@types/estree": "^1.0.5", ++ "acorn": "^8.12.1", ++ "acorn-typescript": "^1.4.13", ++ "aria-query": "^5.3.1", ++ "axobject-query": "^4.1.0", ++ "clsx": "^2.1.1", ++ "esm-env": "^1.2.1", ++ "esrap": "^1.4.3", ++ "is-reference": "^3.0.3", ++ "locate-character": "^3.0.0", ++ "magic-string": "^0.30.11", ++ "zimmerframe": "^1.1.2" ++ }, ++ "engines": { ++ "node": ">=18" ++ } ++ }, ++ "node_modules/svelte-preprocess": { ++ "version": "6.0.3", ++ "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-6.0.3.tgz", ++ "integrity": "sha512-PLG2k05qHdhmRG7zR/dyo5qKvakhm8IJ+hD2eFRQmMLHp7X3eJnjeupUtvuRpbNiF31RjVw45W+abDwHEmP5OA==", ++ "dev": true, ++ "hasInstallScript": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">= 18.0.0" ++ }, ++ "peerDependencies": { ++ "@babel/core": "^7.10.2", ++ "coffeescript": "^2.5.1", ++ "less": "^3.11.3 || ^4.0.0", ++ "postcss": "^7 || ^8", ++ "postcss-load-config": ">=3", ++ "pug": "^3.0.0", ++ "sass": "^1.26.8", ++ "stylus": ">=0.55", ++ "sugarss": "^2.0.0 || ^3.0.0 || ^4.0.0", ++ "svelte": "^4.0.0 || ^5.0.0-next.100 || ^5.0.0", ++ "typescript": "^5.0.0" ++ }, ++ "peerDependenciesMeta": { ++ "@babel/core": { ++ "optional": true ++ }, ++ "coffeescript": { ++ "optional": true ++ }, ++ "less": { ++ "optional": true ++ }, ++ "postcss": { ++ "optional": true ++ }, ++ "postcss-load-config": { ++ "optional": true ++ }, ++ "pug": { ++ "optional": true ++ }, ++ "sass": { ++ "optional": true ++ }, ++ "stylus": { ++ "optional": true ++ }, ++ "sugarss": { ++ "optional": true ++ }, ++ "typescript": { ++ "optional": true ++ } ++ } ++ }, ++ "node_modules/svelte/node_modules/is-reference": { ++ "version": "3.0.3", ++ "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz", ++ "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "@types/estree": "^1.0.6" ++ } ++ }, ++ "node_modules/svgo": { ++ "version": "2.8.0", ++ "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", ++ "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", ++ "dev": true, ++ "dependencies": { ++ "@trysound/sax": "0.2.0", ++ "commander": "^7.2.0", ++ "css-select": "^4.1.3", ++ "css-tree": "^1.1.3", ++ "csso": "^4.2.0", ++ "picocolors": "^1.0.0", ++ "stable": "^0.1.8" ++ }, ++ "bin": { ++ "svgo": "bin/svgo" ++ }, ++ "engines": { ++ "node": ">=10.13.0" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "is-number": "^7.0.0" ++ }, ++ "engines": { ++ "node": ">=8.0" ++ } ++ }, ++ "node_modules/tslib": { ++ "version": "2.8.1", ++ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", ++ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", ++ "dev": true, ++ "license": "0BSD" ++ }, ++ "node_modules/typescript": { ++ "version": "5.7.3", ++ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", ++ "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", ++ "dev": true, ++ "license": "Apache-2.0", ++ "bin": { ++ "tsc": "bin/tsc", ++ "tsserver": "bin/tsserver" ++ }, ++ "engines": { ++ "node": ">=14.17" ++ } ++ }, ++ "node_modules/undici-types": { ++ "version": "6.20.0", ++ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", ++ "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", ++ "dev": true, ++ "license": "MIT" ++ }, ++ "node_modules/universalify": { ++ "version": "0.1.2", ++ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", ++ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", ++ "dev": true, ++ "engines": { ++ "node": ">= 4.0.0" ++ } ++ }, ++ "node_modules/update-browserslist-db": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", ++ "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", ++ "dev": true, ++ "funding": [ ++ { ++ "type": "opencollective", ++ "url": "https://opencollective.com/browserslist" ++ }, ++ { ++ "type": "tidelift", ++ "url": "https://tidelift.com/funding/github/npm/browserslist" ++ }, ++ { ++ "type": "github", ++ "url": "https://github.com/sponsors/ai" ++ } ++ ], ++ "dependencies": { ++ "escalade": "^3.1.2", ++ "picocolors": "^1.0.1" ++ }, ++ "bin": { ++ "update-browserslist-db": "cli.js" ++ }, ++ "peerDependencies": { ++ "browserslist": ">= 4.21.0" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/w3c-keyname": { ++ "version": "2.2.8", ++ "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", ++ "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==", ++ "dev": true ++ }, ++ "node_modules/wildcard": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", ++ "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/xxhashjs": { ++ "version": "0.2.2", ++ "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz", ++ "integrity": "sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==", ++ "dev": true, ++ "dependencies": { ++ "cuint": "^0.2.2" ++ } ++ }, ++ "node_modules/yaml": { ++ "version": "1.10.2", ++ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", ++ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", ++ "dev": true, ++ "engines": { ++ "node": ">= 6" ++ } ++ }, ++ "node_modules/zimmerframe": { ++ "version": "1.1.2", ++ "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.2.tgz", ++ "integrity": "sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==", ++ "dev": true, ++ "license": "MIT" ++ } ++ } ++} +diff --git a/package.json b/package.json +index 18e8456..1bd12e0 100644 +--- a/package.json ++++ b/package.json +@@ -52,7 +52,7 @@ + "core-js": "^3.39.0", + "fast-xml-parser": "^4.5.0", + "leaflet": "^1.9.4", +- "leaflet-extra-markers": "github:coryasilva/Leaflet.ExtraMarkers", ++ "leaflet-extra-markers": "^1.2.2", + "leaflet-fullscreen": "^1.0.2", + "leaflet-geosearch": "^4.0.0", + "leaflet.markercluster": "^1.5.3", diff --git a/hosts/common/configs/user/gui/obsidian/config/plugins/minimal-settings/default.nix b/packages/obsidian/plugins/minimal-settings/default.nix similarity index 61% rename from hosts/common/configs/user/gui/obsidian/config/plugins/minimal-settings/default.nix rename to packages/obsidian/plugins/minimal-settings/default.nix index 7944ff0..66d2765 100644 --- a/hosts/common/configs/user/gui/obsidian/config/plugins/minimal-settings/default.nix +++ b/packages/obsidian/plugins/minimal-settings/default.nix @@ -1,17 +1,18 @@ { pkgs, ... }: +# AUTO-UPDATE: nix-update --flake obsidian-plugin-minimal-settings pkgs.buildNpmPackage rec { - pname = "obsidian.plugins.minimal-settings"; + pname = "obsidian-plugin-minimal-settings"; version = "8.1.1"; src = pkgs.fetchFromGitHub { - owner = "karaolidis"; - rev = "5a69fb195726cc61ae3ca9b14fb1a78862397529"; - # owner = "kepano"; + owner = "kepano"; repo = "obsidian-minimal-settings"; - # rev = version; - hash = "sha256-FPZMdOcwkCnCN0v3IgiFnhBLrnuqU7DR7XE+qheYdZE="; + rev = version; + hash = "sha256-JcWqSVgSRJAm0QiLnGuPpv0S9SVZw7UdtuKnvUAKiwQ="; }; + patches = [ ./package-lock.patch ]; + npmDepsHash = "sha256-E8CPsBmuV51GC3N5qxz8haa249vMfm3TZyZVsyPwfkg="; npmPackFlags = [ "--ignore-scripts" ]; diff --git a/packages/obsidian/plugins/minimal-settings/package-lock.patch b/packages/obsidian/plugins/minimal-settings/package-lock.patch new file mode 100644 index 0000000..2be8430 --- /dev/null +++ b/packages/obsidian/plugins/minimal-settings/package-lock.patch @@ -0,0 +1,28 @@ +diff --git a/package-lock.json b/package-lock.json +index 1ff5c84..a903c9a 100644 +--- a/package-lock.json ++++ b/package-lock.json +@@ -11,7 +11,7 @@ + "devDependencies": { + "@types/node": "^16.11.6", + "esbuild": "0.13.12", +- "obsidian": "latest", ++ "obsidian": "^1.6.6", + "tslib": "2.3.1", + "typescript": "^5.5.3" + } +@@ -325,10 +325,11 @@ + } + }, + "node_modules/obsidian": { +- "version": "1.5.7-1", +- "resolved": "https://registry.npmjs.org/obsidian/-/obsidian-1.5.7-1.tgz", +- "integrity": "sha512-T5ZRuQ1FnfXqEoakTTHVDYvzUEEoT8zSPnQCW31PVgYwG4D4tZCQfKHN2hTz1ifnCe8upvwa6mBTAP2WUA5Vng==", ++ "version": "1.7.2", ++ "resolved": "https://registry.npmjs.org/obsidian/-/obsidian-1.7.2.tgz", ++ "integrity": "sha512-k9hN9brdknJC+afKr5FQzDRuEFGDKbDjfCazJwpgibwCAoZNYHYV8p/s3mM8I6AsnKrPKNXf8xGuMZ4enWelZQ==", + "dev": true, ++ "license": "MIT", + "dependencies": { + "@types/codemirror": "5.60.8", + "moment": "2.29.4" diff --git a/hosts/common/configs/user/gui/obsidian/config/plugins/outliner/default.nix b/packages/obsidian/plugins/outliner/default.nix similarity index 83% rename from hosts/common/configs/user/gui/obsidian/config/plugins/outliner/default.nix rename to packages/obsidian/plugins/outliner/default.nix index 04fcd3d..aa568bc 100644 --- a/hosts/common/configs/user/gui/obsidian/config/plugins/outliner/default.nix +++ b/packages/obsidian/plugins/outliner/default.nix @@ -1,6 +1,7 @@ { pkgs, ... }: +# AUTO-UPDATE: nix-update --flake obsidian-plugin-outliner pkgs.buildNpmPackage rec { - pname = "obsidian.plugins.outliner"; + pname = "obsidian-plugin-outliner"; version = "4.8.1"; src = pkgs.fetchFromGitHub { diff --git a/hosts/common/configs/user/gui/obsidian/config/plugins/read-it-later/default.nix b/packages/obsidian/plugins/read-it-later/default.nix similarity index 81% rename from hosts/common/configs/user/gui/obsidian/config/plugins/read-it-later/default.nix rename to packages/obsidian/plugins/read-it-later/default.nix index 4a5b4da..e0346bd 100644 --- a/hosts/common/configs/user/gui/obsidian/config/plugins/read-it-later/default.nix +++ b/packages/obsidian/plugins/read-it-later/default.nix @@ -1,6 +1,7 @@ { pkgs, ... }: +# AUTO-UPDATE: nix-update --flake obsidian-plugin-read-it-later pkgs.buildNpmPackage rec { - pname = "obsidian.plugins.read-it-later"; + pname = "obsidian-plugin-read-it-later"; version = "0.11.4"; src = pkgs.fetchFromGitHub { diff --git a/hosts/common/configs/user/gui/obsidian/config/plugins/style-settings/default.nix b/packages/obsidian/plugins/style-settings/default.nix similarity index 50% rename from hosts/common/configs/user/gui/obsidian/config/plugins/style-settings/default.nix rename to packages/obsidian/plugins/style-settings/default.nix index a24996e..390c915 100644 --- a/hosts/common/configs/user/gui/obsidian/config/plugins/style-settings/default.nix +++ b/packages/obsidian/plugins/style-settings/default.nix @@ -1,19 +1,24 @@ { pkgs, ... }: +# AUTO-UPDATE: nix-update --flake obsidian-plugin-style-settings --src-attr unpatchedSrc pkgs.stdenv.mkDerivation rec { - pname = "obsidian.plugins.style-settings"; + pname = "obsidian-plugin-style-settings"; version = "1.0.9"; - src = pkgs.fetchFromGitHub { - owner = "karaolidis"; - rev = "21f29b7aea728d9040ed209cddb7d9f05c68be1f"; - # owner = "mgmeyers"; + unpatchedSrc = pkgs.fetchFromGitHub { + owner = "mgmeyers"; repo = "obsidian-style-settings"; - # rev = version; - hash = "sha256-6xyp5PE4mhKYP3Lc4vKUG/N3aqBhHGwsCuzfVkq1jwM="; + rev = version; + hash = "sha256-eNbZQ/u3mufwVX+NRJpMSk5uGVkWfW0koXKq7wg9d+I="; + }; + + # Wrap in applyPatches so that offlineCache below is built correctly + src = pkgs.applyPatches { + src = unpatchedSrc; + patches = [ ./package-lock.patch ]; }; offlineCache = pkgs.fetchYarnDeps { - yarnLock = src + "/yarn.lock"; + yarnLock = "${src}/yarn.lock"; hash = "sha256-tqX09XWI3ZL9bXVdjgsAEuvfCAjnyWj5uSWGFbNApds="; }; diff --git a/packages/obsidian/plugins/style-settings/package-lock.patch b/packages/obsidian/plugins/style-settings/package-lock.patch new file mode 100644 index 0000000..b0c1dda --- /dev/null +++ b/packages/obsidian/plugins/style-settings/package-lock.patch @@ -0,0 +1,67 @@ +diff --git a/package.json b/package.json +index 2984db3..87e96bd 100644 +--- a/package.json ++++ b/package.json +@@ -32,7 +32,7 @@ + "typescript": "4.7.4" + }, + "dependencies": { +- "@simonwep/pickr": "https://github.com/nothingislost/pickr/archive/a17739f7aa1871b44da778cbb79ae76dae77d839.tar.gz", ++ "@simonwep/pickr": "^1.9.1", + "@types/chroma-js": "^2.1.3", + "@types/js-yaml": "^4.0.3", + "chroma-js": "^2.1.2", +diff --git a/yarn.lock b/yarn.lock +index 6ef7388..9d006fd 100644 +--- a/yarn.lock ++++ b/yarn.lock +@@ -336,13 +336,13 @@ + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +-"@simonwep/pickr@https://github.com/nothingislost/pickr/archive/a17739f7aa1871b44da778cbb79ae76dae77d839.tar.gz": +- version "1.8.4" +- resolved "https://github.com/nothingislost/pickr/archive/a17739f7aa1871b44da778cbb79ae76dae77d839.tar.gz" +- integrity sha512-VOphUjenpUXHMrYo+uNREruBB/xhMsvqqnJMUShctn1pQXWMDp41a9NJ6XyhISwlyRNoubkuXEn/7/3MuvAhyg== ++"@simonwep/pickr@^1.9.1": ++ version "1.9.1" ++ resolved "https://registry.yarnpkg.com/@simonwep/pickr/-/pickr-1.9.1.tgz#10d86dab514b8888b2d6b90299a477f254067c43" ++ integrity sha512-fR3qmfAcPf/HSFS7GEnTmZLM3+xERv1+jyMBbzT63ilRRM8veYjI7ELvkHHKk0/du3lHp7uh/FqatjM3646X1g== + dependencies: +- core-js "^3.15.1" +- nanopop "^2.1.0" ++ core-js "3.37.0" ++ nanopop "2.4.2" + + "@trivago/prettier-plugin-sort-imports@4.2.0": + version "4.2.0" +@@ -607,10 +607,10 @@ concat-map@0.0.1: + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + +-core-js@^3.15.1: +- version "3.18.2" +- resolved "https://registry.npmjs.org/core-js/-/core-js-3.18.2.tgz" +- integrity sha512-zNhPOUoSgoizoSQFdX1MeZO16ORRb9FFQLts8gSYbZU5FcgXhp24iMWMxnOQo5uIaIG7/6FA/IqJPwev1o9ZXQ== ++core-js@3.37.0: ++ version "3.37.0" ++ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.37.0.tgz#d8dde58e91d156b2547c19d8a4efd5c7f6c426bb" ++ integrity sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug== + + cross-env@^6.0.3: + version "6.0.3" +@@ -1128,10 +1128,10 @@ ms@2.1.2: + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +-nanopop@^2.1.0: +- version "2.1.0" +- resolved "https://registry.npmjs.org/nanopop/-/nanopop-2.1.0.tgz" +- integrity sha512-jGTwpFRexSH+fxappnGQtN9dspgE2ipa1aOjtR24igG0pv6JCxImIAmrLRHX+zUF5+1wtsFVbKyfP51kIGAVNw== ++nanopop@2.4.2: ++ version "2.4.2" ++ resolved "https://registry.yarnpkg.com/nanopop/-/nanopop-2.4.2.tgz#b55482135be7e64f2d0f5aa8ef51a58104ac7b13" ++ integrity sha512-NzOgmMQ+elxxHeIha+OG/Pv3Oc3p4RU2aBhwWwAqDpXrdTbtRylbRLQztLy8dMMwfl6pclznBdfUhccEn9ZIzw== + + natural-compare@^1.4.0: + version "1.4.0" diff --git a/hosts/common/configs/user/gui/obsidian/config/plugins/tasks/default.nix b/packages/obsidian/plugins/tasks/default.nix similarity index 85% rename from hosts/common/configs/user/gui/obsidian/config/plugins/tasks/default.nix rename to packages/obsidian/plugins/tasks/default.nix index b902781..cd4b04c 100644 --- a/hosts/common/configs/user/gui/obsidian/config/plugins/tasks/default.nix +++ b/packages/obsidian/plugins/tasks/default.nix @@ -1,7 +1,8 @@ { pkgs, ... }: +# AUTO-UPDATE: nix-update --flake obsidian-plugin-tasks pkgs.stdenv.mkDerivation rec { - pname = "obsidian.plugins.tasks"; - version = "7.15.0"; + pname = "obsidian-plugin-tasks"; + version = "7.17.0"; src = pkgs.fetchFromGitHub { owner = "obsidian-tasks-group"; diff --git a/hosts/common/configs/user/gui/obsidian/config/plugins/url-into-selection/default.nix b/packages/obsidian/plugins/url-into-selection/default.nix similarity index 58% rename from hosts/common/configs/user/gui/obsidian/config/plugins/url-into-selection/default.nix rename to packages/obsidian/plugins/url-into-selection/default.nix index a5669e1..d046fe6 100644 --- a/hosts/common/configs/user/gui/obsidian/config/plugins/url-into-selection/default.nix +++ b/packages/obsidian/plugins/url-into-selection/default.nix @@ -1,17 +1,18 @@ { pkgs, ... }: +# AUTO-UPDATE: nix-update --flake obsidian-plugin-url-into-selection pkgs.buildNpmPackage rec { - pname = "obsidian.plugins.url-into-selection"; + pname = "obsidian-plugin-url-into-selection"; version = "1.7.0"; src = pkgs.fetchFromGitHub { - owner = "karaolidis"; - rev = "9f85d59be28797b7ef16c452fa3c4093f60b3bab"; - # owner = "denolehov"; + owner = "denolehov"; repo = "obsidian-url-into-selection"; - # rev = version; - hash = "sha256-MQV8CMzCha0MUGLh4c1WuHVXRiCPEwtSgd3Xoj/81hA="; + rev = version; + hash = "sha256-xmKJOuXirg/LFVK/0925fazW+cm+XUlLpAUgpAS6bZI="; }; + patches = [ ./package-lock.patch ]; + npmDepsHash = "sha256-tThyrhezHZ29JUzx5sy2SfoZIGYP0DOQBctxYB5O1P4="; npmPackFlags = [ "--ignore-scripts" ]; diff --git a/packages/obsidian/plugins/url-into-selection/package-lock.patch b/packages/obsidian/plugins/url-into-selection/package-lock.patch new file mode 100644 index 0000000..e393f72 --- /dev/null +++ b/packages/obsidian/plugins/url-into-selection/package-lock.patch @@ -0,0 +1,3990 @@ +diff --git a/.gitignore b/.gitignore +index ded48f5..a06aa0c 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -4,7 +4,6 @@ + + # npm + node_modules +-package-lock.json + + # build + *.js.map +diff --git a/package-lock.json b/package-lock.json +new file mode 100644 +index 0000000..915b513 +--- /dev/null ++++ b/package-lock.json +@@ -0,0 +1,3972 @@ ++{ ++ "name": "obsidian-url-into-selection", ++ "version": "1.7.0", ++ "lockfileVersion": 3, ++ "requires": true, ++ "packages": { ++ "": { ++ "name": "obsidian-url-into-selection", ++ "version": "1.7.0", ++ "license": "MIT", ++ "devDependencies": { ++ "@rollup/plugin-commonjs": "^15.1.0", ++ "@rollup/plugin-node-resolve": "^9.0.0", ++ "@rollup/plugin-typescript": "^6.0.0", ++ "assert-never": "^1.2.1", ++ "commitizen": "^4.2.3", ++ "cz-conventional-changelog": "^3.3.0", ++ "file-url": "^4.0.0", ++ "obsidian": "0.13.11", ++ "prettier": "2.1.2", ++ "rollup": "^2.32.1", ++ "rollup-plugin-node-polyfills": "^0.2.1", ++ "standard-version": "^9.0.0", ++ "tslib": "^2.0.3", ++ "typescript": "^4.0.3", ++ "url-parse": "^1.5.1" ++ } ++ }, ++ "node_modules/@babel/code-frame": { ++ "version": "7.24.7", ++ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", ++ "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", ++ "dev": true, ++ "dependencies": { ++ "@babel/highlight": "^7.24.7", ++ "picocolors": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@babel/helper-validator-identifier": { ++ "version": "7.24.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", ++ "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", ++ "dev": true, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@babel/highlight": { ++ "version": "7.24.7", ++ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", ++ "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", ++ "dev": true, ++ "dependencies": { ++ "@babel/helper-validator-identifier": "^7.24.7", ++ "chalk": "^2.4.2", ++ "js-tokens": "^4.0.0", ++ "picocolors": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@codemirror/rangeset": { ++ "version": "0.19.9", ++ "resolved": "https://registry.npmjs.org/@codemirror/rangeset/-/rangeset-0.19.9.tgz", ++ "integrity": "sha512-V8YUuOvK+ew87Xem+71nKcqu1SXd5QROMRLMS/ljT5/3MCxtgrRie1Cvild0G/Z2f1fpWxzX78V0U4jjXBorBQ==", ++ "deprecated": "As of 0.20.0, this package has been merged into @codemirror/state", ++ "dev": true, ++ "dependencies": { ++ "@codemirror/state": "^0.19.0" ++ } ++ }, ++ "node_modules/@codemirror/state": { ++ "version": "0.19.9", ++ "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-0.19.9.tgz", ++ "integrity": "sha512-psOzDolKTZkx4CgUqhBQ8T8gBc0xN5z4gzed109aF6x7D7umpDRoimacI/O6d9UGuyl4eYuDCZmDFr2Rq7aGOw==", ++ "dev": true, ++ "dependencies": { ++ "@codemirror/text": "^0.19.0" ++ } ++ }, ++ "node_modules/@codemirror/text": { ++ "version": "0.19.6", ++ "resolved": "https://registry.npmjs.org/@codemirror/text/-/text-0.19.6.tgz", ++ "integrity": "sha512-T9jnREMIygx+TPC1bOuepz18maGq/92q2a+n4qTqObKwvNMg+8cMTslb8yxeEDEq7S3kpgGWxgO1UWbQRij0dA==", ++ "deprecated": "As of 0.20.0, this package has been merged into @codemirror/state", ++ "dev": true ++ }, ++ "node_modules/@codemirror/view": { ++ "version": "0.19.48", ++ "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-0.19.48.tgz", ++ "integrity": "sha512-0eg7D2Nz4S8/caetCTz61rK0tkHI17V/d15Jy0kLOT8dTLGGNJUponDnW28h2B6bERmPlVHKh8MJIr5OCp1nGw==", ++ "dev": true, ++ "dependencies": { ++ "@codemirror/rangeset": "^0.19.5", ++ "@codemirror/state": "^0.19.3", ++ "@codemirror/text": "^0.19.0", ++ "style-mod": "^4.0.0", ++ "w3c-keyname": "^2.2.4" ++ } ++ }, ++ "node_modules/@commitlint/config-validator": { ++ "version": "19.0.3", ++ "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-19.0.3.tgz", ++ "integrity": "sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q==", ++ "dev": true, ++ "optional": true, ++ "dependencies": { ++ "@commitlint/types": "^19.0.3", ++ "ajv": "^8.11.0" ++ }, ++ "engines": { ++ "node": ">=v18" ++ } ++ }, ++ "node_modules/@commitlint/execute-rule": { ++ "version": "19.0.0", ++ "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-19.0.0.tgz", ++ "integrity": "sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw==", ++ "dev": true, ++ "optional": true, ++ "engines": { ++ "node": ">=v18" ++ } ++ }, ++ "node_modules/@commitlint/load": { ++ "version": "19.2.0", ++ "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-19.2.0.tgz", ++ "integrity": "sha512-XvxxLJTKqZojCxaBQ7u92qQLFMMZc4+p9qrIq/9kJDy8DOrEa7P1yx7Tjdc2u2JxIalqT4KOGraVgCE7eCYJyQ==", ++ "dev": true, ++ "optional": true, ++ "dependencies": { ++ "@commitlint/config-validator": "^19.0.3", ++ "@commitlint/execute-rule": "^19.0.0", ++ "@commitlint/resolve-extends": "^19.1.0", ++ "@commitlint/types": "^19.0.3", ++ "chalk": "^5.3.0", ++ "cosmiconfig": "^9.0.0", ++ "cosmiconfig-typescript-loader": "^5.0.0", ++ "lodash.isplainobject": "^4.0.6", ++ "lodash.merge": "^4.6.2", ++ "lodash.uniq": "^4.5.0" ++ }, ++ "engines": { ++ "node": ">=v18" ++ } ++ }, ++ "node_modules/@commitlint/load/node_modules/chalk": { ++ "version": "5.3.0", ++ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", ++ "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", ++ "dev": true, ++ "optional": true, ++ "engines": { ++ "node": "^12.17.0 || ^14.13 || >=16.0.0" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/chalk?sponsor=1" ++ } ++ }, ++ "node_modules/@commitlint/resolve-extends": { ++ "version": "19.1.0", ++ "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-19.1.0.tgz", ++ "integrity": "sha512-z2riI+8G3CET5CPgXJPlzftH+RiWYLMYv4C9tSLdLXdr6pBNimSKukYP9MS27ejmscqCTVA4almdLh0ODD2KYg==", ++ "dev": true, ++ "optional": true, ++ "dependencies": { ++ "@commitlint/config-validator": "^19.0.3", ++ "@commitlint/types": "^19.0.3", ++ "global-directory": "^4.0.1", ++ "import-meta-resolve": "^4.0.0", ++ "lodash.mergewith": "^4.6.2", ++ "resolve-from": "^5.0.0" ++ }, ++ "engines": { ++ "node": ">=v18" ++ } ++ }, ++ "node_modules/@commitlint/types": { ++ "version": "19.0.3", ++ "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-19.0.3.tgz", ++ "integrity": "sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA==", ++ "dev": true, ++ "optional": true, ++ "dependencies": { ++ "@types/conventional-commits-parser": "^5.0.0", ++ "chalk": "^5.3.0" ++ }, ++ "engines": { ++ "node": ">=v18" ++ } ++ }, ++ "node_modules/@commitlint/types/node_modules/chalk": { ++ "version": "5.3.0", ++ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", ++ "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", ++ "dev": true, ++ "optional": true, ++ "engines": { ++ "node": "^12.17.0 || ^14.13 || >=16.0.0" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/chalk?sponsor=1" ++ } ++ }, ++ "node_modules/@hutson/parse-repository-url": { ++ "version": "3.0.2", ++ "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", ++ "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", ++ "dev": true, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@rollup/plugin-commonjs": { ++ "version": "15.1.0", ++ "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-15.1.0.tgz", ++ "integrity": "sha512-xCQqz4z/o0h2syQ7d9LskIMvBSH4PX5PjYdpSSvgS+pQik3WahkQVNWg3D8XJeYjZoVWnIUQYDghuEMRGrmQYQ==", ++ "dev": true, ++ "dependencies": { ++ "@rollup/pluginutils": "^3.1.0", ++ "commondir": "^1.0.1", ++ "estree-walker": "^2.0.1", ++ "glob": "^7.1.6", ++ "is-reference": "^1.2.1", ++ "magic-string": "^0.25.7", ++ "resolve": "^1.17.0" ++ }, ++ "engines": { ++ "node": ">= 8.0.0" ++ }, ++ "peerDependencies": { ++ "rollup": "^2.22.0" ++ } ++ }, ++ "node_modules/@rollup/plugin-node-resolve": { ++ "version": "9.0.0", ++ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz", ++ "integrity": "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==", ++ "dev": true, ++ "dependencies": { ++ "@rollup/pluginutils": "^3.1.0", ++ "@types/resolve": "1.17.1", ++ "builtin-modules": "^3.1.0", ++ "deepmerge": "^4.2.2", ++ "is-module": "^1.0.0", ++ "resolve": "^1.17.0" ++ }, ++ "engines": { ++ "node": ">= 10.0.0" ++ }, ++ "peerDependencies": { ++ "rollup": "^1.20.0||^2.0.0" ++ } ++ }, ++ "node_modules/@rollup/plugin-typescript": { ++ "version": "6.1.0", ++ "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-6.1.0.tgz", ++ "integrity": "sha512-hJxaiE6WyNOsK+fZpbFh9CUijZYqPQuAOWO5khaGTUkM8DYNNyA2TDlgamecE+qLOG1G1+CwbWMAx3rbqpp6xQ==", ++ "dev": true, ++ "dependencies": { ++ "@rollup/pluginutils": "^3.1.0", ++ "resolve": "^1.17.0" ++ }, ++ "engines": { ++ "node": ">=8.0.0" ++ }, ++ "peerDependencies": { ++ "rollup": "^2.14.0", ++ "tslib": "*", ++ "typescript": ">=3.4.0" ++ } ++ }, ++ "node_modules/@rollup/pluginutils": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", ++ "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", ++ "dev": true, ++ "dependencies": { ++ "@types/estree": "0.0.39", ++ "estree-walker": "^1.0.1", ++ "picomatch": "^2.2.2" ++ }, ++ "engines": { ++ "node": ">= 8.0.0" ++ }, ++ "peerDependencies": { ++ "rollup": "^1.20.0||^2.0.0" ++ } ++ }, ++ "node_modules/@rollup/pluginutils/node_modules/estree-walker": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", ++ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", ++ "dev": true ++ }, ++ "node_modules/@types/codemirror": { ++ "version": "0.0.108", ++ "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-0.0.108.tgz", ++ "integrity": "sha512-3FGFcus0P7C2UOGCNUVENqObEb4SFk+S8Dnxq7K6aIsLVs/vDtlangl3PEO0ykaKXyK56swVF6Nho7VsA44uhw==", ++ "dev": true, ++ "dependencies": { ++ "@types/tern": "*" ++ } ++ }, ++ "node_modules/@types/conventional-commits-parser": { ++ "version": "5.0.0", ++ "resolved": "https://registry.npmjs.org/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", ++ "integrity": "sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==", ++ "dev": true, ++ "optional": true, ++ "dependencies": { ++ "@types/node": "*" ++ } ++ }, ++ "node_modules/@types/estree": { ++ "version": "0.0.39", ++ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", ++ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", ++ "dev": true ++ }, ++ "node_modules/@types/minimist": { ++ "version": "1.2.5", ++ "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", ++ "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", ++ "dev": true ++ }, ++ "node_modules/@types/node": { ++ "version": "20.14.11", ++ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz", ++ "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==", ++ "dev": true, ++ "dependencies": { ++ "undici-types": "~5.26.4" ++ } ++ }, ++ "node_modules/@types/normalize-package-data": { ++ "version": "2.4.4", ++ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", ++ "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", ++ "dev": true ++ }, ++ "node_modules/@types/resolve": { ++ "version": "1.17.1", ++ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", ++ "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", ++ "dev": true, ++ "dependencies": { ++ "@types/node": "*" ++ } ++ }, ++ "node_modules/@types/tern": { ++ "version": "0.23.9", ++ "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.9.tgz", ++ "integrity": "sha512-ypzHFE/wBzh+BlH6rrBgS5I/Z7RD21pGhZ2rltb/+ZrVM1awdZwjx7hE5XfuYgHWk9uvV5HLZN3SloevCAp3Bw==", ++ "dev": true, ++ "dependencies": { ++ "@types/estree": "*" ++ } ++ }, ++ "node_modules/add-stream": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", ++ "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", ++ "dev": true ++ }, ++ "node_modules/ajv": { ++ "version": "8.17.1", ++ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", ++ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", ++ "dev": true, ++ "optional": true, ++ "dependencies": { ++ "fast-deep-equal": "^3.1.3", ++ "fast-uri": "^3.0.1", ++ "json-schema-traverse": "^1.0.0", ++ "require-from-string": "^2.0.2" ++ }, ++ "funding": { ++ "type": "github", ++ "url": "https://github.com/sponsors/epoberezkin" ++ } ++ }, ++ "node_modules/ansi-escapes": { ++ "version": "4.3.2", ++ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", ++ "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", ++ "dev": true, ++ "dependencies": { ++ "type-fest": "^0.21.3" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/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==", ++ "dev": true, ++ "dependencies": { ++ "color-convert": "^1.9.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/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, ++ "optional": true ++ }, ++ "node_modules/array-ify": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", ++ "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", ++ "dev": true ++ }, ++ "node_modules/arrify": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", ++ "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/assert-never": { ++ "version": "1.3.0", ++ "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.3.0.tgz", ++ "integrity": "sha512-9Z3vxQ+berkL/JJo0dK+EY3Lp0s3NtSnP3VCLsh5HDcZPrh0M+KQRK5sWhUeyPPH+/RCxZqOxLMR+YC6vlviEQ==", ++ "dev": true ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">= 4.0.0" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/base64-js": { ++ "version": "1.5.1", ++ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", ++ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", ++ "dev": true, ++ "funding": [ ++ { ++ "type": "github", ++ "url": "https://github.com/sponsors/feross" ++ }, ++ { ++ "type": "patreon", ++ "url": "https://www.patreon.com/feross" ++ }, ++ { ++ "type": "consulting", ++ "url": "https://feross.org/support" ++ } ++ ] ++ }, ++ "node_modules/bl": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", ++ "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", ++ "dev": true, ++ "dependencies": { ++ "buffer": "^5.5.0", ++ "inherits": "^2.0.4", ++ "readable-stream": "^3.4.0" ++ } ++ }, ++ "node_modules/brace-expansion": { ++ "version": "1.1.11", ++ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", ++ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", ++ "dev": true, ++ "dependencies": { ++ "balanced-match": "^1.0.0", ++ "concat-map": "0.0.1" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "fill-range": "^7.1.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/buffer": { ++ "version": "5.7.1", ++ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", ++ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", ++ "dev": true, ++ "funding": [ ++ { ++ "type": "github", ++ "url": "https://github.com/sponsors/feross" ++ }, ++ { ++ "type": "patreon", ++ "url": "https://www.patreon.com/feross" ++ }, ++ { ++ "type": "consulting", ++ "url": "https://feross.org/support" ++ } ++ ], ++ "dependencies": { ++ "base64-js": "^1.3.1", ++ "ieee754": "^1.1.13" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/builtin-modules": { ++ "version": "3.3.0", ++ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", ++ "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", ++ "dev": true, ++ "engines": { ++ "node": ">=6" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/cachedir": { ++ "version": "2.3.0", ++ "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", ++ "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", ++ "dev": true, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/callsites": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", ++ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", ++ "dev": true, ++ "optional": true, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/camelcase": { ++ "version": "5.3.1", ++ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", ++ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", ++ "dev": true, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/camelcase-keys": { ++ "version": "6.2.2", ++ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", ++ "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", ++ "dev": true, ++ "dependencies": { ++ "camelcase": "^5.3.1", ++ "map-obj": "^4.0.0", ++ "quick-lru": "^4.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "ansi-styles": "^3.2.1", ++ "escape-string-regexp": "^1.0.5", ++ "supports-color": "^5.3.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/chardet": { ++ "version": "0.7.0", ++ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", ++ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", ++ "dev": true ++ }, ++ "node_modules/cli-cursor": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", ++ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", ++ "dev": true, ++ "dependencies": { ++ "restore-cursor": "^3.1.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=6" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/cli-width": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", ++ "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", ++ "dev": true, ++ "engines": { ++ "node": ">= 10" ++ } ++ }, ++ "node_modules/cliui": { ++ "version": "7.0.4", ++ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", ++ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", ++ "dev": true, ++ "dependencies": { ++ "string-width": "^4.2.0", ++ "strip-ansi": "^6.0.0", ++ "wrap-ansi": "^7.0.0" ++ } ++ }, ++ "node_modules/clone": { ++ "version": "1.0.4", ++ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", ++ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.8" ++ } ++ }, ++ "node_modules/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==", ++ "dev": true, ++ "dependencies": { ++ "color-name": "1.1.3" ++ } ++ }, ++ "node_modules/color-name": { ++ "version": "1.1.3", ++ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", ++ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", ++ "dev": true ++ }, ++ "node_modules/commitizen": { ++ "version": "4.3.0", ++ "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-4.3.0.tgz", ++ "integrity": "sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==", ++ "dev": true, ++ "dependencies": { ++ "cachedir": "2.3.0", ++ "cz-conventional-changelog": "3.3.0", ++ "dedent": "0.7.0", ++ "detect-indent": "6.1.0", ++ "find-node-modules": "^2.1.2", ++ "find-root": "1.1.0", ++ "fs-extra": "9.1.0", ++ "glob": "7.2.3", ++ "inquirer": "8.2.5", ++ "is-utf8": "^0.2.1", ++ "lodash": "4.17.21", ++ "minimist": "1.2.7", ++ "strip-bom": "4.0.0", ++ "strip-json-comments": "3.1.1" ++ }, ++ "bin": { ++ "commitizen": "bin/commitizen", ++ "cz": "bin/git-cz", ++ "git-cz": "bin/git-cz" ++ }, ++ "engines": { ++ "node": ">= 12" ++ } ++ }, ++ "node_modules/commondir": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", ++ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", ++ "dev": true ++ }, ++ "node_modules/compare-func": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", ++ "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", ++ "dev": true, ++ "dependencies": { ++ "array-ify": "^1.0.0", ++ "dot-prop": "^5.1.0" ++ } ++ }, ++ "node_modules/concat-map": { ++ "version": "0.0.1", ++ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", ++ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", ++ "dev": true ++ }, ++ "node_modules/concat-stream": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", ++ "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", ++ "dev": true, ++ "engines": [ ++ "node >= 6.0" ++ ], ++ "dependencies": { ++ "buffer-from": "^1.0.0", ++ "inherits": "^2.0.3", ++ "readable-stream": "^3.0.2", ++ "typedarray": "^0.0.6" ++ } ++ }, ++ "node_modules/conventional-changelog": { ++ "version": "3.1.25", ++ "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz", ++ "integrity": "sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==", ++ "dev": true, ++ "dependencies": { ++ "conventional-changelog-angular": "^5.0.12", ++ "conventional-changelog-atom": "^2.0.8", ++ "conventional-changelog-codemirror": "^2.0.8", ++ "conventional-changelog-conventionalcommits": "^4.5.0", ++ "conventional-changelog-core": "^4.2.1", ++ "conventional-changelog-ember": "^2.0.9", ++ "conventional-changelog-eslint": "^3.0.9", ++ "conventional-changelog-express": "^2.0.6", ++ "conventional-changelog-jquery": "^3.0.11", ++ "conventional-changelog-jshint": "^2.0.9", ++ "conventional-changelog-preset-loader": "^2.3.4" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/conventional-changelog-angular": { ++ "version": "5.0.13", ++ "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", ++ "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", ++ "dev": true, ++ "dependencies": { ++ "compare-func": "^2.0.0", ++ "q": "^1.5.1" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/conventional-changelog-atom": { ++ "version": "2.0.8", ++ "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", ++ "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", ++ "dev": true, ++ "dependencies": { ++ "q": "^1.5.1" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/conventional-changelog-codemirror": { ++ "version": "2.0.8", ++ "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", ++ "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", ++ "dev": true, ++ "dependencies": { ++ "q": "^1.5.1" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/conventional-changelog-config-spec": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz", ++ "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==", ++ "dev": true ++ }, ++ "node_modules/conventional-changelog-conventionalcommits": { ++ "version": "4.6.3", ++ "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", ++ "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", ++ "dev": true, ++ "dependencies": { ++ "compare-func": "^2.0.0", ++ "lodash": "^4.17.15", ++ "q": "^1.5.1" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/conventional-changelog-core": { ++ "version": "4.2.4", ++ "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", ++ "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", ++ "dev": true, ++ "dependencies": { ++ "add-stream": "^1.0.0", ++ "conventional-changelog-writer": "^5.0.0", ++ "conventional-commits-parser": "^3.2.0", ++ "dateformat": "^3.0.0", ++ "get-pkg-repo": "^4.0.0", ++ "git-raw-commits": "^2.0.8", ++ "git-remote-origin-url": "^2.0.0", ++ "git-semver-tags": "^4.1.1", ++ "lodash": "^4.17.15", ++ "normalize-package-data": "^3.0.0", ++ "q": "^1.5.1", ++ "read-pkg": "^3.0.0", ++ "read-pkg-up": "^3.0.0", ++ "through2": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/conventional-changelog-ember": { ++ "version": "2.0.9", ++ "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", ++ "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", ++ "dev": true, ++ "dependencies": { ++ "q": "^1.5.1" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/conventional-changelog-eslint": { ++ "version": "3.0.9", ++ "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", ++ "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", ++ "dev": true, ++ "dependencies": { ++ "q": "^1.5.1" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/conventional-changelog-express": { ++ "version": "2.0.6", ++ "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", ++ "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", ++ "dev": true, ++ "dependencies": { ++ "q": "^1.5.1" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/conventional-changelog-jquery": { ++ "version": "3.0.11", ++ "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", ++ "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", ++ "dev": true, ++ "dependencies": { ++ "q": "^1.5.1" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/conventional-changelog-jshint": { ++ "version": "2.0.9", ++ "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", ++ "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", ++ "dev": true, ++ "dependencies": { ++ "compare-func": "^2.0.0", ++ "q": "^1.5.1" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/conventional-changelog-preset-loader": { ++ "version": "2.3.4", ++ "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", ++ "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", ++ "dev": true, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/conventional-changelog-writer": { ++ "version": "5.0.1", ++ "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", ++ "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", ++ "dev": true, ++ "dependencies": { ++ "conventional-commits-filter": "^2.0.7", ++ "dateformat": "^3.0.0", ++ "handlebars": "^4.7.7", ++ "json-stringify-safe": "^5.0.1", ++ "lodash": "^4.17.15", ++ "meow": "^8.0.0", ++ "semver": "^6.0.0", ++ "split": "^1.0.0", ++ "through2": "^4.0.0" ++ }, ++ "bin": { ++ "conventional-changelog-writer": "cli.js" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/conventional-changelog-writer/node_modules/semver": { ++ "version": "6.3.1", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", ++ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", ++ "dev": true, ++ "bin": { ++ "semver": "bin/semver.js" ++ } ++ }, ++ "node_modules/conventional-commit-types": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz", ++ "integrity": "sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==", ++ "dev": true ++ }, ++ "node_modules/conventional-commits-filter": { ++ "version": "2.0.7", ++ "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", ++ "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", ++ "dev": true, ++ "dependencies": { ++ "lodash.ismatch": "^4.4.0", ++ "modify-values": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/conventional-commits-parser": { ++ "version": "3.2.4", ++ "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", ++ "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", ++ "dev": true, ++ "dependencies": { ++ "is-text-path": "^1.0.1", ++ "JSONStream": "^1.0.4", ++ "lodash": "^4.17.15", ++ "meow": "^8.0.0", ++ "split2": "^3.0.0", ++ "through2": "^4.0.0" ++ }, ++ "bin": { ++ "conventional-commits-parser": "cli.js" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/conventional-recommended-bump": { ++ "version": "6.1.0", ++ "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", ++ "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", ++ "dev": true, ++ "dependencies": { ++ "concat-stream": "^2.0.0", ++ "conventional-changelog-preset-loader": "^2.3.4", ++ "conventional-commits-filter": "^2.0.7", ++ "conventional-commits-parser": "^3.2.0", ++ "git-raw-commits": "^2.0.8", ++ "git-semver-tags": "^4.1.1", ++ "meow": "^8.0.0", ++ "q": "^1.5.1" ++ }, ++ "bin": { ++ "conventional-recommended-bump": "cli.js" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/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==", ++ "dev": true ++ }, ++ "node_modules/cosmiconfig": { ++ "version": "9.0.0", ++ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", ++ "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", ++ "dev": true, ++ "optional": true, ++ "dependencies": { ++ "env-paths": "^2.2.1", ++ "import-fresh": "^3.3.0", ++ "js-yaml": "^4.1.0", ++ "parse-json": "^5.2.0" ++ }, ++ "engines": { ++ "node": ">=14" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/d-fischer" ++ }, ++ "peerDependencies": { ++ "typescript": ">=4.9.5" ++ }, ++ "peerDependenciesMeta": { ++ "typescript": { ++ "optional": true ++ } ++ } ++ }, ++ "node_modules/cosmiconfig-typescript-loader": { ++ "version": "5.0.0", ++ "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz", ++ "integrity": "sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==", ++ "dev": true, ++ "optional": true, ++ "dependencies": { ++ "jiti": "^1.19.1" ++ }, ++ "engines": { ++ "node": ">=v16" ++ }, ++ "peerDependencies": { ++ "@types/node": "*", ++ "cosmiconfig": ">=8.2", ++ "typescript": ">=4" ++ } ++ }, ++ "node_modules/cz-conventional-changelog": { ++ "version": "3.3.0", ++ "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz", ++ "integrity": "sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==", ++ "dev": true, ++ "dependencies": { ++ "chalk": "^2.4.1", ++ "commitizen": "^4.0.3", ++ "conventional-commit-types": "^3.0.0", ++ "lodash.map": "^4.5.1", ++ "longest": "^2.0.1", ++ "word-wrap": "^1.0.3" ++ }, ++ "engines": { ++ "node": ">= 10" ++ }, ++ "optionalDependencies": { ++ "@commitlint/load": ">6.1.1" ++ } ++ }, ++ "node_modules/dargs": { ++ "version": "7.0.0", ++ "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", ++ "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/dateformat": { ++ "version": "3.0.3", ++ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", ++ "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", ++ "dev": true, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/decamelize-keys": { ++ "version": "1.1.1", ++ "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", ++ "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", ++ "dev": true, ++ "dependencies": { ++ "decamelize": "^1.1.0", ++ "map-obj": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/decamelize-keys/node_modules/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, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/dedent": { ++ "version": "0.7.0", ++ "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", ++ "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", ++ "dev": true ++ }, ++ "node_modules/deepmerge": { ++ "version": "4.3.1", ++ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", ++ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/defaults": { ++ "version": "1.0.4", ++ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", ++ "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", ++ "dev": true, ++ "dependencies": { ++ "clone": "^1.0.2" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/detect-indent": { ++ "version": "6.1.0", ++ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", ++ "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "is-obj": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/dotgitignore": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", ++ "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", ++ "dev": true, ++ "dependencies": { ++ "find-up": "^3.0.0", ++ "minimatch": "^3.0.4" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/dotgitignore/node_modules/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, ++ "dependencies": { ++ "locate-path": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/dotgitignore/node_modules/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, ++ "dependencies": { ++ "p-locate": "^3.0.0", ++ "path-exists": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/dotgitignore/node_modules/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, ++ "dependencies": { ++ "p-try": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/dotgitignore/node_modules/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, ++ "dependencies": { ++ "p-limit": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/dotgitignore/node_modules/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, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/env-paths": { ++ "version": "2.2.1", ++ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", ++ "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", ++ "dev": true, ++ "optional": true, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/error-ex": { ++ "version": "1.3.2", ++ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", ++ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", ++ "dev": true, ++ "dependencies": { ++ "is-arrayish": "^0.2.1" ++ } ++ }, ++ "node_modules/escalade": { ++ "version": "3.1.2", ++ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", ++ "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", ++ "dev": true, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/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==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.8.0" ++ } ++ }, ++ "node_modules/estree-walker": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", ++ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", ++ "dev": true ++ }, ++ "node_modules/expand-tilde": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", ++ "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", ++ "dev": true, ++ "dependencies": { ++ "homedir-polyfill": "^1.0.1" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "chardet": "^0.7.0", ++ "iconv-lite": "^0.4.24", ++ "tmp": "^0.0.33" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/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, ++ "optional": true ++ }, ++ "node_modules/fast-uri": { ++ "version": "3.0.1", ++ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", ++ "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", ++ "dev": true, ++ "optional": true ++ }, ++ "node_modules/figures": { ++ "version": "3.2.0", ++ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", ++ "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", ++ "dev": true, ++ "dependencies": { ++ "escape-string-regexp": "^1.0.5" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/file-url": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/file-url/-/file-url-4.0.0.tgz", ++ "integrity": "sha512-vRCdScQ6j3Ku6Kd7W1kZk9c++5SqD6Xz5Jotrjr/nkY714M14RFHy/AAVA2WQvpsqVAVgTbDrYyBpU205F0cLw==", ++ "dev": true, ++ "engines": { ++ "node": ">=12" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "to-regex-range": "^5.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/find-node-modules": { ++ "version": "2.1.3", ++ "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.1.3.tgz", ++ "integrity": "sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==", ++ "dev": true, ++ "dependencies": { ++ "findup-sync": "^4.0.0", ++ "merge": "^2.1.1" ++ } ++ }, ++ "node_modules/find-root": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", ++ "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", ++ "dev": true ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "locate-path": "^6.0.0", ++ "path-exists": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "detect-file": "^1.0.0", ++ "is-glob": "^4.0.0", ++ "micromatch": "^4.0.2", ++ "resolve-dir": "^1.0.1" ++ }, ++ "engines": { ++ "node": ">= 8" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "at-least-node": "^1.0.0", ++ "graceful-fs": "^4.2.0", ++ "jsonfile": "^6.0.1", ++ "universalify": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/fsevents": { ++ "version": "2.3.3", ++ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", ++ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", ++ "dev": true, ++ "hasInstallScript": true, ++ "optional": true, ++ "os": [ ++ "darwin" ++ ], ++ "engines": { ++ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" ++ } ++ }, ++ "node_modules/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, ++ "funding": { ++ "url": "https://github.com/sponsors/ljharb" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": "6.* || 8.* || >= 10.*" ++ } ++ }, ++ "node_modules/get-pkg-repo": { ++ "version": "4.2.1", ++ "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", ++ "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", ++ "dev": true, ++ "dependencies": { ++ "@hutson/parse-repository-url": "^3.0.0", ++ "hosted-git-info": "^4.0.0", ++ "through2": "^2.0.0", ++ "yargs": "^16.2.0" ++ }, ++ "bin": { ++ "get-pkg-repo": "src/cli.js" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/get-pkg-repo/node_modules/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, ++ "dependencies": { ++ "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" ++ } ++ }, ++ "node_modules/get-pkg-repo/node_modules/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 ++ }, ++ "node_modules/get-pkg-repo/node_modules/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, ++ "dependencies": { ++ "safe-buffer": "~5.1.0" ++ } ++ }, ++ "node_modules/get-pkg-repo/node_modules/through2": { ++ "version": "2.0.5", ++ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", ++ "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", ++ "dev": true, ++ "dependencies": { ++ "readable-stream": "~2.3.6", ++ "xtend": "~4.0.1" ++ } ++ }, ++ "node_modules/git-raw-commits": { ++ "version": "2.0.11", ++ "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", ++ "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", ++ "dev": true, ++ "dependencies": { ++ "dargs": "^7.0.0", ++ "lodash": "^4.17.15", ++ "meow": "^8.0.0", ++ "split2": "^3.0.0", ++ "through2": "^4.0.0" ++ }, ++ "bin": { ++ "git-raw-commits": "cli.js" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/git-remote-origin-url": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", ++ "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", ++ "dev": true, ++ "dependencies": { ++ "gitconfiglocal": "^1.0.0", ++ "pify": "^2.3.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/git-semver-tags": { ++ "version": "4.1.1", ++ "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", ++ "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", ++ "dev": true, ++ "dependencies": { ++ "meow": "^8.0.0", ++ "semver": "^6.0.0" ++ }, ++ "bin": { ++ "git-semver-tags": "cli.js" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/git-semver-tags/node_modules/semver": { ++ "version": "6.3.1", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", ++ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", ++ "dev": true, ++ "bin": { ++ "semver": "bin/semver.js" ++ } ++ }, ++ "node_modules/gitconfiglocal": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", ++ "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", ++ "dev": true, ++ "dependencies": { ++ "ini": "^1.3.2" ++ } ++ }, ++ "node_modules/gitconfiglocal/node_modules/ini": { ++ "version": "1.3.8", ++ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", ++ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", ++ "dev": true ++ }, ++ "node_modules/glob": { ++ "version": "7.2.3", ++ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", ++ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", ++ "deprecated": "Glob versions prior to v9 are no longer supported", ++ "dev": true, ++ "dependencies": { ++ "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" ++ }, ++ "engines": { ++ "node": "*" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/isaacs" ++ } ++ }, ++ "node_modules/global-directory": { ++ "version": "4.0.1", ++ "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz", ++ "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==", ++ "dev": true, ++ "optional": true, ++ "dependencies": { ++ "ini": "4.1.1" ++ }, ++ "engines": { ++ "node": ">=18" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/global-modules": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", ++ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", ++ "dev": true, ++ "dependencies": { ++ "global-prefix": "^1.0.1", ++ "is-windows": "^1.0.1", ++ "resolve-dir": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "expand-tilde": "^2.0.2", ++ "homedir-polyfill": "^1.0.1", ++ "ini": "^1.3.4", ++ "is-windows": "^1.0.1", ++ "which": "^1.2.14" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/global-prefix/node_modules/ini": { ++ "version": "1.3.8", ++ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", ++ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", ++ "dev": true ++ }, ++ "node_modules/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==", ++ "dev": true ++ }, ++ "node_modules/handlebars": { ++ "version": "4.7.8", ++ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", ++ "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", ++ "dev": true, ++ "dependencies": { ++ "minimist": "^1.2.5", ++ "neo-async": "^2.6.2", ++ "source-map": "^0.6.1", ++ "wordwrap": "^1.0.0" ++ }, ++ "bin": { ++ "handlebars": "bin/handlebars" ++ }, ++ "engines": { ++ "node": ">=0.4.7" ++ }, ++ "optionalDependencies": { ++ "uglify-js": "^3.1.4" ++ } ++ }, ++ "node_modules/hard-rejection": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", ++ "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", ++ "dev": true, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/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==", ++ "dev": true, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/hasown": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", ++ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", ++ "dev": true, ++ "dependencies": { ++ "function-bind": "^1.1.2" ++ }, ++ "engines": { ++ "node": ">= 0.4" ++ } ++ }, ++ "node_modules/homedir-polyfill": { ++ "version": "1.0.3", ++ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", ++ "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", ++ "dev": true, ++ "dependencies": { ++ "parse-passwd": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "lru-cache": "^6.0.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/iconv-lite": { ++ "version": "0.4.24", ++ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", ++ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", ++ "dev": true, ++ "dependencies": { ++ "safer-buffer": ">= 2.1.2 < 3" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/ieee754": { ++ "version": "1.2.1", ++ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", ++ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", ++ "dev": true, ++ "funding": [ ++ { ++ "type": "github", ++ "url": "https://github.com/sponsors/feross" ++ }, ++ { ++ "type": "patreon", ++ "url": "https://www.patreon.com/feross" ++ }, ++ { ++ "type": "consulting", ++ "url": "https://feross.org/support" ++ } ++ ] ++ }, ++ "node_modules/import-fresh": { ++ "version": "3.3.0", ++ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", ++ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", ++ "dev": true, ++ "optional": true, ++ "dependencies": { ++ "parent-module": "^1.0.0", ++ "resolve-from": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/import-fresh/node_modules/resolve-from": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", ++ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", ++ "dev": true, ++ "optional": true, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/import-meta-resolve": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", ++ "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", ++ "dev": true, ++ "optional": true, ++ "funding": { ++ "type": "github", ++ "url": "https://github.com/sponsors/wooorm" ++ } ++ }, ++ "node_modules/indent-string": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", ++ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/inflight": { ++ "version": "1.0.6", ++ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", ++ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", ++ "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", ++ "dev": true, ++ "dependencies": { ++ "once": "^1.3.0", ++ "wrappy": "1" ++ } ++ }, ++ "node_modules/inherits": { ++ "version": "2.0.4", ++ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", ++ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", ++ "dev": true ++ }, ++ "node_modules/ini": { ++ "version": "4.1.1", ++ "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", ++ "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", ++ "dev": true, ++ "optional": true, ++ "engines": { ++ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" ++ } ++ }, ++ "node_modules/inquirer": { ++ "version": "8.2.5", ++ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", ++ "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==", ++ "dev": true, ++ "dependencies": { ++ "ansi-escapes": "^4.2.1", ++ "chalk": "^4.1.1", ++ "cli-cursor": "^3.1.0", ++ "cli-width": "^3.0.0", ++ "external-editor": "^3.0.3", ++ "figures": "^3.0.0", ++ "lodash": "^4.17.21", ++ "mute-stream": "0.0.8", ++ "ora": "^5.4.1", ++ "run-async": "^2.4.0", ++ "rxjs": "^7.5.5", ++ "string-width": "^4.1.0", ++ "strip-ansi": "^6.0.0", ++ "through": "^2.3.6", ++ "wrap-ansi": "^7.0.0" ++ }, ++ "engines": { ++ "node": ">=12.0.0" ++ } ++ }, ++ "node_modules/inquirer/node_modules/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, ++ "dependencies": { ++ "color-convert": "^2.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/ansi-styles?sponsor=1" ++ } ++ }, ++ "node_modules/inquirer/node_modules/chalk": { ++ "version": "4.1.2", ++ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", ++ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", ++ "dev": true, ++ "dependencies": { ++ "ansi-styles": "^4.1.0", ++ "supports-color": "^7.1.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/chalk?sponsor=1" ++ } ++ }, ++ "node_modules/inquirer/node_modules/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, ++ "dependencies": { ++ "color-name": "~1.1.4" ++ }, ++ "engines": { ++ "node": ">=7.0.0" ++ } ++ }, ++ "node_modules/inquirer/node_modules/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 ++ }, ++ "node_modules/inquirer/node_modules/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, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/inquirer/node_modules/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, ++ "dependencies": { ++ "has-flag": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/is-core-module": { ++ "version": "2.14.0", ++ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", ++ "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", ++ "dev": true, ++ "dependencies": { ++ "hasown": "^2.0.2" ++ }, ++ "engines": { ++ "node": ">= 0.4" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/ljharb" ++ } ++ }, ++ "node_modules/is-extglob": { ++ "version": "2.1.1", ++ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", ++ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "is-extglob": "^2.1.1" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/is-interactive": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", ++ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/is-module": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", ++ "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", ++ "dev": true ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=0.12.0" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/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==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/is-reference": { ++ "version": "1.2.1", ++ "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", ++ "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", ++ "dev": true, ++ "dependencies": { ++ "@types/estree": "*" ++ } ++ }, ++ "node_modules/is-text-path": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", ++ "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", ++ "dev": true, ++ "dependencies": { ++ "text-extensions": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/is-unicode-supported": { ++ "version": "0.1.0", ++ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", ++ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", ++ "dev": true, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/isarray": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", ++ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", ++ "dev": true ++ }, ++ "node_modules/isexe": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", ++ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", ++ "dev": true ++ }, ++ "node_modules/jiti": { ++ "version": "1.21.6", ++ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", ++ "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", ++ "dev": true, ++ "optional": true, ++ "bin": { ++ "jiti": "bin/jiti.js" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/js-yaml": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", ++ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", ++ "dev": true, ++ "optional": true, ++ "dependencies": { ++ "argparse": "^2.0.1" ++ }, ++ "bin": { ++ "js-yaml": "bin/js-yaml.js" ++ } ++ }, ++ "node_modules/json-parse-better-errors": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", ++ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", ++ "dev": true ++ }, ++ "node_modules/json-parse-even-better-errors": { ++ "version": "2.3.1", ++ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", ++ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", ++ "dev": true ++ }, ++ "node_modules/json-schema-traverse": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", ++ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", ++ "dev": true, ++ "optional": true ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/jsonfile": { ++ "version": "6.1.0", ++ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", ++ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", ++ "dev": true, ++ "dependencies": { ++ "universalify": "^2.0.0" ++ }, ++ "optionalDependencies": { ++ "graceful-fs": "^4.1.6" ++ } ++ }, ++ "node_modules/jsonparse": { ++ "version": "1.3.1", ++ "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", ++ "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", ++ "dev": true, ++ "engines": [ ++ "node >= 0.2.0" ++ ] ++ }, ++ "node_modules/JSONStream": { ++ "version": "1.3.5", ++ "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", ++ "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", ++ "dev": true, ++ "dependencies": { ++ "jsonparse": "^1.2.0", ++ "through": ">=2.2.7 <3" ++ }, ++ "bin": { ++ "JSONStream": "bin.js" ++ }, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/lines-and-columns": { ++ "version": "1.2.4", ++ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", ++ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", ++ "dev": true ++ }, ++ "node_modules/load-json-file": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", ++ "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", ++ "dev": true, ++ "dependencies": { ++ "graceful-fs": "^4.1.2", ++ "parse-json": "^4.0.0", ++ "pify": "^3.0.0", ++ "strip-bom": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/load-json-file/node_modules/parse-json": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", ++ "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", ++ "dev": true, ++ "dependencies": { ++ "error-ex": "^1.3.1", ++ "json-parse-better-errors": "^1.0.1" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/load-json-file/node_modules/pify": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", ++ "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", ++ "dev": true, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/load-json-file/node_modules/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, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "p-locate": "^5.0.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/lodash": { ++ "version": "4.17.21", ++ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", ++ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", ++ "dev": true ++ }, ++ "node_modules/lodash.ismatch": { ++ "version": "4.4.0", ++ "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", ++ "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", ++ "dev": true ++ }, ++ "node_modules/lodash.isplainobject": { ++ "version": "4.0.6", ++ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", ++ "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", ++ "dev": true, ++ "optional": true ++ }, ++ "node_modules/lodash.map": { ++ "version": "4.6.0", ++ "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", ++ "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==", ++ "dev": true ++ }, ++ "node_modules/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, ++ "optional": true ++ }, ++ "node_modules/lodash.mergewith": { ++ "version": "4.6.2", ++ "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", ++ "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", ++ "dev": true, ++ "optional": true ++ }, ++ "node_modules/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, ++ "optional": true ++ }, ++ "node_modules/log-symbols": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", ++ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", ++ "dev": true, ++ "dependencies": { ++ "chalk": "^4.1.0", ++ "is-unicode-supported": "^0.1.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/log-symbols/node_modules/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, ++ "dependencies": { ++ "color-convert": "^2.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/ansi-styles?sponsor=1" ++ } ++ }, ++ "node_modules/log-symbols/node_modules/chalk": { ++ "version": "4.1.2", ++ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", ++ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", ++ "dev": true, ++ "dependencies": { ++ "ansi-styles": "^4.1.0", ++ "supports-color": "^7.1.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/chalk?sponsor=1" ++ } ++ }, ++ "node_modules/log-symbols/node_modules/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, ++ "dependencies": { ++ "color-name": "~1.1.4" ++ }, ++ "engines": { ++ "node": ">=7.0.0" ++ } ++ }, ++ "node_modules/log-symbols/node_modules/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 ++ }, ++ "node_modules/log-symbols/node_modules/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, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/log-symbols/node_modules/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, ++ "dependencies": { ++ "has-flag": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/longest": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz", ++ "integrity": "sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "yallist": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/magic-string": { ++ "version": "0.25.9", ++ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", ++ "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", ++ "dev": true, ++ "dependencies": { ++ "sourcemap-codec": "^1.4.8" ++ } ++ }, ++ "node_modules/map-obj": { ++ "version": "4.3.0", ++ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", ++ "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/meow": { ++ "version": "8.1.2", ++ "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", ++ "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", ++ "dev": true, ++ "dependencies": { ++ "@types/minimist": "^1.2.0", ++ "camelcase-keys": "^6.2.2", ++ "decamelize-keys": "^1.1.0", ++ "hard-rejection": "^2.1.0", ++ "minimist-options": "4.1.0", ++ "normalize-package-data": "^3.0.0", ++ "read-pkg-up": "^7.0.1", ++ "redent": "^3.0.0", ++ "trim-newlines": "^3.0.0", ++ "type-fest": "^0.18.0", ++ "yargs-parser": "^20.2.3" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/meow/node_modules/find-up": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", ++ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", ++ "dev": true, ++ "dependencies": { ++ "locate-path": "^5.0.0", ++ "path-exists": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/meow/node_modules/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 ++ }, ++ "node_modules/meow/node_modules/locate-path": { ++ "version": "5.0.0", ++ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", ++ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", ++ "dev": true, ++ "dependencies": { ++ "p-locate": "^4.1.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/meow/node_modules/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, ++ "dependencies": { ++ "p-try": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/meow/node_modules/p-locate": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", ++ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", ++ "dev": true, ++ "dependencies": { ++ "p-limit": "^2.2.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/meow/node_modules/read-pkg": { ++ "version": "5.2.0", ++ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", ++ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", ++ "dev": true, ++ "dependencies": { ++ "@types/normalize-package-data": "^2.4.0", ++ "normalize-package-data": "^2.5.0", ++ "parse-json": "^5.0.0", ++ "type-fest": "^0.6.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/meow/node_modules/read-pkg-up": { ++ "version": "7.0.1", ++ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", ++ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", ++ "dev": true, ++ "dependencies": { ++ "find-up": "^4.1.0", ++ "read-pkg": "^5.2.0", ++ "type-fest": "^0.8.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": { ++ "version": "0.8.1", ++ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", ++ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/meow/node_modules/read-pkg/node_modules/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, ++ "dependencies": { ++ "hosted-git-info": "^2.1.4", ++ "resolve": "^1.10.0", ++ "semver": "2 || 3 || 4 || 5", ++ "validate-npm-package-license": "^3.0.1" ++ } ++ }, ++ "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": { ++ "version": "0.6.0", ++ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", ++ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/meow/node_modules/semver": { ++ "version": "5.7.2", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", ++ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", ++ "dev": true, ++ "bin": { ++ "semver": "bin/semver" ++ } ++ }, ++ "node_modules/meow/node_modules/type-fest": { ++ "version": "0.18.1", ++ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", ++ "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", ++ "dev": true, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/merge": { ++ "version": "2.1.1", ++ "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz", ++ "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==", ++ "dev": true ++ }, ++ "node_modules/micromatch": { ++ "version": "4.0.7", ++ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", ++ "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", ++ "dev": true, ++ "dependencies": { ++ "braces": "^3.0.3", ++ "picomatch": "^2.3.1" ++ }, ++ "engines": { ++ "node": ">=8.6" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/min-indent": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", ++ "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", ++ "dev": true, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/minimatch": { ++ "version": "3.1.2", ++ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", ++ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", ++ "dev": true, ++ "dependencies": { ++ "brace-expansion": "^1.1.7" ++ }, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/minimist": { ++ "version": "1.2.7", ++ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", ++ "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", ++ "dev": true, ++ "funding": { ++ "url": "https://github.com/sponsors/ljharb" ++ } ++ }, ++ "node_modules/minimist-options": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", ++ "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", ++ "dev": true, ++ "dependencies": { ++ "arrify": "^1.0.1", ++ "is-plain-obj": "^1.1.0", ++ "kind-of": "^6.0.3" ++ }, ++ "engines": { ++ "node": ">= 6" ++ } ++ }, ++ "node_modules/modify-values": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", ++ "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/moment": { ++ "version": "2.29.1", ++ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", ++ "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", ++ "dev": true, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/mute-stream": { ++ "version": "0.0.8", ++ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", ++ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", ++ "dev": true ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/normalize-package-data": { ++ "version": "3.0.3", ++ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", ++ "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", ++ "dev": true, ++ "dependencies": { ++ "hosted-git-info": "^4.0.1", ++ "is-core-module": "^2.5.0", ++ "semver": "^7.3.4", ++ "validate-npm-package-license": "^3.0.1" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/obsidian": { ++ "version": "0.13.11", ++ "resolved": "https://registry.npmjs.org/obsidian/-/obsidian-0.13.11.tgz", ++ "integrity": "sha512-KxOvAh4CG5vzcukmHvyuK9hUIr6ZFlM9FQfGZEwrrEV8VG2/W2Tk5cWrg0VM7EkGE3QBmjX6owjIDIO8QDXVUQ==", ++ "dev": true, ++ "dependencies": { ++ "@codemirror/state": "^0.19.6", ++ "@codemirror/view": "^0.19.31", ++ "@types/codemirror": "0.0.108", ++ "moment": "2.29.1" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "wrappy": "1" ++ } ++ }, ++ "node_modules/onetime": { ++ "version": "5.1.2", ++ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", ++ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", ++ "dev": true, ++ "dependencies": { ++ "mimic-fn": "^2.1.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/ora": { ++ "version": "5.4.1", ++ "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", ++ "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", ++ "dev": true, ++ "dependencies": { ++ "bl": "^4.1.0", ++ "chalk": "^4.1.0", ++ "cli-cursor": "^3.1.0", ++ "cli-spinners": "^2.5.0", ++ "is-interactive": "^1.0.0", ++ "is-unicode-supported": "^0.1.0", ++ "log-symbols": "^4.1.0", ++ "strip-ansi": "^6.0.0", ++ "wcwidth": "^1.0.1" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/ora/node_modules/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, ++ "dependencies": { ++ "color-convert": "^2.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/ansi-styles?sponsor=1" ++ } ++ }, ++ "node_modules/ora/node_modules/chalk": { ++ "version": "4.1.2", ++ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", ++ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", ++ "dev": true, ++ "dependencies": { ++ "ansi-styles": "^4.1.0", ++ "supports-color": "^7.1.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/chalk?sponsor=1" ++ } ++ }, ++ "node_modules/ora/node_modules/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, ++ "dependencies": { ++ "color-name": "~1.1.4" ++ }, ++ "engines": { ++ "node": ">=7.0.0" ++ } ++ }, ++ "node_modules/ora/node_modules/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 ++ }, ++ "node_modules/ora/node_modules/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, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/ora/node_modules/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, ++ "dependencies": { ++ "has-flag": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/os-tmpdir": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", ++ "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "yocto-queue": "^0.1.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "p-limit": "^3.0.2" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/parent-module": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", ++ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", ++ "dev": true, ++ "optional": true, ++ "dependencies": { ++ "callsites": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/parse-json": { ++ "version": "5.2.0", ++ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", ++ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", ++ "dev": true, ++ "dependencies": { ++ "@babel/code-frame": "^7.0.0", ++ "error-ex": "^1.3.1", ++ "json-parse-even-better-errors": "^2.3.0", ++ "lines-and-columns": "^1.1.6" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/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==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/path-type": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", ++ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", ++ "dev": true, ++ "dependencies": { ++ "pify": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/path-type/node_modules/pify": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", ++ "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", ++ "dev": true, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/picocolors": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", ++ "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", ++ "dev": true ++ }, ++ "node_modules/picomatch": { ++ "version": "2.3.1", ++ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", ++ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", ++ "dev": true, ++ "engines": { ++ "node": ">=8.6" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/jonschlinkert" ++ } ++ }, ++ "node_modules/pify": { ++ "version": "2.3.0", ++ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", ++ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/prettier": { ++ "version": "2.1.2", ++ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.2.tgz", ++ "integrity": "sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==", ++ "dev": true, ++ "bin": { ++ "prettier": "bin-prettier.js" ++ }, ++ "engines": { ++ "node": ">=10.13.0" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/q": { ++ "version": "1.5.1", ++ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", ++ "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", ++ "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", ++ "dev": true, ++ "engines": { ++ "node": ">=0.6.0", ++ "teleport": ">=0.2.0" ++ } ++ }, ++ "node_modules/querystringify": { ++ "version": "2.2.0", ++ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", ++ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", ++ "dev": true ++ }, ++ "node_modules/quick-lru": { ++ "version": "4.0.1", ++ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", ++ "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/read-pkg": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", ++ "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", ++ "dev": true, ++ "dependencies": { ++ "load-json-file": "^4.0.0", ++ "normalize-package-data": "^2.3.2", ++ "path-type": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/read-pkg-up": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", ++ "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", ++ "dev": true, ++ "dependencies": { ++ "find-up": "^2.0.0", ++ "read-pkg": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/read-pkg-up/node_modules/find-up": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", ++ "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", ++ "dev": true, ++ "dependencies": { ++ "locate-path": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/read-pkg-up/node_modules/locate-path": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", ++ "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", ++ "dev": true, ++ "dependencies": { ++ "p-locate": "^2.0.0", ++ "path-exists": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/read-pkg-up/node_modules/p-limit": { ++ "version": "1.3.0", ++ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", ++ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", ++ "dev": true, ++ "dependencies": { ++ "p-try": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/read-pkg-up/node_modules/p-locate": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", ++ "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", ++ "dev": true, ++ "dependencies": { ++ "p-limit": "^1.1.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/read-pkg-up/node_modules/p-try": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", ++ "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", ++ "dev": true, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/read-pkg-up/node_modules/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, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/read-pkg/node_modules/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 ++ }, ++ "node_modules/read-pkg/node_modules/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, ++ "dependencies": { ++ "hosted-git-info": "^2.1.4", ++ "resolve": "^1.10.0", ++ "semver": "2 || 3 || 4 || 5", ++ "validate-npm-package-license": "^3.0.1" ++ } ++ }, ++ "node_modules/read-pkg/node_modules/semver": { ++ "version": "5.7.2", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", ++ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", ++ "dev": true, ++ "bin": { ++ "semver": "bin/semver" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "inherits": "^2.0.3", ++ "string_decoder": "^1.1.1", ++ "util-deprecate": "^1.0.1" ++ }, ++ "engines": { ++ "node": ">= 6" ++ } ++ }, ++ "node_modules/redent": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", ++ "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", ++ "dev": true, ++ "dependencies": { ++ "indent-string": "^4.0.0", ++ "strip-indent": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/require-from-string": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", ++ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", ++ "dev": true, ++ "optional": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/resolve": { ++ "version": "1.22.8", ++ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", ++ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", ++ "dev": true, ++ "dependencies": { ++ "is-core-module": "^2.13.0", ++ "path-parse": "^1.0.7", ++ "supports-preserve-symlinks-flag": "^1.0.0" ++ }, ++ "bin": { ++ "resolve": "bin/resolve" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/ljharb" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "expand-tilde": "^2.0.0", ++ "global-modules": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/resolve-from": { ++ "version": "5.0.0", ++ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", ++ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", ++ "dev": true, ++ "optional": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/restore-cursor": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", ++ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", ++ "dev": true, ++ "dependencies": { ++ "onetime": "^5.1.0", ++ "signal-exit": "^3.0.2" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/rollup": { ++ "version": "2.79.1", ++ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", ++ "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", ++ "dev": true, ++ "bin": { ++ "rollup": "dist/bin/rollup" ++ }, ++ "engines": { ++ "node": ">=10.0.0" ++ }, ++ "optionalDependencies": { ++ "fsevents": "~2.3.2" ++ } ++ }, ++ "node_modules/rollup-plugin-inject": { ++ "version": "3.0.2", ++ "resolved": "https://registry.npmjs.org/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz", ++ "integrity": "sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==", ++ "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.", ++ "dev": true, ++ "dependencies": { ++ "estree-walker": "^0.6.1", ++ "magic-string": "^0.25.3", ++ "rollup-pluginutils": "^2.8.1" ++ } ++ }, ++ "node_modules/rollup-plugin-inject/node_modules/estree-walker": { ++ "version": "0.6.1", ++ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", ++ "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", ++ "dev": true ++ }, ++ "node_modules/rollup-plugin-node-polyfills": { ++ "version": "0.2.1", ++ "resolved": "https://registry.npmjs.org/rollup-plugin-node-polyfills/-/rollup-plugin-node-polyfills-0.2.1.tgz", ++ "integrity": "sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==", ++ "dev": true, ++ "dependencies": { ++ "rollup-plugin-inject": "^3.0.0" ++ } ++ }, ++ "node_modules/rollup-pluginutils": { ++ "version": "2.8.2", ++ "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", ++ "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", ++ "dev": true, ++ "dependencies": { ++ "estree-walker": "^0.6.1" ++ } ++ }, ++ "node_modules/rollup-pluginutils/node_modules/estree-walker": { ++ "version": "0.6.1", ++ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", ++ "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", ++ "dev": true ++ }, ++ "node_modules/run-async": { ++ "version": "2.4.1", ++ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", ++ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.12.0" ++ } ++ }, ++ "node_modules/rxjs": { ++ "version": "7.8.1", ++ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", ++ "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", ++ "dev": true, ++ "dependencies": { ++ "tslib": "^2.1.0" ++ } ++ }, ++ "node_modules/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==", ++ "dev": true, ++ "funding": [ ++ { ++ "type": "github", ++ "url": "https://github.com/sponsors/feross" ++ }, ++ { ++ "type": "patreon", ++ "url": "https://www.patreon.com/feross" ++ }, ++ { ++ "type": "consulting", ++ "url": "https://feross.org/support" ++ } ++ ] ++ }, ++ "node_modules/safer-buffer": { ++ "version": "2.1.2", ++ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", ++ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", ++ "dev": true ++ }, ++ "node_modules/semver": { ++ "version": "7.6.3", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", ++ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", ++ "dev": true, ++ "bin": { ++ "semver": "bin/semver.js" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/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==", ++ "dev": true ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/sourcemap-codec": { ++ "version": "1.4.8", ++ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", ++ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", ++ "deprecated": "Please use @jridgewell/sourcemap-codec instead", ++ "dev": true ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "spdx-expression-parse": "^3.0.0", ++ "spdx-license-ids": "^3.0.0" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "spdx-exceptions": "^2.1.0", ++ "spdx-license-ids": "^3.0.0" ++ } ++ }, ++ "node_modules/spdx-license-ids": { ++ "version": "3.0.18", ++ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", ++ "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==", ++ "dev": true ++ }, ++ "node_modules/split": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", ++ "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", ++ "dev": true, ++ "dependencies": { ++ "through": "2" ++ }, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/split2": { ++ "version": "3.2.2", ++ "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", ++ "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", ++ "dev": true, ++ "dependencies": { ++ "readable-stream": "^3.0.0" ++ } ++ }, ++ "node_modules/standard-version": { ++ "version": "9.5.0", ++ "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-9.5.0.tgz", ++ "integrity": "sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q==", ++ "dev": true, ++ "dependencies": { ++ "chalk": "^2.4.2", ++ "conventional-changelog": "3.1.25", ++ "conventional-changelog-config-spec": "2.1.0", ++ "conventional-changelog-conventionalcommits": "4.6.3", ++ "conventional-recommended-bump": "6.1.0", ++ "detect-indent": "^6.0.0", ++ "detect-newline": "^3.1.0", ++ "dotgitignore": "^2.1.0", ++ "figures": "^3.1.0", ++ "find-up": "^5.0.0", ++ "git-semver-tags": "^4.0.0", ++ "semver": "^7.1.1", ++ "stringify-package": "^1.0.1", ++ "yargs": "^16.0.0" ++ }, ++ "bin": { ++ "standard-version": "bin/cli.js" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "safe-buffer": "~5.2.0" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "emoji-regex": "^8.0.0", ++ "is-fullwidth-code-point": "^3.0.0", ++ "strip-ansi": "^6.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/stringify-package": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", ++ "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==", ++ "deprecated": "This module is not used anymore, and has been replaced by @npmcli/package-json", ++ "dev": true ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "ansi-regex": "^5.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/strip-bom": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", ++ "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/strip-indent": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", ++ "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", ++ "dev": true, ++ "dependencies": { ++ "min-indent": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/strip-json-comments": { ++ "version": "3.1.1", ++ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", ++ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/style-mod": { ++ "version": "4.1.2", ++ "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz", ++ "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==", ++ "dev": true ++ }, ++ "node_modules/supports-color": { ++ "version": "5.5.0", ++ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", ++ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", ++ "dev": true, ++ "dependencies": { ++ "has-flag": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">= 0.4" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/ljharb" ++ } ++ }, ++ "node_modules/text-extensions": { ++ "version": "1.9.0", ++ "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", ++ "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10" ++ } ++ }, ++ "node_modules/through": { ++ "version": "2.3.8", ++ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", ++ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", ++ "dev": true ++ }, ++ "node_modules/through2": { ++ "version": "4.0.2", ++ "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", ++ "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", ++ "dev": true, ++ "dependencies": { ++ "readable-stream": "3" ++ } ++ }, ++ "node_modules/tmp": { ++ "version": "0.0.33", ++ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", ++ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", ++ "dev": true, ++ "dependencies": { ++ "os-tmpdir": "~1.0.2" ++ }, ++ "engines": { ++ "node": ">=0.6.0" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "is-number": "^7.0.0" ++ }, ++ "engines": { ++ "node": ">=8.0" ++ } ++ }, ++ "node_modules/trim-newlines": { ++ "version": "3.0.1", ++ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", ++ "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tslib": { ++ "version": "2.6.3", ++ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", ++ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", ++ "dev": true ++ }, ++ "node_modules/type-fest": { ++ "version": "0.21.3", ++ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", ++ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", ++ "dev": true, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/typescript": { ++ "version": "4.9.5", ++ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", ++ "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", ++ "dev": true, ++ "bin": { ++ "tsc": "bin/tsc", ++ "tsserver": "bin/tsserver" ++ }, ++ "engines": { ++ "node": ">=4.2.0" ++ } ++ }, ++ "node_modules/uglify-js": { ++ "version": "3.19.0", ++ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.0.tgz", ++ "integrity": "sha512-wNKHUY2hYYkf6oSFfhwwiHo4WCHzHmzcXsqXYTN9ja3iApYIFbb2U6ics9hBcYLHcYGQoAlwnZlTrf3oF+BL/Q==", ++ "dev": true, ++ "optional": true, ++ "bin": { ++ "uglifyjs": "bin/uglifyjs" ++ }, ++ "engines": { ++ "node": ">=0.8.0" ++ } ++ }, ++ "node_modules/undici-types": { ++ "version": "5.26.5", ++ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", ++ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", ++ "dev": true ++ }, ++ "node_modules/universalify": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", ++ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", ++ "dev": true, ++ "engines": { ++ "node": ">= 10.0.0" ++ } ++ }, ++ "node_modules/url-parse": { ++ "version": "1.5.10", ++ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", ++ "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", ++ "dev": true, ++ "dependencies": { ++ "querystringify": "^2.1.1", ++ "requires-port": "^1.0.0" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "spdx-correct": "^3.0.0", ++ "spdx-expression-parse": "^3.0.0" ++ } ++ }, ++ "node_modules/w3c-keyname": { ++ "version": "2.2.8", ++ "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", ++ "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==", ++ "dev": true ++ }, ++ "node_modules/wcwidth": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", ++ "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", ++ "dev": true, ++ "dependencies": { ++ "defaults": "^1.0.3" ++ } ++ }, ++ "node_modules/which": { ++ "version": "1.3.1", ++ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", ++ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", ++ "dev": true, ++ "dependencies": { ++ "isexe": "^2.0.0" ++ }, ++ "bin": { ++ "which": "bin/which" ++ } ++ }, ++ "node_modules/word-wrap": { ++ "version": "1.2.5", ++ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", ++ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/wordwrap": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", ++ "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", ++ "dev": true ++ }, ++ "node_modules/wrap-ansi": { ++ "version": "7.0.0", ++ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", ++ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", ++ "dev": true, ++ "dependencies": { ++ "ansi-styles": "^4.0.0", ++ "string-width": "^4.1.0", ++ "strip-ansi": "^6.0.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" ++ } ++ }, ++ "node_modules/wrap-ansi/node_modules/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, ++ "dependencies": { ++ "color-convert": "^2.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/ansi-styles?sponsor=1" ++ } ++ }, ++ "node_modules/wrap-ansi/node_modules/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, ++ "dependencies": { ++ "color-name": "~1.1.4" ++ }, ++ "engines": { ++ "node": ">=7.0.0" ++ } ++ }, ++ "node_modules/wrap-ansi/node_modules/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 ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/xtend": { ++ "version": "4.0.2", ++ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", ++ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.4" ++ } ++ }, ++ "node_modules/y18n": { ++ "version": "5.0.8", ++ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", ++ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", ++ "dev": true, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/yallist": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", ++ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", ++ "dev": true ++ }, ++ "node_modules/yargs": { ++ "version": "16.2.0", ++ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", ++ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", ++ "dev": true, ++ "dependencies": { ++ "cliui": "^7.0.2", ++ "escalade": "^3.1.1", ++ "get-caller-file": "^2.0.5", ++ "require-directory": "^2.1.1", ++ "string-width": "^4.2.0", ++ "y18n": "^5.0.5", ++ "yargs-parser": "^20.2.2" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/yargs-parser": { ++ "version": "20.2.9", ++ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", ++ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", ++ "dev": true, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ } ++ } ++} diff --git a/hosts/common/configs/user/gui/obsidian/config/themes/minimal/default.nix b/packages/obsidian/themes/minimal/default.nix similarity index 62% rename from hosts/common/configs/user/gui/obsidian/config/themes/minimal/default.nix rename to packages/obsidian/themes/minimal/default.nix index 08a2ab1..3d09f37 100644 --- a/hosts/common/configs/user/gui/obsidian/config/themes/minimal/default.nix +++ b/packages/obsidian/themes/minimal/default.nix @@ -1,16 +1,17 @@ { pkgs, ... }: +# AUTO-UPDATE: nix-update --flake obsidian-theme-minimal pkgs.buildNpmPackage rec { - pname = "obsidian.themes.minimal"; - version = "7.7.18"; + pname = "obsidian-theme-minimal"; + version = "7.7.19"; src = pkgs.fetchFromGitHub { owner = "kepano"; repo = "obsidian-minimal"; rev = version; - hash = "sha256-zOUOE8EQlnnOmEhkWQmT28eH2Yk7fgkNvbxjJzLXio8="; + hash = "sha256-1NUnOmQVbikUNcQcPSi0JYxMR6z7s1gZ1iFmR5SOkbM="; }; - npmDepsHash = "sha256-PzsZv/On8ci6EkF3WE4aez3/jQu5AqyJxFUzJk+Pn0c="; + npmDepsHash = "sha256-R+XeEkDP0MxNQsFCWmHXKtLBcmiOTv9Nw7t2e27kvQg="; npmPackFlags = [ "--ignore-scripts" ]; nativeBuildInputs = with pkgs; [ sass ]; diff --git a/packages/sas/sage/default.nix b/packages/sas/sage/default.nix new file mode 100644 index 0000000..289cc26 --- /dev/null +++ b/packages/sas/sage/default.nix @@ -0,0 +1,23 @@ +{ pkgs, ... }: +# AUTO-UPDATE: echo "Warning: Package from private git repository cannot be automatically updated." >&2 +pkgs.buildGoModule rec { + pname = "sage"; + version = "1.55.0"; + + src = fetchGit { + url = "git@github.com:sas-institute-rnd-internal/pipeline-sage.git"; + ref = "main"; + rev = "41a07811d8c8002d452dc677151b87dbbeae2b81"; + }; + + vendorHash = "sha256-ye76doo/3bkHxY8l7060ElQlRwY0/C3h7ICJTMmXg5k="; + + preBuild = '' + export GOPROXY="goproxy.unx.sas.com" + export GONOSUMDB="*.sas.com,sassoftware.io" + + rm -rf cmd/bootstrap python sage + ''; + + doCheck = false; +} diff --git a/hosts/elara/users/nikara/configs/console/viya-ark/package.nix b/packages/sas/viya4-ark/default.nix similarity index 60% rename from hosts/elara/users/nikara/configs/console/viya-ark/package.nix rename to packages/sas/viya4-ark/default.nix index 0ba6c3b..b34efb8 100644 --- a/hosts/elara/users/nikara/configs/console/viya-ark/package.nix +++ b/packages/sas/viya4-ark/default.nix @@ -1,12 +1,14 @@ { pkgs, ... }: +# AUTO-UPDATE: nix-update --flake viya4-ark pkgs.python3Packages.buildPythonPackage rec { pname = "viya4-ark"; version = "2.0.2"; - src = fetchGit { - url = "git@github.com:sassoftware/viya4-ark.git"; - ref = "main"; - rev = "6a7864cd25c39c2ba1e06adbbd94ecebf9a5e3bf"; + src = pkgs.fetchFromGitHub { + owner = "sassoftware"; + repo = "viya4-ark"; + rev = version; + hash = "sha256-P2DixhY3xbNeiYiMX+7C2YTCpvcMlUpRJ2VfzhGvsPs="; }; patches = [ diff --git a/hosts/elara/users/nikara/configs/console/viya-ark/fix-setup.patch b/packages/sas/viya4-ark/fix-setup.patch similarity index 100% rename from hosts/elara/users/nikara/configs/console/viya-ark/fix-setup.patch rename to packages/sas/viya4-ark/fix-setup.patch diff --git a/hosts/elara/users/nikara/configs/console/viya-ark/remove-kubeconfig-check.patch b/packages/sas/viya4-ark/remove-kubeconfig-check.patch similarity index 100% rename from hosts/elara/users/nikara/configs/console/viya-ark/remove-kubeconfig-check.patch rename to packages/sas/viya4-ark/remove-kubeconfig-check.patch diff --git a/hosts/elara/users/nikara/configs/console/viya-orders-cli/better-config.patch b/packages/sas/viya4-orders-cli/better-config.patch similarity index 100% rename from hosts/elara/users/nikara/configs/console/viya-orders-cli/better-config.patch rename to packages/sas/viya4-orders-cli/better-config.patch diff --git a/hosts/elara/users/nikara/configs/console/viya-orders-cli/package.nix b/packages/sas/viya4-orders-cli/default.nix similarity index 62% rename from hosts/elara/users/nikara/configs/console/viya-orders-cli/package.nix rename to packages/sas/viya4-orders-cli/default.nix index d0fd44c..f63ad0b 100644 --- a/hosts/elara/users/nikara/configs/console/viya-orders-cli/package.nix +++ b/packages/sas/viya4-orders-cli/default.nix @@ -1,12 +1,14 @@ { pkgs, ... }: +# AUTO-UPDATE: nix-update --flake viya4-orders-cli pkgs.buildGoModule rec { pname = "viya4-orders-cli"; - version = "1.6.0"; + version = "1.7.0"; - src = fetchGit { - url = "git@github.com:sassoftware/viya4-orders-cli.git"; - ref = "main"; - rev = "44fb3c4f1c3773679592f0b923ac1d1945b976ec"; + src = pkgs.fetchFromGitHub { + owner = "sassoftware"; + repo = "viya4-orders-cli"; + rev = version; + hash = "sha256-ccYQHIHT+zR94KL2B51G4J33L7obYUxh+ilDvatW7dI="; }; vendorHash = "sha256-iDNSV+oYNela4kFtkLppUIL5/hR1dEbPPuOlN5a5MfE="; diff --git a/submodules/home-manager b/submodules/home-manager index 4d6357d..6db31ab 160000 --- a/submodules/home-manager +++ b/submodules/home-manager @@ -1 +1 @@ -Subproject commit 4d6357dad7350b01339955acb690c57026eacee2 +Subproject commit 6db31ab82b2b0d6bad4691a238073401120f673c diff --git a/submodules/nixpkgs b/submodules/nixpkgs index 6abb8f6..d44556f 160000 --- a/submodules/nixpkgs +++ b/submodules/nixpkgs @@ -1 +1 @@ -Subproject commit 6abb8f6d73fe6b7e9870f0ccc11a96958590b645 +Subproject commit d44556fd1331b9599764e86d618e2eb5b9362162 diff --git a/submodules/spicetify-nix b/submodules/spicetify-nix index 984d592..3af70e8 160000 --- a/submodules/spicetify-nix +++ b/submodules/spicetify-nix @@ -1 +1 @@ -Subproject commit 984d59248f4100327953048ea2710633cd87332c +Subproject commit 3af70e8bc9b010845918be273f20de2cd34af046