From 99866fb495165cb52eff61e0cfa8403c113f48e0 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 16 Jan 2025 14:40:16 +0000 Subject: [PATCH 1/7] build: ensure package substitutions work with pnpm `workspace:*` links We'll be using `workspace:*` protocol links to link first-party packages together in the pnpm workspace. For this reason, we need to make sure they are properly replaced in `package.json` files, before packaging. --- tools/bazel/npm_package.bzl | 10 +++++----- tools/defaults.bzl | 10 +++++----- tools/package_json_release_filter.jq | 5 +++++ tools/substitutions.bzl | 20 ++++++++++++++++---- 4 files changed, 31 insertions(+), 14 deletions(-) diff --git a/tools/bazel/npm_package.bzl b/tools/bazel/npm_package.bzl index 137f629e5981..927609e17d63 100644 --- a/tools/bazel/npm_package.bzl +++ b/tools/bazel/npm_package.bzl @@ -6,7 +6,7 @@ load("@aspect_rules_js//npm:defs.bzl", _npm_package = "npm_package") load("@rules_pkg//:pkg.bzl", "pkg_tar") load("//tools:link_package_json_to_tarballs.bzl", "link_package_json_to_tarballs") load("//tools:snapshot_repo_filter.bzl", "SNAPSHOT_REPO_JQ_FILTER") -load("//tools:substitutions.bzl", "NO_STAMP_PACKAGE_SUBSTITUTIONS", "get_npm_package_substitutions_for_rjs") +load("//tools:substitutions.bzl", "substitutions") def npm_package( name, @@ -71,8 +71,8 @@ def npm_package( "//conditions:default": "substituted/package.json", }), out = "substituted_final/package.json", - substitutions = NO_STAMP_PACKAGE_SUBSTITUTIONS, - stamp_substitutions = get_npm_package_substitutions_for_rjs(), + substitutions = substitutions["rjs"]["nostamp"], + stamp_substitutions = substitutions["rjs"]["stamp"], ) stamp_targets = [] @@ -81,8 +81,8 @@ def npm_package( name = "stamp_file_%s" % f, template = f, out = "substituted/%s" % f, - substitutions = NO_STAMP_PACKAGE_SUBSTITUTIONS, - stamp_substitutions = get_npm_package_substitutions_for_rjs(), + substitutions = substitutions["rjs"]["nostamp"], + stamp_substitutions = substitutions["rjs"]["stamp"], ) stamp_targets.append("stamp_file_%s" % f) diff --git a/tools/defaults.bzl b/tools/defaults.bzl index e7e64c2a3e4d..a642782bd39a 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -10,7 +10,7 @@ load("@npm//@angular/build-tooling/bazel:extract_js_module_output.bzl", "extract load("@rules_pkg//:pkg.bzl", "pkg_tar") load("//tools:link_package_json_to_tarballs.bzl", "link_package_json_to_tarballs") load("//tools:snapshot_repo_filter.bzl", "SNAPSHOT_REPO_JQ_FILTER") -load("//tools:substitutions.bzl", "NO_STAMP_PACKAGE_SUBSTITUTIONS", "NPM_PACKAGE_SUBSTITUTIONS") +load("//tools:substitutions.bzl", "substitutions") _DEFAULT_TSCONFIG_NG = "//:tsconfig-build-ng" _DEFAULT_TSCONFIG_TEST = "//:tsconfig-test.json" @@ -159,8 +159,8 @@ def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): package_name = None, validate = False, substitutions = select({ - "//:stamp": NPM_PACKAGE_SUBSTITUTIONS, - "//conditions:default": NO_STAMP_PACKAGE_SUBSTITUTIONS, + "//:stamp": substitutions["legacy"]["stamp"], + "//conditions:default": substitutions["legacy"]["nostamp"], }), visibility = visibility, nested_packages = nested_packages, @@ -221,8 +221,8 @@ def ng_package(deps = [], **kwargs): deps = deps, license = "//:LICENSE", substitutions = select({ - "//:stamp": NPM_PACKAGE_SUBSTITUTIONS, - "//conditions:default": NO_STAMP_PACKAGE_SUBSTITUTIONS, + "//:stamp": substitutions["legacy"]["stamp"], + "//conditions:default": substitutions["legacy"]["nostamp"], }), **kwargs ) diff --git a/tools/package_json_release_filter.jq b/tools/package_json_release_filter.jq index 279a16102e01..4b5a0eb20c62 100644 --- a/tools/package_json_release_filter.jq +++ b/tools/package_json_release_filter.jq @@ -30,3 +30,8 @@ # Add engines; versions substituted via pkg_npm + {"engines": {"node": "0.0.0-ENGINES-NODE", "npm": "0.0.0-ENGINES-NPM", "yarn": "0.0.0-ENGINES-YARN"}} + +# Remove all `workspace:` pnpm prefixes. Afterwards we can conveniently rely on +# substitutions from the stamp values. Note that we are doing it this way because +# substitutions can apply to multiple files, and `workspace:` can't be reliably replaced. +| walk(if type == "string" and startswith("workspace:") then sub("workspace:"; "") else . end) diff --git a/tools/substitutions.bzl b/tools/substitutions.bzl index 80698bb4627e..ab0dfb46e0a9 100644 --- a/tools/substitutions.bzl +++ b/tools/substitutions.bzl @@ -1,9 +1,10 @@ load("//:constants.bzl", "ANGULAR_FW_PEER_DEP", "ANGULAR_FW_VERSION", "NG_PACKAGR_PEER_DEP", "NG_PACKAGR_VERSION", "RELEASE_ENGINES_NODE", "RELEASE_ENGINES_NPM", "RELEASE_ENGINES_YARN") -NPM_PACKAGE_SUBSTITUTIONS = { +_stamp_substitutions = { # Version of the local package being built, generated via the `--workspace_status_command` flag. "0.0.0-PLACEHOLDER": "{STABLE_PROJECT_VERSION}", "0.0.0-EXPERIMENTAL-PLACEHOLDER": "{STABLE_PROJECT_EXPERIMENTAL_VERSION}", + # --- "BUILD_SCM_HASH-PLACEHOLDER": "{BUILD_SCM_ABBREV_HASH}", "0.0.0-ENGINES-NODE": RELEASE_ENGINES_NODE, "0.0.0-ENGINES-NPM": RELEASE_ENGINES_NPM, @@ -16,15 +17,26 @@ NPM_PACKAGE_SUBSTITUTIONS = { "\\./(.+)/packages/angular/ssr/third_party/beasties": "../third_party/beasties/index.js", } -NO_STAMP_PACKAGE_SUBSTITUTIONS = dict(NPM_PACKAGE_SUBSTITUTIONS, **{ +_no_stamp_substitutions = dict(_stamp_substitutions, **{ "0.0.0-PLACEHOLDER": "0.0.0", "0.0.0-EXPERIMENTAL-PLACEHOLDER": "0.0.0", }) -def get_npm_package_substitutions_for_rjs(): +def _adjust_substitutions_for_rules_js(subs): result = {} - for key, value in NPM_PACKAGE_SUBSTITUTIONS.items(): + for key, value in subs.items(): # in `rules_js`, or `expand_template` from `bazel-lib`, stamp variables # can only be retrieved via `{{X}}` syntax. result[key] = value.replace("{", "{{").replace("}", "}}") return result + +substitutions = { + "legacy": { + "stamp": _stamp_substitutions, + "nostamp": _no_stamp_substitutions, + }, + "rjs": { + "stamp": _adjust_substitutions_for_rules_js(_stamp_substitutions), + "nostamp": _adjust_substitutions_for_rules_js(_no_stamp_substitutions), + }, +} From 69f68c9ae3296dc4843cbb14dd630f217ee230eb Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 16 Jan 2025 12:16:57 +0000 Subject: [PATCH 2/7] build: migrate `@angular/cli` tests to use `rules_js` Integrates `@angular/cli` into the pnpm workspace and wires up the native `rules_js` rules. One nice benefits that highlight here: - `resolve` runtime dependency is only installed in the CLI folder, and we can pull it from there. --> Locally managed deps! :yay: --- .../npm_translate_lock_MzA5NzUwNzMx | 9 +- WORKSPACE | 3 + packages/angular/cli/BUILD.bazel | 22 +- packages/angular/cli/package.json | 8 +- .../angular_devkit/architect/package.json | 2 +- .../angular_devkit/schematics/package.json | 2 +- packages/schematics/angular/package.json | 4 +- pnpm-lock.yaml | 457 +++++++++--------- pnpm-workspace.yaml | 3 + 9 files changed, 272 insertions(+), 238 deletions(-) diff --git a/.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx b/.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx index 7fada2aee16b..6c8b53a79fa6 100755 --- a/.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx +++ b/.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx @@ -3,8 +3,11 @@ # This file should be checked into version control along with the pnpm-lock.yaml file. .npmrc=-2023857461 package.json=-1983260945 -packages/angular_devkit/architect/package.json=-107274537 +packages/angular/cli/package.json=-1878910022 +packages/angular_devkit/architect/package.json=-1496633956 packages/angular_devkit/core/package.json=339935828 -pnpm-lock.yaml=-2133021503 -pnpm-workspace.yaml=-1853274682 +packages/angular_devkit/schematics/package.json=673943597 +packages/schematics/angular/package.json=251715148 +pnpm-lock.yaml=-1580789254 +pnpm-workspace.yaml=1839001260 yarn.lock=577341343 diff --git a/WORKSPACE b/WORKSPACE index 74516f7c424e..0073125b5289 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -186,8 +186,11 @@ npm_translate_lock( data = [ "//:package.json", "//:pnpm-workspace.yaml", + "//packages/angular/cli:package.json", "//packages/angular_devkit/architect:package.json", "//packages/angular_devkit/core:package.json", + "//packages/angular_devkit/schematics:package.json", + "//packages/schematics/angular:package.json", ], npmrc = "//:.npmrc", patches = { diff --git a/packages/angular/cli/BUILD.bazel b/packages/angular/cli/BUILD.bazel index 5a48ad9adbed..dc53492b28b5 100644 --- a/packages/angular/cli/BUILD.bazel +++ b/packages/angular/cli/BUILD.bazel @@ -3,8 +3,8 @@ # Use of this source code is governed by an MIT-style license that can be # found in the LICENSE file at https://angular.dev/license -load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") -load("//tools:defaults2.bzl", "npm_package", "ts_project") +load("@npm2//:defs.bzl", "npm_link_all_packages") +load("//tools:defaults2.bzl", "jasmine_test", "npm_package", "ts_project") load("//tools:ng_cli_schema_generator.bzl", "cli_json_schema") load("//tools:ts_json_schema.bzl", "ts_json_schema") @@ -12,6 +12,8 @@ licenses(["notice"]) package(default_visibility = ["//visibility:public"]) +npm_link_all_packages() + RUNTIME_ASSETS = glob( include = [ "bin/**/*", @@ -43,6 +45,10 @@ ts_project( data = RUNTIME_ASSETS, module_name = "@angular/cli", deps = [ + ":node_modules/@angular-devkit/architect", + ":node_modules/@angular-devkit/core", + ":node_modules/@angular-devkit/schematics", + ":node_modules/resolve", "//:node_modules/@angular/core", "//:node_modules/@inquirer/prompts", "//:node_modules/@listr2/prompt-adapter-inquirer", @@ -62,14 +68,8 @@ ts_project( "//:node_modules/npm-pick-manifest", "//:node_modules/pacote", "//:node_modules/semver", + "//:node_modules/symbol-observable", "//:node_modules/yargs", - "//packages/angular_devkit/architect:architect_rjs", - "//packages/angular_devkit/architect/node:node_rjs", - "//packages/angular_devkit/core:core_rjs", - "//packages/angular_devkit/core/node:node_rjs", - "//packages/angular_devkit/schematics:schematics_rjs", - "//packages/angular_devkit/schematics/tasks:tasks_rjs", - "//packages/angular_devkit/schematics/tools:tools_rjs", ], ) @@ -148,9 +148,9 @@ ts_project( ], ) -jasmine_node_test( +jasmine_test( name = "angular-cli_test", - srcs = [":angular-cli_test_lib"], + data = [":angular-cli_test_lib_rjs"], ) genrule( diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index c94245c27eae..60718cf2cee5 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -22,12 +22,12 @@ }, "homepage": "https://github.com/angular/angular-cli", "dependencies": { - "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", - "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular-devkit/schematics": "0.0.0-PLACEHOLDER", + "@angular-devkit/architect": "workspace:0.0.0-EXPERIMENTAL-PLACEHOLDER", + "@angular-devkit/core": "workspace:0.0.0-PLACEHOLDER", + "@angular-devkit/schematics": "workspace:0.0.0-PLACEHOLDER", "@inquirer/prompts": "7.2.3", "@listr2/prompt-adapter-inquirer": "2.0.18", - "@schematics/angular": "0.0.0-PLACEHOLDER", + "@schematics/angular": "workspace:0.0.0-PLACEHOLDER", "@yarnpkg/lockfile": "1.1.0", "ini": "5.0.0", "jsonc-parser": "3.3.1", diff --git a/packages/angular_devkit/architect/package.json b/packages/angular_devkit/architect/package.json index 180978f51d38..fa291726b2c2 100644 --- a/packages/angular_devkit/architect/package.json +++ b/packages/angular_devkit/architect/package.json @@ -6,7 +6,7 @@ "main": "src/index.js", "typings": "src/index.d.ts", "dependencies": { - "@angular-devkit/core": "0.0.0-PLACEHOLDER", + "@angular-devkit/core": "workspace:0.0.0-PLACEHOLDER", "rxjs": "7.8.1" }, "builders": "./builders/builders.json" diff --git a/packages/angular_devkit/schematics/package.json b/packages/angular_devkit/schematics/package.json index 19e19539572c..7619e468bbbb 100644 --- a/packages/angular_devkit/schematics/package.json +++ b/packages/angular_devkit/schematics/package.json @@ -13,7 +13,7 @@ "schematics" ], "dependencies": { - "@angular-devkit/core": "0.0.0-PLACEHOLDER", + "@angular-devkit/core": "workspace:0.0.0-PLACEHOLDER", "jsonc-parser": "3.3.1", "magic-string": "0.30.17", "ora": "5.4.1", diff --git a/packages/schematics/angular/package.json b/packages/schematics/angular/package.json index 5c4ca5f913dd..146f4bb1e622 100644 --- a/packages/schematics/angular/package.json +++ b/packages/schematics/angular/package.json @@ -17,8 +17,8 @@ }, "schematics": "./collection.json", "dependencies": { - "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular-devkit/schematics": "0.0.0-PLACEHOLDER", + "@angular-devkit/core": "workspace:0.0.0-PLACEHOLDER", + "@angular-devkit/schematics": "workspace:0.0.0-PLACEHOLDER", "jsonc-parser": "3.3.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 97861ae6eecc..e43645d2d3cb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -526,10 +526,64 @@ importers: puppeteer: built: true + packages/angular/cli: + dependencies: + '@angular-devkit/architect': + specifier: workspace:0.0.0-EXPERIMENTAL-PLACEHOLDER + version: link:../../angular_devkit/architect + '@angular-devkit/core': + specifier: workspace:0.0.0-PLACEHOLDER + version: link:../../angular_devkit/core + '@angular-devkit/schematics': + specifier: workspace:0.0.0-PLACEHOLDER + version: link:../../angular_devkit/schematics + '@inquirer/prompts': + specifier: 7.2.3 + version: 7.2.3(@types/node@22.10.6) + '@listr2/prompt-adapter-inquirer': + specifier: 2.0.18 + version: 2.0.18(@inquirer/prompts@7.2.3) + '@schematics/angular': + specifier: workspace:0.0.0-PLACEHOLDER + version: link:../../schematics/angular + '@yarnpkg/lockfile': + specifier: 1.1.0 + version: 1.1.0 + ini: + specifier: 5.0.0 + version: 5.0.0 + jsonc-parser: + specifier: 3.3.1 + version: 3.3.1 + listr2: + specifier: 8.2.5 + version: 8.2.5 + npm-package-arg: + specifier: 12.0.1 + version: 12.0.1 + npm-pick-manifest: + specifier: 10.0.0 + version: 10.0.0 + pacote: + specifier: 20.0.0 + version: 20.0.0 + resolve: + specifier: 1.22.10 + version: 1.22.10 + semver: + specifier: 7.6.3 + version: 7.6.3 + symbol-observable: + specifier: 4.0.0 + version: 4.0.0 + yargs: + specifier: 17.7.2 + version: 17.7.2 + packages/angular_devkit/architect: dependencies: '@angular-devkit/core': - specifier: 0.0.0-PLACEHOLDER + specifier: workspace:0.0.0-PLACEHOLDER version: link:../core rxjs: specifier: 7.8.1 @@ -559,6 +613,36 @@ importers: specifier: 0.7.4 version: 0.7.4 + packages/angular_devkit/schematics: + dependencies: + '@angular-devkit/core': + specifier: workspace:0.0.0-PLACEHOLDER + version: link:../core + jsonc-parser: + specifier: 3.3.1 + version: 3.3.1 + magic-string: + specifier: 0.30.17 + version: 0.30.17 + ora: + specifier: 5.4.1 + version: 5.4.1 + rxjs: + specifier: 7.8.1 + version: 7.8.1 + + packages/schematics/angular: + dependencies: + '@angular-devkit/core': + specifier: workspace:0.0.0-PLACEHOLDER + version: link:../../angular_devkit/core + '@angular-devkit/schematics': + specifier: workspace:0.0.0-PLACEHOLDER + version: link:../../angular_devkit/schematics + jsonc-parser: + specifier: 3.3.1 + version: 3.3.1 + packages: /@ampproject/remapping@2.3.0: @@ -2109,7 +2193,6 @@ packages: /@bazel/typescript@5.8.1(typescript@5.7.3): resolution: {integrity: sha512-NAJ8WQHZL1WE1YmRoCrq/1hhG15Mvy/viWh6TkvFnBeEhNUiQUsA5GYyhU1ztnBIYW03nATO3vwhAEfO7Q0U5g==} - deprecated: No longer maintained, https://github.com/aspect-build/rules_ts is the recommended replacement hasBin: true peerDependencies: typescript: 5.7.3 @@ -2545,6 +2628,19 @@ packages: yoctocolors-cjs: 2.1.2 dev: true + /@inquirer/checkbox@4.0.6(@types/node@22.10.6): + resolution: {integrity: sha512-PgP35JfmGjHU0LSXOyRew0zHuA9N6OJwOlos1fZ20b7j8ISeAdib3L+n0jIxBtX958UeEpte6xhG/gxJ5iUqMw==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.6) + '@inquirer/figures': 1.0.9 + '@inquirer/type': 3.0.2(@types/node@22.10.6) + '@types/node': 22.10.6 + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.2 + /@inquirer/confirm@5.1.1(@types/node@18.19.70): resolution: {integrity: sha512-vVLSbGci+IKQvDOtzpPTCOiEJCNidHcAq9JYVoWTW0svb5FiwSLotkM+JXNXejfjnzVYV9n0DTBythl9+XgTxg==} engines: {node: '>=18'} @@ -2567,6 +2663,16 @@ packages: '@types/node': 18.19.70 dev: true + /@inquirer/confirm@5.1.3(@types/node@22.10.6): + resolution: {integrity: sha512-fuF9laMmHoOgWapF9h9hv6opA5WvmGFHsTYGCmuFxcghIhEhb3dN0CdQR4BUMqa2H506NCj8cGX4jwMsE4t6dA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.6) + '@inquirer/type': 3.0.2(@types/node@22.10.6) + '@types/node': 22.10.6 + /@inquirer/core@10.1.4(@types/node@18.19.70): resolution: {integrity: sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==} engines: {node: '>=18'} @@ -2584,6 +2690,22 @@ packages: - '@types/node' dev: true + /@inquirer/core@10.1.4(@types/node@22.10.6): + resolution: {integrity: sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==} + engines: {node: '>=18'} + dependencies: + '@inquirer/figures': 1.0.9 + '@inquirer/type': 3.0.2(@types/node@22.10.6) + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + mute-stream: 2.0.0 + signal-exit: 4.1.0 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.2 + transitivePeerDependencies: + - '@types/node' + /@inquirer/editor@4.2.3(@types/node@18.19.70): resolution: {integrity: sha512-S9KnIOJuTZpb9upeRSBBhoDZv7aSV3pG9TECrBj0f+ZsFwccz886hzKBrChGrXMJwd4NKY+pOA9Vy72uqnd6Eg==} engines: {node: '>=18'} @@ -2596,6 +2718,17 @@ packages: external-editor: 3.1.0 dev: true + /@inquirer/editor@4.2.3(@types/node@22.10.6): + resolution: {integrity: sha512-S9KnIOJuTZpb9upeRSBBhoDZv7aSV3pG9TECrBj0f+ZsFwccz886hzKBrChGrXMJwd4NKY+pOA9Vy72uqnd6Eg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.6) + '@inquirer/type': 3.0.2(@types/node@22.10.6) + '@types/node': 22.10.6 + external-editor: 3.1.0 + /@inquirer/expand@4.0.6(@types/node@18.19.70): resolution: {integrity: sha512-TRTfi1mv1GeIZGyi9PQmvAaH65ZlG4/FACq6wSzs7Vvf1z5dnNWsAAXBjWMHt76l+1hUY8teIqJFrWBk5N6gsg==} engines: {node: '>=18'} @@ -2608,10 +2741,20 @@ packages: yoctocolors-cjs: 2.1.2 dev: true + /@inquirer/expand@4.0.6(@types/node@22.10.6): + resolution: {integrity: sha512-TRTfi1mv1GeIZGyi9PQmvAaH65ZlG4/FACq6wSzs7Vvf1z5dnNWsAAXBjWMHt76l+1hUY8teIqJFrWBk5N6gsg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.6) + '@inquirer/type': 3.0.2(@types/node@22.10.6) + '@types/node': 22.10.6 + yoctocolors-cjs: 2.1.2 + /@inquirer/figures@1.0.9: resolution: {integrity: sha512-BXvGj0ehzrngHTPTDqUoDT3NXL8U0RxUk2zJm2A66RhCEIWdtU1v6GuUqNAgArW4PQ9CinqIWyHdQgdwOj06zQ==} engines: {node: '>=18'} - dev: true /@inquirer/input@4.1.3(@types/node@18.19.70): resolution: {integrity: sha512-zeo++6f7hxaEe7OjtMzdGZPHiawsfmCZxWB9X1NpmYgbeoyerIbWemvlBxxl+sQIlHC0WuSAG19ibMq3gbhaqQ==} @@ -2624,6 +2767,16 @@ packages: '@types/node': 18.19.70 dev: true + /@inquirer/input@4.1.3(@types/node@22.10.6): + resolution: {integrity: sha512-zeo++6f7hxaEe7OjtMzdGZPHiawsfmCZxWB9X1NpmYgbeoyerIbWemvlBxxl+sQIlHC0WuSAG19ibMq3gbhaqQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.6) + '@inquirer/type': 3.0.2(@types/node@22.10.6) + '@types/node': 22.10.6 + /@inquirer/number@3.0.6(@types/node@18.19.70): resolution: {integrity: sha512-xO07lftUHk1rs1gR0KbqB+LJPhkUNkyzV/KhH+937hdkMazmAYHLm1OIrNKpPelppeV1FgWrgFDjdUD8mM+XUg==} engines: {node: '>=18'} @@ -2635,6 +2788,16 @@ packages: '@types/node': 18.19.70 dev: true + /@inquirer/number@3.0.6(@types/node@22.10.6): + resolution: {integrity: sha512-xO07lftUHk1rs1gR0KbqB+LJPhkUNkyzV/KhH+937hdkMazmAYHLm1OIrNKpPelppeV1FgWrgFDjdUD8mM+XUg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.6) + '@inquirer/type': 3.0.2(@types/node@22.10.6) + '@types/node': 22.10.6 + /@inquirer/password@4.0.6(@types/node@18.19.70): resolution: {integrity: sha512-QLF0HmMpHZPPMp10WGXh6F+ZPvzWE7LX6rNoccdktv/Rov0B+0f+eyXkAcgqy5cH9V+WSpbLxu2lo3ysEVK91w==} engines: {node: '>=18'} @@ -2647,6 +2810,17 @@ packages: ansi-escapes: 4.3.2 dev: true + /@inquirer/password@4.0.6(@types/node@22.10.6): + resolution: {integrity: sha512-QLF0HmMpHZPPMp10WGXh6F+ZPvzWE7LX6rNoccdktv/Rov0B+0f+eyXkAcgqy5cH9V+WSpbLxu2lo3ysEVK91w==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.6) + '@inquirer/type': 3.0.2(@types/node@22.10.6) + '@types/node': 22.10.6 + ansi-escapes: 4.3.2 + /@inquirer/prompts@7.2.3(@types/node@18.19.70): resolution: {integrity: sha512-hzfnm3uOoDySDXfDNOm9usOuYIaQvTgKp/13l1uJoe6UNY+Zpcn2RYt0jXz3yA+yemGHvDOxVzqWl3S5sQq53Q==} engines: {node: '>=18'} @@ -2666,6 +2840,24 @@ packages: '@types/node': 18.19.70 dev: true + /@inquirer/prompts@7.2.3(@types/node@22.10.6): + resolution: {integrity: sha512-hzfnm3uOoDySDXfDNOm9usOuYIaQvTgKp/13l1uJoe6UNY+Zpcn2RYt0jXz3yA+yemGHvDOxVzqWl3S5sQq53Q==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/checkbox': 4.0.6(@types/node@22.10.6) + '@inquirer/confirm': 5.1.3(@types/node@22.10.6) + '@inquirer/editor': 4.2.3(@types/node@22.10.6) + '@inquirer/expand': 4.0.6(@types/node@22.10.6) + '@inquirer/input': 4.1.3(@types/node@22.10.6) + '@inquirer/number': 3.0.6(@types/node@22.10.6) + '@inquirer/password': 4.0.6(@types/node@22.10.6) + '@inquirer/rawlist': 4.0.6(@types/node@22.10.6) + '@inquirer/search': 3.0.6(@types/node@22.10.6) + '@inquirer/select': 4.0.6(@types/node@22.10.6) + '@types/node': 22.10.6 + /@inquirer/rawlist@4.0.6(@types/node@18.19.70): resolution: {integrity: sha512-QoE4s1SsIPx27FO4L1b1mUjVcoHm1pWE/oCmm4z/Hl+V1Aw5IXl8FYYzGmfXaBT0l/sWr49XmNSiq7kg3Kd/Lg==} engines: {node: '>=18'} @@ -2678,6 +2870,17 @@ packages: yoctocolors-cjs: 2.1.2 dev: true + /@inquirer/rawlist@4.0.6(@types/node@22.10.6): + resolution: {integrity: sha512-QoE4s1SsIPx27FO4L1b1mUjVcoHm1pWE/oCmm4z/Hl+V1Aw5IXl8FYYzGmfXaBT0l/sWr49XmNSiq7kg3Kd/Lg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.6) + '@inquirer/type': 3.0.2(@types/node@22.10.6) + '@types/node': 22.10.6 + yoctocolors-cjs: 2.1.2 + /@inquirer/search@3.0.6(@types/node@18.19.70): resolution: {integrity: sha512-eFZ2hiAq0bZcFPuFFBmZEtXU1EarHLigE+ENCtpO+37NHCl4+Yokq1P/d09kUblObaikwfo97w+0FtG/EXl5Ng==} engines: {node: '>=18'} @@ -2691,6 +2894,18 @@ packages: yoctocolors-cjs: 2.1.2 dev: true + /@inquirer/search@3.0.6(@types/node@22.10.6): + resolution: {integrity: sha512-eFZ2hiAq0bZcFPuFFBmZEtXU1EarHLigE+ENCtpO+37NHCl4+Yokq1P/d09kUblObaikwfo97w+0FtG/EXl5Ng==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.6) + '@inquirer/figures': 1.0.9 + '@inquirer/type': 3.0.2(@types/node@22.10.6) + '@types/node': 22.10.6 + yoctocolors-cjs: 2.1.2 + /@inquirer/select@4.0.6(@types/node@18.19.70): resolution: {integrity: sha512-yANzIiNZ8fhMm4NORm+a74+KFYHmf7BZphSOBovIzYPVLquseTGEkU5l2UTnBOf5k0VLmTgPighNDLE9QtbViQ==} engines: {node: '>=18'} @@ -2705,12 +2920,24 @@ packages: yoctocolors-cjs: 2.1.2 dev: true + /@inquirer/select@4.0.6(@types/node@22.10.6): + resolution: {integrity: sha512-yANzIiNZ8fhMm4NORm+a74+KFYHmf7BZphSOBovIzYPVLquseTGEkU5l2UTnBOf5k0VLmTgPighNDLE9QtbViQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.6) + '@inquirer/figures': 1.0.9 + '@inquirer/type': 3.0.2(@types/node@22.10.6) + '@types/node': 22.10.6 + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.2 + /@inquirer/type@1.5.5: resolution: {integrity: sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==} engines: {node: '>=18'} dependencies: mute-stream: 1.0.0 - dev: true /@inquirer/type@3.0.2(@types/node@18.19.70): resolution: {integrity: sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==} @@ -2721,6 +2948,14 @@ packages: '@types/node': 18.19.70 dev: true + /@inquirer/type@3.0.2(@types/node@22.10.6): + resolution: {integrity: sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@types/node': 22.10.6 + /@isaacs/cliui@8.0.2: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -2731,14 +2966,12 @@ packages: strip-ansi-cjs: /strip-ansi@6.0.1 wrap-ansi: 8.1.0 wrap-ansi-cjs: /wrap-ansi@7.0.0 - dev: true /@isaacs/fs-minipass@4.0.1: resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} engines: {node: '>=18.0.0'} dependencies: minipass: 7.1.2 - dev: true /@istanbuljs/schema@0.1.3: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} @@ -2773,7 +3006,6 @@ packages: /@jridgewell/sourcemap-codec@1.5.0: resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - dev: true /@jridgewell/trace-mapping@0.3.25: resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} @@ -2834,9 +3066,8 @@ packages: peerDependencies: '@inquirer/prompts': '>= 3 < 8' dependencies: - '@inquirer/prompts': 7.2.3(@types/node@18.19.70) + '@inquirer/prompts': 7.2.3(@types/node@22.10.6) '@inquirer/type': 1.5.5 - dev: true /@lmdb/lmdb-darwin-arm64@3.2.2: resolution: {integrity: sha512-WBSJT9Z7DTol5viq+DZD2TapeWOw7mlwXxiSBHgAzqVwsaVb0h/ekMD9iu/jDD8MUA20tO9N0WEdnT06fsUp+g==} @@ -3149,14 +3380,12 @@ packages: socks-proxy-agent: 8.0.5 transitivePeerDependencies: - supports-color - dev: true /@npmcli/fs@4.0.0: resolution: {integrity: sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==} engines: {node: ^18.17.0 || >=20.5.0} dependencies: semver: 7.6.3 - dev: true /@npmcli/git@6.0.1: resolution: {integrity: sha512-BBWMMxeQzalmKadyimwb2/VVQyJB01PH0HhVSNLHNBDZN/M/h/02P6f8fxedIiFhpMj11SO9Ep5tKTBE7zL2nw==} @@ -3173,7 +3402,6 @@ packages: which: 5.0.0 transitivePeerDependencies: - bluebird - dev: true /@npmcli/installed-package-contents@3.0.0: resolution: {integrity: sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==} @@ -3182,12 +3410,10 @@ packages: dependencies: npm-bundled: 4.0.0 npm-normalize-package-bin: 4.0.0 - dev: true /@npmcli/node-gyp@4.0.0: resolution: {integrity: sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==} engines: {node: ^18.17.0 || >=20.5.0} - dev: true /@npmcli/package-json@6.1.0: resolution: {integrity: sha512-t6G+6ZInT4X+tqj2i+wlLIeCKnKOTuz9/VFYDtj+TGTur5q7sp/OYrQA19LdBbWfXDOi0Y4jtedV6xtB8zQ9ug==} @@ -3202,19 +3428,16 @@ packages: semver: 7.6.3 transitivePeerDependencies: - bluebird - dev: true /@npmcli/promise-spawn@8.0.2: resolution: {integrity: sha512-/bNJhjc+o6qL+Dwz/bqfTQClkEO5nTQ1ZEcdCkAQjhkZMHIh22LPG7fNh1enJP1NKWDqYiiABnjFCY7E0zHYtQ==} engines: {node: ^18.17.0 || >=20.5.0} dependencies: which: 5.0.0 - dev: true /@npmcli/redact@3.0.0: resolution: {integrity: sha512-/1uFzjVcfzqrgCeGW7+SZ4hv0qLWmKXVzFahZGJ6QuJBj6Myt9s17+JL86i76NV9YSnJRcGXJYQbAU0rn1YTCQ==} engines: {node: ^18.17.0 || >=20.5.0} - dev: true /@npmcli/run-script@9.0.2: resolution: {integrity: sha512-cJXiUlycdizQwvqE1iaAb4VRUM3RX09/8q46zjvy+ct9GhfZRWd7jXYVc1tn/CfRlGPVkX/u4sstRlepsm7hfw==} @@ -3229,7 +3452,6 @@ packages: transitivePeerDependencies: - bluebird - supports-color - dev: true /@octokit/auth-token@5.1.1: resolution: {integrity: sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==} @@ -3494,7 +3716,6 @@ packages: /@pkgjs/parseargs@0.11.0: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - dev: true optional: true /@protobufjs/aspromise@1.1.2: @@ -3863,17 +4084,14 @@ packages: engines: {node: ^18.17.0 || >=20.5.0} dependencies: '@sigstore/protobuf-specs': 0.3.3 - dev: true /@sigstore/core@2.0.0: resolution: {integrity: sha512-nYxaSb/MtlSI+JWcwTHQxyNmWeWrUXJJ/G4liLrGG7+tS4vAz6LF3xRXqLH6wPIVUoZQel2Fs4ddLx4NCpiIYg==} engines: {node: ^18.17.0 || >=20.5.0} - dev: true /@sigstore/protobuf-specs@0.3.3: resolution: {integrity: sha512-RpacQhBlwpBWd7KEJsRKcBQalbV28fvkxwTOJIqhIuDysMMaJW47V4OqW30iJB9uRpqOSxxEAQFdr8tTattReQ==} engines: {node: ^18.17.0 || >=20.5.0} - dev: true /@sigstore/sign@3.0.0: resolution: {integrity: sha512-UjhDMQOkyDoktpXoc5YPJpJK6IooF2gayAr5LvXI4EL7O0vd58okgfRcxuaH+YTdhvb5aa1Q9f+WJ0c2sVuYIw==} @@ -3887,7 +4105,6 @@ packages: promise-retry: 2.0.1 transitivePeerDependencies: - supports-color - dev: true /@sigstore/tuf@3.0.0: resolution: {integrity: sha512-9Xxy/8U5OFJu7s+OsHzI96IX/OzjF/zj0BSSaWhgJgTqtlBhQIV2xdrQI5qxLD7+CWWDepadnXAxzaZ3u9cvRw==} @@ -3897,7 +4114,6 @@ packages: tuf-js: 3.0.1 transitivePeerDependencies: - supports-color - dev: true /@sigstore/verify@2.0.0: resolution: {integrity: sha512-Ggtq2GsJuxFNUvQzLoXqRwS4ceRfLAJnrIHUDrzAD0GgnOhwujJkKkxM/s5Bako07c3WtAs/sZo5PJq7VHjeDg==} @@ -3906,7 +4122,6 @@ packages: '@sigstore/bundle': 3.0.0 '@sigstore/core': 2.0.0 '@sigstore/protobuf-specs': 0.3.3 - dev: true /@sindresorhus/merge-streams@2.3.0: resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} @@ -3962,7 +4177,6 @@ packages: /@tufjs/canonical-json@2.0.0: resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} engines: {node: ^16.14.0 || >=18.0.0} - dev: true /@tufjs/models@3.0.1: resolution: {integrity: sha512-UUYHISyhCU3ZgN8yaear3cGATHb3SMuKHsQ/nVbHXcmnBf+LzQ/cQfhNG+rfaSHgqGKNEm2cOCLVLELStUQ1JA==} @@ -3970,7 +4184,6 @@ packages: dependencies: '@tufjs/canonical-json': 2.0.0 minimatch: 9.0.5 - dev: true /@types/accepts@1.3.7: resolution: {integrity: sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==} @@ -4324,7 +4537,6 @@ packages: resolution: {integrity: sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==} dependencies: undici-types: 6.20.0 - dev: true /@types/npm-package-arg@6.1.4: resolution: {integrity: sha512-vDgdbMy2QXHnAruzlv68pUtXCjmqUk3WrBAsRboRovsOmxbfn/WiYCjmecyKjGztnMps5dWp4Uq2prp+Ilo17Q==} @@ -5244,7 +5456,6 @@ packages: /@yarnpkg/lockfile@1.1.0: resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} - dev: true /JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} @@ -5257,7 +5468,6 @@ packages: /abbrev@2.0.0: resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true /abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} @@ -5327,7 +5537,6 @@ packages: /agent-base@7.1.3: resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} engines: {node: '>= 14'} - dev: true /ajv-draft-04@1.0.0(ajv@8.13.0): resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} @@ -5434,14 +5643,12 @@ packages: engines: {node: '>=8'} dependencies: type-fest: 0.21.3 - dev: true /ansi-escapes@7.0.0: resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} engines: {node: '>=18'} dependencies: environment: 1.1.0 - dev: true /ansi-html-community@0.0.8: resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} @@ -5457,12 +5664,10 @@ packages: /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - dev: true /ansi-regex@6.1.0: resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} - dev: true /ansi-styles@2.2.1: resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} @@ -5474,12 +5679,10 @@ packages: engines: {node: '>=8'} dependencies: color-convert: 2.0.1 - dev: true /ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - dev: true /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} @@ -5768,7 +5971,6 @@ packages: /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true /bare-buffer@3.0.1: resolution: {integrity: sha512-QuDV/Wv5k1xsevh24zQwEjlQJuRvt3tUC39VFai6PoJiDIwmISEoc76ZTae4yVcacRBw0HBArrHssV1o3TEKhQ==} @@ -5818,7 +6020,6 @@ packages: /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: true /base64id@2.0.0: resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} @@ -5885,7 +6086,6 @@ packages: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 - dev: true /blocking-proxy@1.0.1: resolution: {integrity: sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==} @@ -5937,7 +6137,6 @@ packages: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 - dev: true /braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} @@ -6061,7 +6260,6 @@ packages: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: true /buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} @@ -6123,7 +6321,6 @@ packages: ssri: 12.0.0 tar: 7.4.3 unique-filename: 4.0.0 - dev: true /cache-content-type@1.0.1: resolution: {integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==} @@ -6206,7 +6403,6 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: true /chalk@5.4.1: resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} @@ -6215,7 +6411,6 @@ packages: /chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - dev: true /checkpoint-stream@0.1.2: resolution: {integrity: sha512-eYXIcydL3mPjjEVLxHdi1ISgTwmxGJZ8vyJ3lYVvFTDRyTOZMTbKZdRJqiA7Gi1rPcwOyyzcrZmGLL8ff7e69w==} @@ -6255,12 +6450,10 @@ packages: /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} - dev: true /chownr@3.0.0: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} engines: {node: '>=18'} - dev: true /chrome-launcher@0.15.2: resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==} @@ -6300,19 +6493,16 @@ packages: engines: {node: '>=8'} dependencies: restore-cursor: 3.1.0 - dev: true /cli-cursor@5.0.0: resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} engines: {node: '>=18'} dependencies: restore-cursor: 5.1.0 - dev: true /cli-spinners@2.9.2: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} - dev: true /cli-truncate@4.0.0: resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} @@ -6320,12 +6510,10 @@ packages: dependencies: slice-ansi: 5.0.0 string-width: 7.2.0 - dev: true /cli-width@4.1.0: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} - dev: true /clipanion@4.0.0-rc.4(typanion@3.14.0): resolution: {integrity: sha512-CXkMQxU6s9GklO/1f714dkKBMu1lopS1WFF0B8o4AxPykR1hpozxSiUZ5ZUeBjfPgCWqbcNOtZVFhB8Lkfp1+Q==} @@ -6358,7 +6546,6 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - dev: true /clone-deep@4.0.1: resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} @@ -6372,7 +6559,6 @@ packages: /clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} - dev: true /clone@2.1.2: resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} @@ -6404,15 +6590,12 @@ packages: engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 - dev: true /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true /colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - dev: true /colors@1.4.0: resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} @@ -6660,7 +6843,6 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - dev: true /css-loader@7.1.2(webpack@5.97.1): resolution: {integrity: sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==} @@ -6824,7 +7006,6 @@ packages: dependencies: ms: 2.1.3 supports-color: 10.0.0 - dev: true /decamelize@1.2.0: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} @@ -6873,7 +7054,6 @@ packages: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: clone: 1.0.4 - dev: true /define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} @@ -7100,7 +7280,6 @@ packages: /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: true /easy-extender@2.3.4: resolution: {integrity: sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==} @@ -7139,15 +7318,12 @@ packages: /emoji-regex@10.4.0: resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} - dev: true /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: true /emojis-list@3.0.0: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} @@ -7168,7 +7344,6 @@ packages: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} dependencies: iconv-lite: 0.6.3 - dev: true optional: true /end-of-stream@1.4.4: @@ -7242,7 +7417,6 @@ packages: /env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} - dev: true /envinfo@7.14.0: resolution: {integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==} @@ -7253,11 +7427,9 @@ packages: /environment@1.1.0: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} - dev: true /err-code@2.0.3: resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - dev: true /errno@0.1.8: resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} @@ -7431,7 +7603,6 @@ packages: /escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} - dev: true /escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} @@ -7703,7 +7874,6 @@ packages: /eventemitter3@5.0.1: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - dev: true /events-intercept@2.0.0: resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==} @@ -7736,7 +7906,6 @@ packages: /exponential-backoff@3.1.1: resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} - dev: true /express-rate-limit@5.5.1: resolution: {integrity: sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg==} @@ -7792,7 +7961,6 @@ packages: chardet: 0.7.0 iconv-lite: 0.4.24 tmp: 0.0.33 - dev: true /extract-zip@2.0.1: resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} @@ -8061,7 +8229,6 @@ packages: dependencies: cross-spawn: 7.0.6 signal-exit: 4.1.0 - dev: true /forever-agent@0.6.1: resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} @@ -8161,14 +8328,12 @@ packages: engines: {node: '>= 8'} dependencies: minipass: 3.3.6 - dev: true /fs-minipass@3.0.3: resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: minipass: 7.1.2 - dev: true /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -8183,7 +8348,6 @@ packages: /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true /function.prototype.name@1.1.8: resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} @@ -8241,12 +8405,10 @@ packages: /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - dev: true /get-east-asian-width@1.3.0: resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} engines: {node: '>=18'} - dev: true /get-intrinsic@1.2.7: resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} @@ -8343,7 +8505,6 @@ packages: minipass: 7.1.2 package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - dev: true /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} @@ -8460,7 +8621,6 @@ packages: /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} @@ -8542,7 +8702,6 @@ packages: /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true /has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} @@ -8574,14 +8733,12 @@ packages: engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 - dev: true /hosted-git-info@8.0.2: resolution: {integrity: sha512-sYKnA7eGln5ov8T8gnYlkSOxFJvywzEx9BueN6xo/GKO8PGiI6uK6xx+DIGe45T3bdVjLAQDQW1aicT8z8JwQg==} engines: {node: ^18.17.0 || >=20.5.0} dependencies: lru-cache: 10.4.3 - dev: true /hpack.js@2.1.6: resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} @@ -8619,7 +8776,6 @@ packages: /http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - dev: true /http-deceiver@1.2.7: resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} @@ -8680,7 +8836,6 @@ packages: debug: 4.4.0(supports-color@10.0.0) transitivePeerDependencies: - supports-color - dev: true /http-proxy-middleware@2.0.7(@types/express@4.17.21)(debug@4.4.0): resolution: {integrity: sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==} @@ -8780,7 +8935,6 @@ packages: debug: 4.4.0(supports-color@10.0.0) transitivePeerDependencies: - supports-color - dev: true /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} @@ -8803,14 +8957,12 @@ packages: engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 - dev: true /iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 - dev: true /icss-utils@5.1.0(postcss@8.5.1): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} @@ -8823,14 +8975,12 @@ packages: /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: true /ignore-walk@7.0.0: resolution: {integrity: sha512-T4gbf83A4NH95zvhVYZc+qWocBBGlpzUXLPGurJggw/WIOwicfXJChLDP/iBZnN5WqROSu5Bm3hhle4z8a8YGQ==} engines: {node: ^18.17.0 || >=20.5.0} dependencies: minimatch: 9.0.5 - dev: true /ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} @@ -8873,7 +9023,6 @@ packages: /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - dev: true /inflation@2.1.0: resolution: {integrity: sha512-t54PPJHG1Pp7VQvxyVCJ9mBbjG3Hqryges9bXoOO6GExCPa+//i/d5GSuFtpx3ALLd7lgIAur6zrIlBQyJuMlQ==} @@ -8894,7 +9043,6 @@ packages: /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true /ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} @@ -8903,7 +9051,6 @@ packages: /ini@5.0.0: resolution: {integrity: sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==} engines: {node: ^18.17.0 || >=20.5.0} - dev: true /injection-js@2.4.0: resolution: {integrity: sha512-6jiJt0tCAo9zjHbcwLiPL+IuNe9SQ6a9g0PEzafThW3fOQi0mrmiJGBJvDD6tmhPh8cQHIQtCOrJuBfQME4kPA==} @@ -8941,7 +9088,6 @@ packages: dependencies: jsbn: 1.1.0 sprintf-js: 1.1.3 - dev: true /ip-regex@4.3.0: resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} @@ -9020,7 +9166,6 @@ packages: engines: {node: '>= 0.4'} dependencies: hasown: 2.0.2 - dev: true /is-data-view@1.0.2: resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} @@ -9070,19 +9215,16 @@ packages: /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - dev: true /is-fullwidth-code-point@4.0.0: resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} engines: {node: '>=12'} - dev: true /is-fullwidth-code-point@5.0.0: resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} engines: {node: '>=18'} dependencies: get-east-asian-width: 1.3.0 - dev: true /is-generator-function@1.1.0: resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} @@ -9117,7 +9259,6 @@ packages: /is-interactive@1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} - dev: true /is-ip@3.1.0: resolution: {integrity: sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==} @@ -9272,7 +9413,6 @@ packages: /is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} - dev: true /is-url@1.2.4: resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} @@ -9350,12 +9490,10 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true /isexe@3.1.1: resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} engines: {node: '>=16'} - dev: true /isobject@3.0.1: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} @@ -9431,7 +9569,6 @@ packages: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 - dev: true /jasmine-core@2.8.0: resolution: {integrity: sha512-SNkOkS+/jMZvLhuSx1fjhcNWUC/KG6oVyFUGkSBEr9n1axSNduWU8GlI7suaHXr4yxjet6KjrUZxUTE5WzzWwQ==} @@ -9519,7 +9656,6 @@ packages: /jsbn@1.1.0: resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} - dev: true /jsesc@3.0.2: resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} @@ -9550,7 +9686,6 @@ packages: /json-parse-even-better-errors@4.0.0: resolution: {integrity: sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==} engines: {node: ^18.17.0 || >=20.5.0} - dev: true /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -9625,7 +9760,6 @@ packages: /jsonparse@1.3.1: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} - dev: true /jsonwebtoken@9.0.2: resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} @@ -10014,7 +10148,6 @@ packages: log-update: 6.1.0 rfdc: 1.4.1 wrap-ansi: 9.0.0 - dev: true /lmdb@3.2.2: resolution: {integrity: sha512-LriG93la4PbmPMwI7Hbv8W+0ncLK7549w4sbZSi4QGDjnnxnmNMgxUkaQTEMzH8TpwsfFvgEjpLX7V8B/I9e3g==} @@ -10138,7 +10271,6 @@ packages: dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 - dev: true /log-update@4.0.0: resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} @@ -10159,7 +10291,6 @@ packages: slice-ansi: 7.1.0 strip-ansi: 7.1.0 wrap-ansi: 9.0.0 - dev: true /log4js@6.9.1: resolution: {integrity: sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==} @@ -10195,7 +10326,6 @@ packages: /lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - dev: true /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -10224,7 +10354,6 @@ packages: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} dependencies: '@jridgewell/sourcemap-codec': 1.5.0 - dev: true /make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} @@ -10270,7 +10399,6 @@ packages: ssri: 12.0.0 transitivePeerDependencies: - supports-color - dev: true /marky@1.2.5: resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==} @@ -10360,12 +10488,10 @@ packages: /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - dev: true /mimic-function@5.0.1: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} - dev: true /mini-css-extract-plugin@2.9.2(webpack@5.97.1): resolution: {integrity: sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==} @@ -10406,7 +10532,6 @@ packages: engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 - dev: true /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -10417,7 +10542,6 @@ packages: engines: {node: '>=16 || 14 >=14.17'} dependencies: minipass: 7.1.2 - dev: true /minipass-fetch@4.0.0: resolution: {integrity: sha512-2v6aXUXwLP1Epd/gc32HAMIWoczx+fZwEPRHm/VwtrJzRGwR1qGZXEYV3Zp8ZjjbwaZhMrM6uHV4KVkk+XCc2w==} @@ -10428,45 +10552,38 @@ packages: minizlib: 3.0.1 optionalDependencies: encoding: 0.1.13 - dev: true /minipass-flush@1.0.5: resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} engines: {node: '>= 8'} dependencies: minipass: 3.3.6 - dev: true /minipass-pipeline@1.2.4: resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} engines: {node: '>=8'} dependencies: minipass: 3.3.6 - dev: true /minipass-sized@1.0.3: resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} engines: {node: '>=8'} dependencies: minipass: 3.3.6 - dev: true /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} dependencies: yallist: 4.0.0 - dev: true /minipass@5.0.0: resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} - dev: true /minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - dev: true /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} @@ -10474,7 +10591,6 @@ packages: dependencies: minipass: 3.3.6 yallist: 4.0.0 - dev: true /minizlib@3.0.1: resolution: {integrity: sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==} @@ -10482,7 +10598,6 @@ packages: dependencies: minipass: 7.1.2 rimraf: 5.0.10 - dev: true /mitt@1.2.0: resolution: {integrity: sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==} @@ -10507,13 +10622,11 @@ packages: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} hasBin: true - dev: true /mkdirp@3.0.1: resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} engines: {node: '>=10'} hasBin: true - dev: true /mrmime@2.0.0: resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} @@ -10530,7 +10643,6 @@ packages: /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true /msgpackr-extract@3.0.3: resolution: {integrity: sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==} @@ -10564,12 +10676,10 @@ packages: /mute-stream@1.0.0: resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true /mute-stream@2.0.0: resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} engines: {node: ^18.17.0 || >=20.5.0} - dev: true /nanocolors@0.2.13: resolution: {integrity: sha512-0n3mSAQLPpGLV9ORXT5+C/D4mwew7Ebws69Hx4E2sgz2ZA5+32Q80B9tL8PbL7XHnRDiAxH/pnrUJ9a4fkTNTA==} @@ -10608,7 +10718,6 @@ packages: /negotiator@1.0.0: resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} engines: {node: '>= 0.6'} - dev: true /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} @@ -10739,7 +10848,6 @@ packages: which: 5.0.0 transitivePeerDependencies: - supports-color - dev: true /node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} @@ -10751,7 +10859,6 @@ packages: hasBin: true dependencies: abbrev: 2.0.0 - dev: true /normalize-package-data@7.0.0: resolution: {integrity: sha512-k6U0gKRIuNCTkwHGZqblCfLfBRh+w1vI6tBo+IeJwq2M8FUiOqhX7GH+GArQGScA7azd1WfyRCvxoXDO3hQDIA==} @@ -10760,7 +10867,6 @@ packages: hosted-git-info: 8.0.2 semver: 7.6.3 validate-npm-package-license: 3.0.4 - dev: true /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} @@ -10777,19 +10883,16 @@ packages: engines: {node: ^18.17.0 || >=20.5.0} dependencies: npm-normalize-package-bin: 4.0.0 - dev: true /npm-install-checks@7.1.1: resolution: {integrity: sha512-u6DCwbow5ynAX5BdiHQ9qvexme4U3qHW3MWe5NqH+NeBm0LbiH6zvGjNNew1fY+AZZUtVHbOPF3j7mJxbUzpXg==} engines: {node: ^18.17.0 || >=20.5.0} dependencies: semver: 7.6.3 - dev: true /npm-normalize-package-bin@4.0.0: resolution: {integrity: sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==} engines: {node: ^18.17.0 || >=20.5.0} - dev: true /npm-package-arg@12.0.1: resolution: {integrity: sha512-aDxjFfPV3Liw0WOBWlyZLMBqtbgbg03rmGvHDJa2Ttv7tIz+1oB5qWec4psCDFZcZi9b5XdGkPdQiJxOPzvQRQ==} @@ -10799,14 +10902,12 @@ packages: proc-log: 5.0.0 semver: 7.6.3 validate-npm-package-name: 6.0.0 - dev: true /npm-packlist@9.0.0: resolution: {integrity: sha512-8qSayfmHJQTx3nJWYbbUmflpyarbLMBc6LCAjYsiGtXxDB68HaZpb8re6zeaLGxZzDuMdhsg70jryJe+RrItVQ==} engines: {node: ^18.17.0 || >=20.5.0} dependencies: ignore-walk: 7.0.0 - dev: true /npm-pick-manifest@10.0.0: resolution: {integrity: sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ==} @@ -10816,7 +10917,6 @@ packages: npm-normalize-package-bin: 4.0.0 npm-package-arg: 12.0.1 semver: 7.6.3 - dev: true /npm-registry-fetch@18.0.2: resolution: {integrity: sha512-LeVMZBBVy+oQb5R6FDV9OlJCcWDU+al10oKpe+nsvcHnG24Z3uM3SvJYKfGJlfGjVU8v9liejCrUR/M5HO5NEQ==} @@ -10832,7 +10932,6 @@ packages: proc-log: 5.0.0 transitivePeerDependencies: - supports-color - dev: true /npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} @@ -11024,14 +11123,12 @@ packages: engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 - dev: true /onetime@7.0.0: resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} engines: {node: '>=18'} dependencies: mimic-function: 5.0.1 - dev: true /only@0.0.2: resolution: {integrity: sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==} @@ -11096,7 +11193,6 @@ packages: log-symbols: 4.1.0 strip-ansi: 6.0.1 wcwidth: 1.0.1 - dev: true /ordered-binary@1.5.3: resolution: {integrity: sha512-oGFr3T+pYdTGJ+YFEILMpS3es+GiIbs9h/XQrclBXUtd44ey7XwfsMzM31f64I1SQOawDoDr/D823kNCADI8TA==} @@ -11105,7 +11201,6 @@ packages: /os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} - dev: true /own-keys@1.0.1: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} @@ -11173,7 +11268,6 @@ packages: /p-map@7.0.3: resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} engines: {node: '>=18'} - dev: true /p-queue@6.6.2: resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} @@ -11230,7 +11324,6 @@ packages: /package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - dev: true /pacote@20.0.0: resolution: {integrity: sha512-pRjC5UFwZCgx9kUFDVM9YEahv4guZ1nSLqwmWiLUnDbGsjs+U5w7z6Uc8HNR1a6x8qnu5y9xtGE6D1uAuYz+0A==} @@ -11257,7 +11350,6 @@ packages: transitivePeerDependencies: - bluebird - supports-color - dev: true /pako@0.2.9: resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} @@ -11362,11 +11454,9 @@ packages: /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - dev: true /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true /path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} @@ -11374,7 +11464,6 @@ packages: dependencies: lru-cache: 10.4.3 minipass: 7.1.2 - dev: true /path-to-regexp@0.1.12: resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} @@ -11641,7 +11730,6 @@ packages: /proc-log@5.0.0: resolution: {integrity: sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==} engines: {node: ^18.17.0 || >=20.5.0} - dev: true /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -11672,7 +11760,6 @@ packages: peerDependenciesMeta: bluebird: optional: true - dev: true /promise-retry@2.0.1: resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} @@ -11680,7 +11767,6 @@ packages: dependencies: err-code: 2.0.3 retry: 0.12.0 - dev: true /proto3-json-serializer@2.0.2: resolution: {integrity: sha512-SAzp/O4Yh02jGdRc+uIrGoe87dkN/XtwxfZ4ZyafJHymd79ozp5VG5nyZ7ygqPM5+cpLDjjGnYFUkngonyDPOQ==} @@ -11862,7 +11948,7 @@ packages: /puppeteer@18.2.1: resolution: {integrity: sha512-7+UhmYa7wxPh2oMRwA++k8UGVDxh3YdWFB52r9C3tM81T6BU7cuusUSxImz0GEYSOYUKk/YzIhkQ6+vc0gHbxQ==} engines: {node: '>=14.1.0'} - deprecated: < 22.8.2 is no longer supported + deprecated: < 19.4.0 is no longer supported dependencies: https-proxy-agent: 5.0.1(supports-color@10.0.0) progress: 2.0.3 @@ -11990,7 +12076,6 @@ packages: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: true /readable-stream@4.5.2: resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} @@ -12149,7 +12234,6 @@ packages: /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} - dev: true /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} @@ -12201,7 +12285,6 @@ packages: is-core-module: 2.16.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true /resp-modifier@6.0.2: resolution: {integrity: sha512-U1+0kWC/+4ncRFYqQWTx/3qkfE6a4B/h3XXgmXypfa0SPZ3t7cbbaFk297PjQS/yov24R18h6OZe6iZwj3NSLw==} @@ -12219,7 +12302,6 @@ packages: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 - dev: true /restore-cursor@5.1.0: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} @@ -12227,7 +12309,6 @@ packages: dependencies: onetime: 7.0.0 signal-exit: 4.1.0 - dev: true /retry-request@7.0.2(supports-color@10.0.0): resolution: {integrity: sha512-dUOvLMJ0/JJYEn8NrpOaGNE7X3vpI5XlZS/u0ANjqtcZVKnIxP7IgCFwrKTxENw29emmwug53awKtaMm4i9g5w==} @@ -12244,7 +12325,6 @@ packages: /retry@0.12.0: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} - dev: true /retry@0.13.1: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} @@ -12258,7 +12338,6 @@ packages: /rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - dev: true /rimraf@2.7.1: resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} @@ -12281,7 +12360,6 @@ packages: hasBin: true dependencies: glob: 10.4.5 - dev: true /rollup-license-plugin@3.0.1: resolution: {integrity: sha512-dbwTbIU7bdZfHnaDQvmUPw8elGvsEmEgKOb6QYJtylEAkwBowOO5fETyhpJWhKxoNkJc9LmKF1PNVR//pxRy3w==} @@ -12374,7 +12452,6 @@ packages: /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true /safe-push-apply@1.0.0: resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} @@ -12400,7 +12477,6 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true /sass-loader@16.0.4(sass@1.83.4)(webpack@5.97.1): resolution: {integrity: sha512-LavLbgbBGUt3wCiYzhuLLu65+fWXaXLmq7YxivLhEqmiupCFZ5sKUAipK3do6V80YSU0jvSxNhEdT13IXNr3rg==} @@ -12545,7 +12621,6 @@ packages: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} hasBin: true - dev: true /send@0.19.0: resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} @@ -12705,12 +12780,10 @@ packages: engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 - dev: true /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - dev: true /shell-quote@1.8.2: resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==} @@ -12769,12 +12842,10 @@ packages: /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true /signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - dev: true /sigstore@3.0.0: resolution: {integrity: sha512-PHMifhh3EN4loMcHCz6l3v/luzgT3za+9f8subGgeMNjbJjzH4Ij/YoX3Gvu+kaouJRIlVdTHHCREADYf+ZteA==} @@ -12788,7 +12859,6 @@ packages: '@sigstore/verify': 2.0.0 transitivePeerDependencies: - supports-color - dev: true /slash@2.0.0: resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} @@ -12820,7 +12890,6 @@ packages: dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 - dev: true /slice-ansi@7.1.0: resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} @@ -12828,12 +12897,10 @@ packages: dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 5.0.0 - dev: true /smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - dev: true /socket.io-adapter@2.5.5: resolution: {integrity: sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==} @@ -12904,7 +12971,6 @@ packages: socks: 2.8.3 transitivePeerDependencies: - supports-color - dev: true /socks@2.8.3: resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} @@ -12912,7 +12978,6 @@ packages: dependencies: ip-address: 9.0.5 smart-buffer: 4.2.0 - dev: true /sonic-boom@3.8.1: resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} @@ -12989,18 +13054,15 @@ packages: dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.20 - dev: true /spdx-exceptions@2.5.0: resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - dev: true /spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.5.0 spdx-license-ids: 3.0.20 - dev: true /spdx-expression-validate@2.0.0: resolution: {integrity: sha512-b3wydZLM+Tc6CFvaRDBOF9d76oGIHNCLYFeHbftFXUWjnfZWganmDmvtM5sm1cRwJc/VDBMLyGGrsLFd1vOxbg==} @@ -13010,7 +13072,6 @@ packages: /spdx-license-ids@3.0.20: resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} - dev: true /spdy-transport@3.0.0: resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} @@ -13062,7 +13123,6 @@ packages: /sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - dev: true /sshpk@1.18.0: resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} @@ -13085,7 +13145,6 @@ packages: engines: {node: ^18.17.0 || >=20.5.0} dependencies: minipass: 7.1.2 - dev: true /stack-trace@0.0.10: resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} @@ -13164,7 +13223,6 @@ packages: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - dev: true /string-width@5.1.2: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} @@ -13173,7 +13231,6 @@ packages: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 - dev: true /string-width@7.2.0: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} @@ -13182,7 +13239,6 @@ packages: emoji-regex: 10.4.0 get-east-asian-width: 1.3.0 strip-ansi: 7.1.0 - dev: true /string.prototype.trim@1.2.10: resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} @@ -13226,7 +13282,6 @@ packages: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 - dev: true /strip-ansi@3.0.1: resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} @@ -13240,14 +13295,12 @@ packages: engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 - dev: true /strip-ansi@7.1.0: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} dependencies: ansi-regex: 6.1.0 - dev: true /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} @@ -13271,7 +13324,6 @@ packages: /supports-color@10.0.0: resolution: {integrity: sha512-HRVVSbCCMbj7/kdWF9Q+bbckjBHLtHMEoJWlkmYzzdwhYMkjkOwubLM6t7NbWKjgKamGDrWL1++KrjUO1t9oAQ==} engines: {node: '>=18'} - dev: true /supports-color@2.0.0: resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} @@ -13283,7 +13335,6 @@ packages: engines: {node: '>=8'} dependencies: has-flag: 4.0.0 - dev: true /supports-color@8.1.1: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} @@ -13295,12 +13346,10 @@ packages: /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - dev: true /symbol-observable@4.0.0: resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} engines: {node: '>=0.10'} - dev: true /table-layout@4.1.1: resolution: {integrity: sha512-iK5/YhZxq5GO5z8wb0bY1317uDF3Zjpha0QFFLA8/trAoiLbQD0HUbMesEaxyzUgDxi2QlcbM8IvqOlEjgoXBA==} @@ -13365,7 +13414,6 @@ packages: minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 - dev: true /tar@7.4.3: resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} @@ -13377,7 +13425,6 @@ packages: minizlib: 3.0.1 mkdirp: 3.0.1 yallist: 5.0.0 - dev: true /teeny-request@9.0.0(supports-color@10.0.0): resolution: {integrity: sha512-resvxdc6Mgb7YEThw6G6bExlXKkv6+YbuzGg9xuXxSgxJF7Ozs+o8Y9+2R3sArdWdW8nOokoQb1yrpFB0pQK2g==} @@ -13511,7 +13558,6 @@ packages: engines: {node: '>=0.6.0'} dependencies: os-tmpdir: 1.0.2 - dev: true /tmp@0.2.3: resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} @@ -13654,7 +13700,6 @@ packages: make-fetch-happen: 14.0.3 transitivePeerDependencies: - supports-color - dev: true /tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} @@ -13685,7 +13730,6 @@ packages: /type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - dev: true /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} @@ -13808,7 +13852,6 @@ packages: /undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} - dev: true /undici@7.2.3: resolution: {integrity: sha512-2oSLHaDalSt2/O/wHA9M+/ZPAOcU2yrSP/cdBYJ+YxZskiPYDSqHbysLSlD7gq3JMqOoJI5O31RVU3BxX/MnAA==} @@ -13872,14 +13915,12 @@ packages: engines: {node: ^18.17.0 || >=20.5.0} dependencies: unique-slug: 5.0.0 - dev: true /unique-slug@5.0.0: resolution: {integrity: sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==} engines: {node: ^18.17.0 || >=20.5.0} dependencies: imurmurhash: 0.1.4 - dev: true /universal-user-agent@7.0.2: resolution: {integrity: sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==} @@ -13927,7 +13968,6 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true /utils-merge@1.0.1: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} @@ -13982,12 +14022,10 @@ packages: dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - dev: true /validate-npm-package-name@6.0.0: resolution: {integrity: sha512-d7KLgL1LD3U3fgnvWEY1cQXoO/q6EQ1BSz48Sa149V/5zVTAbgmZIpyI8TRi6U9/JNyeYLlTKsEMPtLC27RFUg==} engines: {node: ^18.17.0 || >=20.5.0} - dev: true /validator@13.12.0: resolution: {integrity: sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==} @@ -14218,7 +14256,6 @@ packages: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.4 - dev: true /weak-lru-cache@1.2.2: resolution: {integrity: sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==} @@ -14495,7 +14532,6 @@ packages: hasBin: true dependencies: isexe: 2.0.0 - dev: true /which@3.0.1: resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} @@ -14511,7 +14547,6 @@ packages: hasBin: true dependencies: isexe: 3.1.1 - dev: true /wildcard@2.0.1: resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} @@ -14538,7 +14573,6 @@ packages: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} @@ -14547,7 +14581,6 @@ packages: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true /wrap-ansi@8.1.0: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} @@ -14556,7 +14589,6 @@ packages: ansi-styles: 6.2.1 string-width: 5.1.2 strip-ansi: 7.1.0 - dev: true /wrap-ansi@9.0.0: resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} @@ -14565,7 +14597,6 @@ packages: ansi-styles: 6.2.1 string-width: 7.2.0 strip-ansi: 7.1.0 - dev: true /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -14663,7 +14694,6 @@ packages: /y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} - dev: true /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} @@ -14671,12 +14701,10 @@ packages: /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true /yallist@5.0.0: resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} engines: {node: '>=18'} - dev: true /yaml@2.7.0: resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} @@ -14700,7 +14728,6 @@ packages: /yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} - dev: true /yargs@15.4.1: resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} @@ -14743,7 +14770,6 @@ packages: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.1.1 - dev: true /yauzl@2.10.0: resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} @@ -14775,7 +14801,6 @@ packages: /yoctocolors-cjs@2.1.2: resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} engines: {node: '>=18'} - dev: true /zod@3.23.8: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 48350d1ac507..55262fe03045 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -2,3 +2,6 @@ packages: - . - packages/angular_devkit/architect - packages/angular_devkit/core + - packages/angular_devkit/schematics + - packages/angular/cli + - packages/schematics/angular From 3b7e5d4070cca7e97ef1c12294fb19a80c2aa3e4 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 16 Jan 2025 12:24:51 +0000 Subject: [PATCH 3/7] build: migrate `@angular-devkit/core` tests to `rules_js` Migrates `@angular-devkit/core` jasmine rules to the native `rules_js` variant. --- packages/angular_devkit/core/BUILD.bazel | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/angular_devkit/core/BUILD.bazel b/packages/angular_devkit/core/BUILD.bazel index 07ee4d8f8fc0..304a120e7a23 100644 --- a/packages/angular_devkit/core/BUILD.bazel +++ b/packages/angular_devkit/core/BUILD.bazel @@ -1,6 +1,5 @@ load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") -load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") -load("//tools:defaults2.bzl", "npm_package", "ts_project") +load("//tools:defaults2.bzl", "jasmine_test", "npm_package", "ts_project") # Copyright Google Inc. All Rights Reserved. # @@ -60,9 +59,9 @@ ts_project( ], ) -jasmine_node_test( +jasmine_test( name = "core_test", - srcs = [":core_test_lib"], + data = [":core_test_lib_rjs"], ) genrule( From 54342dc0d0b6a134b9a67462878d7202e5c0fff9 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 16 Jan 2025 14:16:26 +0000 Subject: [PATCH 4/7] build: migrate `@angular-devkit/schematics` tests to `rules_js` Migrates `@angular-devkit/schematics` jasmine rules to the native `rules_js` variant. As part of this commit, we are performing a few adjustments that we've discussed as preparation for this migration: - cross package imports are always using the module name - inside package imports are always using relative imports, matching existing tests, fixing a few outliers. --- .../angular_devkit/schematics/tools/index.api.md | 2 +- packages/angular_devkit/schematics/BUILD.bazel | 16 ++++++++-------- .../schematics/src/rules/base_spec.ts | 6 +++--- .../schematics/src/rules/call_spec.ts | 3 +-- .../schematics/src/rules/template_spec.ts | 2 +- .../schematics/src/sink/host_spec.ts | 2 +- .../schematics/tools/file-system-utility.ts | 2 +- .../schematics/tools/workflow/node-workflow.ts | 2 +- 8 files changed, 17 insertions(+), 18 deletions(-) diff --git a/goldens/public-api/angular_devkit/schematics/tools/index.api.md b/goldens/public-api/angular_devkit/schematics/tools/index.api.md index d53e3fe77640..932a02991bbb 100644 --- a/goldens/public-api/angular_devkit/schematics/tools/index.api.md +++ b/goldens/public-api/angular_devkit/schematics/tools/index.api.md @@ -12,9 +12,9 @@ import { Observable } from 'rxjs'; import { Path } from '@angular-devkit/core'; import { PathFragment } from '@angular-devkit/core'; import { schema } from '@angular-devkit/core'; +import { Subject } from 'rxjs'; import { Url } from 'url'; import { virtualFs } from '@angular-devkit/core'; -import { workflow } from '@angular-devkit/schematics'; // @public (undocumented) export class CollectionCannotBeResolvedException extends BaseException { diff --git a/packages/angular_devkit/schematics/BUILD.bazel b/packages/angular_devkit/schematics/BUILD.bazel index 077ac07bfdaf..a0cf541ebd42 100644 --- a/packages/angular_devkit/schematics/BUILD.bazel +++ b/packages/angular_devkit/schematics/BUILD.bazel @@ -1,6 +1,6 @@ load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") -load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") -load("//tools:defaults2.bzl", "npm_package", "ts_project") +load("@npm2//:defs.bzl", "npm_link_all_packages") +load("//tools:defaults2.bzl", "jasmine_test", "npm_package", "ts_project") # Copyright Google Inc. All Rights Reserved. # @@ -10,6 +10,8 @@ package(default_visibility = ["//visibility:public"]) licenses(["notice"]) +npm_link_all_packages() + # @angular-devkit/schematics ts_project( @@ -25,12 +27,11 @@ ts_project( ], module_name = "@angular-devkit/schematics", deps = [ + ":node_modules/@angular-devkit/core", "//:node_modules/@types/node", "//:node_modules/jsonc-parser", "//:node_modules/magic-string", "//:node_modules/rxjs", - "//packages/angular_devkit/core:core_rjs", - "//packages/angular_devkit/core/node:node_rjs", # TODO: get rid of this for 6.0 ], ) @@ -39,18 +40,17 @@ ts_project( testonly = True, srcs = glob(["src/**/*_spec.ts"]), deps = [ + ":node_modules/@angular-devkit/core", ":schematics", "//:node_modules/@types/jasmine", "//:node_modules/rxjs", - "//packages/angular_devkit/core:core_rjs", - "//packages/angular_devkit/core/node:node_rjs", "//packages/angular_devkit/schematics/testing:testing_rjs", ], ) -jasmine_node_test( +jasmine_test( name = "schematics_test", - deps = [":schematics_test_lib"], + data = [":schematics_test_lib_rjs"], ) genrule( diff --git a/packages/angular_devkit/schematics/src/rules/base_spec.ts b/packages/angular_devkit/schematics/src/rules/base_spec.ts index 9414174b0113..09963fd48b1f 100644 --- a/packages/angular_devkit/schematics/src/rules/base_spec.ts +++ b/packages/angular_devkit/schematics/src/rules/base_spec.ts @@ -8,12 +8,12 @@ /* eslint-disable @typescript-eslint/no-non-null-assertion */ import { Path, virtualFs } from '@angular-devkit/core'; -import { HostTree, MergeStrategy, partitionApplyMerge } from '@angular-devkit/schematics'; import { lastValueFrom, of as observableOf } from 'rxjs'; import { Rule, SchematicContext, Source } from '../engine/interface'; -import { Tree } from '../tree/interface'; +import { HostTree } from '../tree/host-tree'; +import { MergeStrategy, Tree } from '../tree/interface'; import { empty } from '../tree/static'; -import { apply, applyToSubtree, chain } from './base'; +import { apply, applyToSubtree, chain, partitionApplyMerge } from './base'; import { callRule, callSource } from './call'; import { move } from './move'; diff --git a/packages/angular_devkit/schematics/src/rules/call_spec.ts b/packages/angular_devkit/schematics/src/rules/call_spec.ts index e8a0755ab485..ef71747fb2df 100644 --- a/packages/angular_devkit/schematics/src/rules/call_spec.ts +++ b/packages/angular_devkit/schematics/src/rules/call_spec.ts @@ -8,10 +8,9 @@ /* eslint-disable @typescript-eslint/no-non-null-assertion */ /* eslint-disable @typescript-eslint/no-explicit-any */ -import { MergeStrategy } from '@angular-devkit/schematics'; import { of as observableOf } from 'rxjs'; import { Rule, SchematicContext, Source } from '../engine/interface'; -import { Tree } from '../tree/interface'; +import { MergeStrategy, Tree } from '../tree/interface'; import { empty } from '../tree/static'; import { InvalidRuleResultException, diff --git a/packages/angular_devkit/schematics/src/rules/template_spec.ts b/packages/angular_devkit/schematics/src/rules/template_spec.ts index 377068d15c32..076550e6f043 100644 --- a/packages/angular_devkit/schematics/src/rules/template_spec.ts +++ b/packages/angular_devkit/schematics/src/rules/template_spec.ts @@ -8,8 +8,8 @@ /* eslint-disable import/no-extraneous-dependencies */ import { normalize } from '@angular-devkit/core'; -import { UnitTestTree } from '@angular-devkit/schematics/testing'; import { of as observableOf } from 'rxjs'; +import { UnitTestTree } from '../../testing'; import { SchematicContext } from '../engine/interface'; import { HostTree } from '../tree/host-tree'; import { FileEntry, MergeStrategy } from '../tree/interface'; diff --git a/packages/angular_devkit/schematics/src/sink/host_spec.ts b/packages/angular_devkit/schematics/src/sink/host_spec.ts index 9d4965e5a834..9a89b82af91d 100644 --- a/packages/angular_devkit/schematics/src/sink/host_spec.ts +++ b/packages/angular_devkit/schematics/src/sink/host_spec.ts @@ -7,8 +7,8 @@ */ import { normalize, virtualFs } from '@angular-devkit/core'; -import { HostSink } from '@angular-devkit/schematics'; import { HostCreateTree, HostTree } from '../tree/host-tree'; +import { HostSink } from './host'; describe('FileSystemSink', () => { it('works', (done) => { diff --git a/packages/angular_devkit/schematics/tools/file-system-utility.ts b/packages/angular_devkit/schematics/tools/file-system-utility.ts index ea51d9fced96..467ef722bcbf 100644 --- a/packages/angular_devkit/schematics/tools/file-system-utility.ts +++ b/packages/angular_devkit/schematics/tools/file-system-utility.ts @@ -7,9 +7,9 @@ */ import { JsonValue } from '@angular-devkit/core'; -import { FileDoesNotExistException } from '@angular-devkit/schematics'; import { readFileSync } from 'fs'; import { ParseError, parse, printParseErrorCode } from 'jsonc-parser'; +import { FileDoesNotExistException } from '../src/exception/exception'; export function readJsonFile(path: string): JsonValue { let data; diff --git a/packages/angular_devkit/schematics/tools/workflow/node-workflow.ts b/packages/angular_devkit/schematics/tools/workflow/node-workflow.ts index b976477f1bb4..c8bf5fee5354 100644 --- a/packages/angular_devkit/schematics/tools/workflow/node-workflow.ts +++ b/packages/angular_devkit/schematics/tools/workflow/node-workflow.ts @@ -8,7 +8,7 @@ import { Path, getSystemPath, normalize, schema, virtualFs } from '@angular-devkit/core'; import { NodeJsSyncHost } from '@angular-devkit/core/node'; -import { workflow } from '@angular-devkit/schematics'; +import { workflow } from '../../src'; import { BuiltinTaskExecutor } from '../../tasks/node'; import { FileSystemEngine } from '../description'; import { OptionTransform } from '../file-system-engine-host-base'; From bb74a26f74608f9a880862ab66cb521f06b50b55 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 16 Jan 2025 16:36:48 +0000 Subject: [PATCH 5/7] build: migrate `@angular-devkit/architect-cli` tests to `rules_js` Migrates `@angular-devkit/architect-cli` jasmine rules to the native `rules_js` variant. --- .../npm_translate_lock_MzA5NzUwNzMx | 5 ++-- WORKSPACE | 1 + npm_package_archive.tgz | Bin 0 -> 124131 bytes .../angular_devkit/architect_cli/BUILD.bazel | 9 +++--- .../angular_devkit/architect_cli/package.json | 4 +-- pnpm-lock.yaml | 27 ++++++++++++++++-- pnpm-workspace.yaml | 1 + 7 files changed, 37 insertions(+), 10 deletions(-) create mode 100755 npm_package_archive.tgz diff --git a/.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx b/.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx index 6c8b53a79fa6..7ef747628a80 100755 --- a/.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx +++ b/.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx @@ -5,9 +5,10 @@ package.json=-1983260945 packages/angular/cli/package.json=-1878910022 packages/angular_devkit/architect/package.json=-1496633956 +packages/angular_devkit/architect_cli/package.json=1551210941 packages/angular_devkit/core/package.json=339935828 packages/angular_devkit/schematics/package.json=673943597 packages/schematics/angular/package.json=251715148 -pnpm-lock.yaml=-1580789254 -pnpm-workspace.yaml=1839001260 +pnpm-lock.yaml=-318777127 +pnpm-workspace.yaml=-1051214858 yarn.lock=577341343 diff --git a/WORKSPACE b/WORKSPACE index 0073125b5289..3c87bf514309 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -188,6 +188,7 @@ npm_translate_lock( "//:pnpm-workspace.yaml", "//packages/angular/cli:package.json", "//packages/angular_devkit/architect:package.json", + "//packages/angular_devkit/architect_cli:package.json", "//packages/angular_devkit/core:package.json", "//packages/angular_devkit/schematics:package.json", "//packages/schematics/angular:package.json", diff --git a/npm_package_archive.tgz b/npm_package_archive.tgz new file mode 100755 index 0000000000000000000000000000000000000000..0b5befe73c0e2e93062071aebf11cb4ac5ff858b GIT binary patch literal 124131 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

CcW5<_xZ#f}Lto7iE zWYy$5OFrr#NzxR=Rda6~s(|_Y-Dlf%qnBzAq-%nBH6A+gBj)FL1E@`{zmB$M8FcNi#qY_%~?`@u}}vL*VLT6dcW;uKwWP`L;4ae=={nPfC;nAVH1AM&dCRrc5>UYiVir2cnkYkXFd-X=;J9H`O z3|exN{Sm{(WPRmlYby}R^cunXt`bLeVyG`!yFz{o)Ki0alpBUYr3nHuY*S$&y~)J7 z_=~xEKT1L~vNMPsCFZEfJrePFRvRL@Q3jM^b;a>(2CkeTF`zla1KcXon7}4EBz<}= ziLamA$%oKjmWWX)?igGPIjZzpM%hZrgKH^fjD477MaHudR&@zKWlYSWu;wugUqsdr zhN>IQ$}B-WBhviT3j`(M<)D+?rM=63KOL5Ln4)Z9tf&A; zUy1dGO_3-P&Tl~6CtFz%Sx_hVm|tCBXdmsYSXtQ6LhLUUAwCwyzcHfTQtfg&H+Y%X zWP-UJ?>s%mG>|o_lVy;MO`x&y%YRP2YfpYV`-7E$dBeL-gNmyXDo}a!R%^q|0Fq zA1{p$_~-I!?WnSJNztPa-;wqPzf_{>hSyczXFmWhymC|$twTU1Bac!y8ft9BY^Aud zp&TDdnEPLmV5%78yj4ne3g*IK%EKPMmNH(DMlBv*_R(P2fr1yXL;O^$wn1h`O+2_6 zFwjv`?#ZMmE~&1B1#V~Z$@hk1OJk5x+#iKP$F_`t*VI^YbnDBKuHj@12V^9hHtNfA z3emdrcJKd0K%C>)?krv|Xv9pNrC@aWjxi!d4(Jv&Y$$E-Tic3Md^TR-~D;{-^n#KGmOhf5?I)!dkIS8IXQfyz`{{VQJs zvh()%^}GGeAKz~u3zB`j_0#s&|3Et^T-Jgm;Bq+L+}V8p+rhi7eaJ~Nm#aUiu;6B$ z2sy-|?0^oGAqzcW`hcG*6j7o!V5}_c&ycxx07wOhNq^9bUVckl4w>w9E?GK7X&G2o z4!0#rwr8q)H#7E+a$T659cJ|ZWFNRw?y0o);x^p=c44u>#3bY6^$13RAfEu*? zVyw2bpQ2g61-Oa2oS4iN$YR=vdWtQ;&`blq^AwmCn&TqGuJNZecfPjw_MSvrdH=MV zallM_Qf|yEE$yU+gH;5JMcjV4&H2A^tB5)DH`Rf8 zzLjN>g-&{Pk&PBlF5%2Bh{TEAjlvxcR#s90B0XPC=*Im28XcL}rh25A8*o5T>x4a$ zeqaZ>>G+mc)hzi#r-+b=&PHi{iqdc|zQnQmIzt>-1r$>P+?_{RKD`hWP~3Opy2)>RDBY2cTX*|nbIH=C81~!3{Hyz zH$T1g>m93VwU`mghc2=ah{gp*4yx70Oi~?Xg>@4X4}e$gXmkTRH!BVferx!le9EkA z{n1u&TjWjfpuhv}^nKaj0~1=K*vKs)UWV7Bg`~c)Kvcp9QJ>V%w7A`+r$~X-P6TWU z#VtXz+Y{|!jBjpA#ldgQA#X?6N`ql~3OAhtAbOvX@s>&Y1**|4O*2sK!H8^yF1F6| ztc`)6Tl*=RC%JMs?f#qmvet>Z*+nYE_*OG?NPEekZfrXrO3n?Xk+&~<82#nJ!8Bxy zL_f|h?3J~sb?611`%bF9x z!p}yp3m8*UX9T7z@AZ&-abAASXpW60F{}^VAy&9vYbk+ogFRZWGgtz&hl|NuX(JXv zvx>SI3THewo?|QWLSn4If-+MnoL^W_F62ND)6X>f3+P(ZNrs(T!>~|hh?Lqo zEQXlnkGP-ujAgbKeYh-ye1QBhcF>zp8qf_KPMQ@oC=x1KXz+||i=fiH7#X!9ga1|p z`lUe+Q+i|5!6Fi7@L~LeoW9`mJXQ6>AQ>h-Y34yy35yk(#F+EWItLAA^g{1rU-8iu z%|5Me;Wcco$h1q5bYT8B@APDD7=oZ#D^XT4CgGWMl_gY`-Ydxx7V*l?BOrOn0K3d) zv3KjKm_E2U^99(_XrHt2CR&)L>u>}02bZHY)lVGC*gddvx%YqCRE8WlxSzH+U(30T z_Qazs$<=VLT^g2`=-VpXBCx!(v;i9-v9PxN#vRX+w%EXaPPvfcq24kt;U{pn8#qo) z3DsaM+ajKupA2gyQCNQvCIT>~|E8(e8$R$l4C;#Xh%B7^0DSh>hv*x~{aY>uP+n=yJ}KyF|fV$%EUhq7KqNhq-f0^fW^sF?PszH8 zPVwG36ue*@Td{M?q8}+tq)2kd9_uIkt?5S$mz*@5sUao;i%;S!&9I>?G}>9SBA&7% zYy7DnL9<4FlNmHwIO~J80vn_c{(0|xy(D)ts!6yL1Lp+p_;Zj8tg6=ZLU5PHxE_D` za{uDRV%T03&fNs+akr)_E11#@)LWeYuoM^Z+?X!s9| zUP?&1$PVJWF7VniJkp4i#OT3ITq*Cecy6xMYRzfwfCbNGnRQUcxr5y47TIE*q@x7I z3y`fBWXF_}51-1(j$ncOy<0*Yip|PM&zbifs3>CE`sB>4t6@;1s(%0Qx9_N$V^Pib zj(v*znMd|3&Z&?Ll~gWK&?Z|Mkl%GS(!ownv(Ko*S1Z*)oVRu=Oc63fR1>2W8R9vF zZc14hZ;sblGwMZhk(ymuUWz}*pEZOW!=efsj$B1>tDLmuC3l{dmw0NhUmaLtGBUPc zrJ$X&%dCSK3}}Y0Y#9hID;c2ozM#5@GsQy(xi@K}C1rFdZ5YJU$Xlo?J*rp0Q8nVZ zKkxYuQGaFQv-mh|Ad!DrPXGCLi~g@Zf4=;e==qHPfAN3e`~Puwz&+Og<a72Zm#fca{NLC3ha%RzTJBXPX>B2CK3>ew zz-wNLO`-<=#J|&a(HRV30&|JW7r8Hlj+CIC%2X5h2Wg^USS$Lb5eZ5vtX)oS;&~2X`SOvJSx7J{I~St#WPp_d$Bx||GvsUsRc#_WgqSRzlpZ;!Of6tjNj%t zf<(W6zlC9MqdiP45Ev>QUh$&==KonrglGW-Ja`)=!w$U_oZ<6JpWk1Se)Qqp!9p>* zfht9F<~uxAWkH?1f48;0v%k$z&d~zOSD`HGZZFQUv2=7B?OoDqIzu_RrZ1Y-)z)

f)C*RhI<*T(f!u1^4Kw?dzZazZVZ_qx$^6e7^k5<^P_qzF3`||F7|H9z}NCkL}UC ze#HF~P=hO2)#GD+QT#FEXVF(|x`q~^WWVHmr%=3gVYtj+qK&97k7Ye?M!jZq0spO- zuQL}bZX9Gxi7r@`jr~C8N1H^WP1be)<1inj!_kdYr{}{uRxT9a^yWatuuJn$WF9Ai zQZ}L|J?MH`@Y8$5YVG)Xn6Z`)N>D;O?~|zyCK?YsqBHnVcG*kmtH7{Db^n^8Lij)@ z74f~pi=%a*hGX-UNeqWaEr)}Xbg|N;R`9K>0o{Ax4CaRyEA)1Noq!slT3*~D9q|;r zR;CH=`np-BSmG<$v(oX+3xYl049=pk61n1cR-Axf_4%Qy2S;~>dF9CXUfM^>z zUDriF62$fB9S zFdyXzycwS-h0$P)K1;NFV6P^_Lpaj>4tAt>g7f5+n0DKqbEz00bbEcy$RX_|)v$Vb z$8`*aB*N>=JH|O{sKbyOZ)`Y9<+Xo1Uia#G!dB=Fb5dTZ&SB%tD1(%xb@=gJbRn%G zqwL#ndEzb(vm-JAQTwIgQa0hd-^9Mb3_=0p_0T^BW_I5z*M!@_=cfifm4^?5unmGE zq34NCg*XFvAm|uKBcci}39Z@6zpe-Dki>7t%jY=3~E0nO7`SLOSI-hxD#ONM9j4c#KWzm^u{&qjXVf86Y6953>Jm!qtk zjX)q?l+DTl*kJ^35=!qgIiJD^FcHrIY}X^5@yW6!qZo_w9e}gdi`zLHv58!} zkv=D5s-#=wUad0Ai$*NH9ML|7cm#|gH-O!j_D9Slu%QbykM(nZ(e^ZD6G0~)iFkU+wlUWkyC3SG|n>Gd9_!HzJW^(jr{Hkb*SJ77aX zdCi-hLmT3Pzmo2V*XPK0)t@M9dtg^6hqSS1s{UBUB$VmfZymZwCBJ_a{r7(dyxEC^ z1eP;H>s#uZKyOq_BzG-cjOW0Ix>fMJAW$ws(V&ehdhPa4kfDUFRZruyxCtGg1#5)v z7CD%(H3goiPR9>rgaV|y<1v$1SL0igKa$yE)<@%2c^qT|GW3>yp-fJ4VPJJe#J?~? z*ECHJ;j9n016m(MEh^c9j}(T9EK?QuB5zK#f#WU+V_@uttSsSA{Md>d{RlmY+#$+b z2oQ%kxq4%N8as@xL5A(@(*}c!kAM9xT9Low)u;D`s_5HSQHze((_0$XI7SolKK`<_ zkaP#<2^_!HdbQaLpAUT;pgz&P@tlQ7-b)5Xbm_Ol{Bl6SaM9Y0x`WW)ELg|`9HU7o zQGfFL$Ct-!^F7B12O8^j{sK`aRUMITs#k3hb*)ZCI?>nkx2HH(VX)~ZNFa}KU; zMN^JNQ1Vp6W8ib@hh)$cLDMYCVjzFJBai1y^RSx}8R+~SR0kauwNhYhBdE48pR%)0 zLxq@9*yUn|sjzkj2PiJd8T066WZu|YO;~;%$(S2XBV+9k!kJF>?$ga(bTcid-Y00hJTX} zuajX1XTl8HUgr&~_AlP|h4_KfuVXEn*e*zIM8y~{icJb$nJ!a?8_ywDCeFkWo`1pl zBGwc3fZDRIIANsUNlz}%>a8t7VzEvf0`nwKZ}G?2fsi+k5_}GvBP`_=$O`40@=A}L zI(|ejQcs-3SULlER+>i3!FUn6sfsX?ga~&S^xRg#C7<4s7ddM_fvIB(F(wxPygrH| z;N}U_-wH=lX?gY0OpT)-{FZnZkK;g9N5Tp)sx_*kf_U*QT~F`{tk{L`-E0A1?>Hz{`8h6aoiLeSvs#boDI$J7JS(j zaN3Gfd1QWZ0&3qz!r|oOFcr2)Yi!pA#8N4OKz6J|#Pm1abQ`WuzSoM0akt$l5A2oF zEhojdqIByuL)9_9qr@`{RxYtF#to-}@_ieib3R62*><+5vs+V`Q17L+Z^>#j(e{Q)<{x<7?_ZCm9%}G z)(n`j7zKz5MGS22VwKTUjL^yeb? zuE?6q8@yb|v_35)N_C+J6aXVjZ>WzQ)J3!t>F6{h_#O7{Ner{_P;@`)M(3lPvsaN% zr)sG1=-&LE4g(k%wI8&`X;DUC4CD%W_4m(&?kQOFsL0wE-EehKTR+1in{>G@_|?gH zdii%yX{tC0s>c2it<)t8=Lg9qGv;oDE#r|R~bx}dlepWZr4A=Cuur%!JBQC((e z)Ph&&G}q{rx9|4oT;8@M-xSP{A``88jj6ur+lFe>c`c|$7M#k`GbD$KEMq^;td zO8*&oQ9{MrN&CD`O*y{Xbaulcb%-a#ix4uCpFUP3{ua!rnC7t$W+eS4DR39;HiAtm zZ1HQF?%HwQ#q~NC;*!IGhDXHfQ^CR`j#N3*(6^D?x(=H_6BFbRZX@@0r>CN(my80N zM&0t+d|k0Qk=7XRBS4$q!<}mCxsjY35H8(`yL7CYVYIiC*-^g(-g$L9G&VI*jKl&m zn9gOPh$~z#^HC^P0h5dE&+U|*-fHj4DQHGa2F5=5)UP=qpK2c+VvBM!9N&ULj58fd z)T*wRCK9q?bdHe3_E$2^K&Ni zk2UEt?Zwa!NvAVJD0*hF)ZoxtWT=jX8_%3vN)*+{;{W#i$c||`T!tSK7w*q8o zqt@_sghsc_QQ_a-$kyi^h~m`XgF!}twJW677ltC`%Mhi_yB)31z;dPzQokM$9x5#R z09kjG0Y(f9fZU^mCCe2a*__LZrR_cWc)s|z!%u(v-=jrx@viIU4SK4(0r^|VK&bK? zMrDUfM-1VC!Q$m0$1TeYK*k6V0eq212jVR+B6_|C`BLNiG7idTnySOk4Ezy&7S|vC zrZ}x5{hp){Hx5neW=OV2&eRJQ;>i=zIg=_+E03N$QRQs^vt$a)78OFOUh<8%i^~eQXQQ<0W)!-Y z0>Xe@!PV=^?pdG1J>=~UOjA0!Y?TP*_RV8OoX)x5@6@|+;mLu3m7D!z&*Fr2zIy%8 zrT*8M&d2F#<%Igo!W2Pd^Ba(5nFRAh9k! z4L3gZpDwyZp^UCzBgWeXVb^PBHn?{*C*o>$b%PA})QnaT7y>HQ+(>|>LCu}678vjV zKct^_!rvHh1y~3)#YKzJ)a4sRqb9Pi-kR3RL7ask<#YuzyG?V^wDG7h^)w!fWvwO#xEiyeecIddZd{1 z6yl^T$UG9EipcZhfUpIV@v}A6HYKw4PU2}=}W78_zl134~~mt=(?VrkS~6unm+DqdMnCN=9Op zK9jKtkH!bu72&&_iL@#mrk%@nTCbnsUrq5~<8lQnfCXbZA~P)VXS8 zC^2MvG{)w1(2A{m&bKGk^KRu8Pk%yCwX%MZCAkmNW>u$7uAVFn3rh>eoE;i%CSAPH zfxh#L9zHa-N`eJ?{oY|~Ei?Q;XiZhPNlgPB5@VlethRP!O`=6x%KA}NTR9OjX=8{8 zncuBO?1H64$SR)<(~$X?mB%Kx){@(s)-2^IY3)TZGRBClS+A>e9_WHN<4-Dfv9r4E)a9Opcd<8zCiL;wok4q$6%0<` zW;c1BO9Z?W5ly96t*2QIDwFA)V(X~#h0JwJ40OZ1Ir>9opyDbJ5B2+tr;5Yi3CWp) zN-tvM8XZe8euEqIKAPMZaG9e8C<-fo$bsvQyi0FGgtYTMtf_!ubK&H5tA`rzaAH^B z$I-eoJkn(b%gXz@I26Aex$kHq{dIPFs$CvB@E1R0`cgsUYa9f~zp96jbqQ0;yQ#fw zWNGeYTm0J(^^G-QiSdVFLecoNC_pwDQ8@^ktvXG1+*;vo1$qk)PsV&(55~R~f@D>- zmG$uJaHw-nOixXBHY_RjZpFf_eOFT5LbP0tsE<3{8M$f5WqtZKS{}!(^(kv|BO6t1 zM#5|V%;|&`rszEe@iroqupm|~{Bmv9 z7;s2slCYuI6hcjiB)WVu9=Qs^C~(u6-vjrZd45aeyz<^mH)@1v$9iS zo$2N)(1AL9x0Iq-mmelqHl@C5H6+WDcJoC#s()^Jr9$M#FX)yE)UzH8{NTu?JIb%7 ziY#=~kwUVByTA-g!huIT1EMp3b8>O?LHpt9ZPiVR>waawI+rOAkkq{rtXV~iwTN*{ zYZVcI1Z&w6hFKob7-PuCr?={_R#UccR8GZs-9OXqO>XRS6_*f@FT8~k!m!2|r0JF* zV<(V=KnP2XhWEswcxWAS-d3qvK`_u^v7eyfY=;3qt+#55$b#Arj?+-2X|E804iJc7 z*nxTw$D~8nGEZur^Sk8*J9WEF5h()AhEbBWUo&WMYoC;P1`yjfnFyWGMOuPGTU3KPI?~KVYo*Uh=sPa)&8<5M65=nFb4=9C)UiE;H)sgUO=Y-gw}nmB7HS}g57J~rrIb<;1VEmadVy!_bEAp- z4JJnIPH$%_I(V9;-A)m(qaI*&LbZOW}x+{f55>@$Uf|Z+noaa}^4`fUOSG0{ZYJpxx^Nia-`yJ{QnQR&5N&6K!k}UWT4b2LEbQQgvWbJ; z*Sl*G#~`Do5`=E#5F$WjBz^_l9~X+IFG7Vk$*><&>YQb=YXtmlEm|##yWM);Zms(O zsX$i0rMD?Aue7b>D7|%~X2XD4O~fze;{sh~W?iA!c~Y7hdq#YIQP>p zZ8-PI#{;2A^l}L6Hq(f*F4#i2mUW4GRX3za_KS|iG3P|KtgNiOCaWqZItcsrIy=mX zTdQ~!xpV2PW3WrQ2~H6oMnfCG`GtPQRogc>k9Cg{dVy@J`gs>xxrsqi($52q(#Zjp z&yxXAYM2&SYiYBKfjoyje5_X^Hv)G`OaE5DR9E%%qh+&OrUr2b#sZ^BNJ6V+RP|+M z!Wk*~4fPcsZ)7OaycpIRKE~RMT4oF0hRzAFX+^b$*(m7Qs<~a5zNQH>n^kR@^mdol zrKG)P+MY+1gWwbN1=|TG`CHd#7S@L$vPBQyHuzFmcVf zGVQLr8;yueVc`RzTJ$TUaO!wXJ{Pux0Za0cqSjfy)uJTcr4&gWzHyh_HL~9z%ibu3 zNcA28`*c?MxTs3Qfp^mk+cr2UUWv63p9uFBa)g0K9ll~8gMC?yMN(YA2=l%Y0z)Bh z5giBGP;uz$^^LV34*#}zbi3SKURoM|T5N0_{_O|(X9GXiWBFHO@wi0#FSXXN_?j?PFMA_py6A^pHamNm&m{s2z$Ucop?Z-a&Cb^bX^DmFsW^ z8i*cPYG92Fka3oMxl%N7-|?y~R_OjV1)z~6>=#I8{y4yz@5ZRuO&{GnGN!n^-_4ojNa4X!qXD zekbAm*07zOV8LlMDU7cibHOr0tJ3C!2AoN|-6Ta)z`bXt>(j(nnVNCeveYgskud zus(u@`cBlQ`%B*U2C5^fTSRuDk!8uP*!V zQtQ3hwfxU^Ef1#Bh1n)S!pDphQ}+gHta5(zL9)yjX*%?T?iMgnnF0u~O8r-Y>?rZM zO0;`+{qOF*^PDD}t!H*7h~oFI#2jhp;XY3b^Hd@k_{d9IUq##EzR(Pt!fz(Z+rWFE z)*OR`60&k!3u08jVr|;fNYiYSo!iLv8uxsQy&X8763jtbcWA?lI1b>x1$K9{qKNBU zJxz&{>_@h+#jcoA2N?)vuPB=x@#7AW?aM;a2jkpZyHd7|CN=R=?JL$C47`3{{k_yp zXctwbWh)23YJ~)5^`xj+ls)=Dm^AdlOR(OouQ|)EQYB+Y2>Ag_24txddx5-<@L(fk z6RfOdy}cSJ5)EWG&+}rGssKOuvNTN3;IjSIWW~pevp2vr?uq&Yf2Jz153h1t><k9s2m5LI_d$)K^W$7gi$1l0#{yzeneKYhY_Z;k@AVG z?3SmroJQu<(jmsn_FcB3OudRmb)FUb zT`n`=z;Uq^{wzs7gvgU%;O{dXQIn5Kfk&lQ@)Tr_0GSJ$kXz$hw+f8%^6aDB#w5aC z{f3^Y-uiuDLm#>pYG~|Hvrb%6-1OU#4G|T@E$T`LH<2mk1Xqa)Oc|<84c&R^Mem~c zD4G!R!3SDU>R>+wU8)43rqJ)zDBKf(GK6%g$ZWX|*9SB#;ollQBCbB86|W;=0RkK- zkd(K>WK6CTpjjWGb6Jtb7{!VeNZ8%F7^bkwY_M@3 z+=DyP)v>xw4_ps?Tdh0Nkc*aED{S zot_fwgz=b&O^^-RKyyXbB?G=j?Bj%llp!Tv2ToSi{Eh%AvlVF-nM)lN9>?Uds^t<& z=z^G8c#V2{Y%xbBg;}LN>m@g2TPuW0>u#Oov{Yi-p|@|sCa8#B!$Gl{BG44v>sp|SEQN*jKXPY)`UY=0^B2Sqqj|pir2?oe^ zxW$ZC=nMSOAdOh40gdv(fl-ZPIlRL`d40zPP%w-MU% z64t+Kopu^VF(NbR-^~utr=`mxWc-*YR1>ZzrK-}aa*~#}wAym*?s_S1&sYW}vnDF~-kZzNt%Yl7hA%=fDa8%N*25)^Z|~U0 z!ne41=%U#5m!H?kD!)l9*9e0g!Nly4>q(+9`SC)>c{1>|nj$y=;ZJvyGY2@vU5TYo z7=kGzsE|?0{eY`P*u~2e7`|9GjuJ_70dl_YL2T`AB?E>RuGe(ji&`^;16`{%no$k8 zZI{}Y;e6YR+l-zl9e@D-)(H#&&fRruuLR3=+mJk>uG&O|o6^p(1U@0$mM>PKQsghQ zfB)3~CdGf}-{MX@D!x$s_obC*&!4&R-(Nm^F^m8HHU7!aq!{bzG-;<1^W4%-5p}}& z?;F;_k}81py+X;^prEZBl~X>gpva<(OO-YtanZz)`IEJ4PcU(ze6uLu``YQoT6B`< z-82!D-t84hv{7qe!60!hy3t)VSktmQBmqrBvax=FeBxBMatU7PbPIAquUPi*I`xqW zwHYRcr9I&KP>e7f=b)<8;8Xw!=5(oWO1`VTts(MkySMf4yahK(Wo z>I=16Qk(5m$toq$Q-MKhRU|)_FZ-kJMd$*1XO41Ne{d&`^70P7&Wb@dxiP&kJFo?^ zZV`1ZhmHfL5OM6}wyNk3W?O*ns%_6AQ zkC&)lo-{J~G}_MP!_J>U>*u-o*(caHH5eG6`NIJc&ACagF;^HtmNq$ee;_o<)8}XblPGAdx zkAfQ2nL>bsGJkxW79U8GpGU`4dYoRPNKPd6ij1*CK3+vvdDe-R*1sefyMpcJ-f?yH zc3ihVNuk$HJ)8#;H-99F+bB1B_^RmHgXHuF_7F7)lNSB)^%|x^!#@V*=9c{&3xY&FAMz?L$&SX4_@*=Osp5~U!3hz(Vr=&k^XI4ArnYuw z64`w`PI>aW=u>A1@sN&c0bDLl75r#Z%KlQmXU6$RnZMC^=Yl6;c7~Q%eRdfIDdoevgN0&r(?zo>YK}QT1dTkQrWH&f zaxCxPZEf%DZxg!^K{gak3y@6();`8>T-4oOoXdLjK5!dtf~*ydne9bW^0T70uD=Sf zQPvJN?LXi323?BN!HkNmBaRp0KXFJFNDr9~)!%F}R9n{%6vUZC?JoK_2#a{DnTP}1 z7k1-OCR;BmdnH|0D2M&{lXSDBNDKYe75(A*Q8C|klG+8kdH?LS=I9WMP`xYpb%+_L z6UgsxIKgW)=?(rN4EHblbx06)(chtF^?L!Y$_BQPMl_mPiu@DO|GyWH)J8S^UtWFT zz5lGPyj+^m|9`;y&!6Wuz-N}@W2XAA1w}^8PVCoz{wMV>cD|zJ0(CHUXUk?iru&8`30e7k-8ar59{dvAxb&55``Vrza{jK5iII*AMX)Mw z&Sr5Z7{^7dO3mU>$Uo0s>v%8EN20FcP!&6hMG>2Q!J2n3M}tcsL1GD`t@rPgdbU=| z*Oaj^0T*=r(ewgkS43iO0yxjM#!MUH4q$Wk6re47@Z4e zlM%JuK?j&5>OlK#^uTjQfw2_|n1}RkBcU1kHmWVwJeNXXM>M93IZ5?e97Ii!9vG@C z9=4S4sOjc~rreQKHD>^Uu%o7r@`tlPr0R&l`$!Y3;=AHk>4_ZIgsUJrc9FjThic%z zz4^K9E1HIcPa~v03DUBdUtJKfTlT2Ti&IA6LBsj|bW}Hk=h)L1$FW|f*z&Nc%x42- zxLMsr*{H5Ll)a>ZfamI!4)P_z)Ev+m^2pMDb~HO79|!kZ5EyF%4x?j+g$ubgC{!F7 z*Oq987MFzEu)8~(*3oE8hFp=jd0X8~Zy958yb!v0q{Icbl@E=5W=880uCknMA9}i3 zU}h&iJkFB4T7f{?Z^-wWTv0@gdX?1OPT&x@GD$(+9k#n;u)}JKYw|{3#FDi@a3;Te zXw3phXcEKI$0iCQXV@_sxz1MH%7C_t;2FhVAq5oIQ9f<5N0W zCtUCPyFS|XYS=gd;kfaLzO76@$oW3SyR;Ks50e30D5Q3HvE)0=qbqeukg`xPwxh|8 ziR2Rfil9)9$`_*LBjkje6c(!Qg}B4M5Co>e>3$LH3|6Tqd!=)Ci6eTbU$3as_wW=y zJSsUkxUjW`+6-btGJ*+E;kZD(PW@$LY@_%u@IReTU0u=QSrfy5HO33xKT-JUZIGM? zC_zssd0-p0p5F3bW4Cj{YgiEcu?n+S9P*c=am%TjFQhV3!V}suZsX|o#dz_o=ibD) z6~gDf67Ks~`2QgFt&xSZ2=ruH=3qS(kReEF2)zp}q=K51Rtdn6!N2mP>`cSOIuWuB z-&30{1-6wuiC?*RH6-Mc!Oy9TXd}&2glbXsph7q_+6~EtYG>^DA*ZI45gGJBAyhOa zL=E*CP4+}@;erU_*kacjQ=t*rW3j~PDaWBkp(Y)*l~aHh1$izWxfpda8l}AfhOovB zV_J-bJk6&cw2cr?K$Z%#4;Xhb5V|Yjj|D{05*KCTzT*;2s>@NMOG-QVj#5mARBm6x z{+-`{MmGa8yLz-I|GT{ZFTHr-`u{F3zgV8V|IFV1@ATp$9RrzwMYaB*w=l@s7YlHr zvQrEiA;^My;=!*U#K(G11(V^271Z_VhYA^&Q0A&NVh5rMkz~8150ww+jXPH*`oe@l zm=nCRy7|~I<@Wjid+{aq*rfBny1ML~|D~5`|2I4Tv-jV7Q-hgl$JF+}nlycxHtuf! zx%B+m%>MH$+W&mn9dM8JfAR9gZ2kWc>ra}_N0tL7-T%**UH{LO7t1sIuNnV;w;NyZ z%eSnx=eIyq+c!nD@j}`2;(O9?#kAOE$w3JQLa()j3Vk8dA<`-ySrb*NYlewy12RclH_<4M zZyjjmc#6iv^xVHSQGsl)iUJ!pQ^ly0UyjVM8X^n%Y4_V0ZcooOQEW-BeJejMis04M zT2Z%RKG@o1d`vh;cvO*BkFJxag+S---XOd*LdnbSAVTnnV_X#HgfpIXQnE!o;cr>n z?Nzw@G0eayM{Ccr{<={Dq~2T1T-v`nti9RY+uAoO8UKGj|3883tk`|W=AI4x6tlC1fYt@a zSs--%0V2-~GXYuxf6#LzLMXtvMR4}ZL6lsMa^tj!$J?g52+k2)8d9;1Le|3=^iV+& zc~!_zP1H`T0&yX_%jaw)=2XO*80Kd~xbFBe!4^j8u$T2IY(blK}^(CR22qH78I}w>4xafxa4D0aoVAC3K-SJ_R#`0^C!scdVY3)VWCo5>v zBk_B+ko%KowN}XSbVbw{@!VWk_5nUz1=cbraB8KwL~)+Np{TdwlcYEwwp-1p75^@N zOGoXvL2C`$Da9YkC4xat(mpauh0|F+1KeN3AS{mdnH?%Py3>zns*iR3-^F=c7O@SM z6+>PWmu!^#`9@cxJzW0e_>m8~P`d)WD#AP=Zb= z7wduSZY^x8TFFE>wNQ0UUJEut7T>XY@fize!Ve}&qc4P>A|4-{X`F~0?Z~hW( zL<*a;o;RajGrEBPR!q_JV#SSRiYd_r3rW}ybXtQHQ8P%zyVrdwOiS-H5Oc9|Gaxk; z!!FH3k$Id5O4*2>^bGgYXpNHNYoV6J5|p5*IV2kH0HQM!<#khB?;Tzok%(?enql2Q zj?>emRvHKc3f+6)4CaRyD`<8~otPuH9bQ~uqj(C+{d?UkQ!Me7>{;pfl#_2*>mgK0 zSESIO2?$o7AF6tAbXS;n-Ev#rN6J*@vy2~kG?s!z?YaEA|3B#s>Zx?=rt(974{l5L z`?CC@JwrQehI)ADSUQt041T@9O$+64kwr6>0>fx9#z1|vdtk37!$UaIY)yNlcYA^brX46s>HDv+wZ(ua;8d`O}+yx1{L(6P{> z*#)gny2PoI?bP^24EigJC}?MYcHP%`Lv4Dkh5hm?obrRt_-20Tj?V?s{#7>2`-oU` zEP@7Als0lNh}^m=Pgiag6*_a#DjL~3nHMQ>-kcv0_S{UIYQPE1R00oH39ys=T{QtJ zmXwS?v&d_K9l1_r`_s<95qMaqZqa5{VO!zW+j73uO&+Yy*|_D8)bN{pX!m{}8`nc{ z+p>Lpz3BE7EwKyKyhHexxCs!qn3_T;&0%_#<(EbGrYW}&4!D!Y1}lahP0pm?rW&Sg zbZg=mtU%TWFc+ygEj%phzek99;DhjxtvM>K#R+ZxGxlqk;zg2n87>!9xZIr#t^O6!ZyP* z$$dnponiY;))jsu_Cp(gQQNRg!Q{Vu)zjh7+;@nNA+ClP1E3E_?}}~wyFodv^>~wH zT?W5!`kivei9FHx7;l?a;RG&aZ->%%Y#{D&^gMqumz_!6$w%4gjd6hO-AB4S?v+;Q zb#KI6TIXVuRE{u^Pc0#Ve^W(f~^J9;-}iPW<4St+suWd+UfW*ZJ_GDSf$^;`CD$&lmF0)VH2~+&uWH)ntXS z-w^O6Xtv*`XXH-aH*nos3ui3~&xzt!3vsVyuNTfDjd#$^TCrE}r~aqDmx$x&UjS14Xlt@+fd4 zDEq5)8f?^SJSR1~Z7jWkIbl238yoRqP4^ywDZCDaM$IigO1J2!VOjG;=}_H7MeD6C zx?{<25#LY5F;O0pEo;58wwREl1o{T-mD*9Xv7v=$h4_Phmci^s??fzD3U{6r80eM- zRrKL&RCfDapQ5#jsSvtG*lJI2sZmrjB3jfq2CAlefY3ES;RGYfp}#q3MQjfg0Tf-i z7TQ@i_AIqi!0yLu%wO9(ah&Fw<3)xsCEN!gExDZ9WQl~Dv+RlknL|HV=A@9wEASC6 z1VQbKi);|9*$>Kj9Mjek$)DJ|J&zZjvL1(Sye6(sj3`GscP2pYfo9g=4~Za#<9E0+ zJq8Ul28Fmd{$?ILjg}-PJjBl%PRGWL-d~`=nh7lF6`TKv5c0s#Q_M{fc0xQ4;j2bgWj zUcE(c^1LW0B#LTW3f$HsuPrjAq%U%Mvj5Ze`}bB?DC0DJ;d+?^LwzjJ)QUx6ZMM3-d4c3oSk8KvnX(BoSoa%HTKRs0pWptG#;?bA#Qs5C} zZ-`?xPIV=JNN)`^EmQ6kRzXm7c(G5!6y2x;gRf|<5F6Vf$fEuYoN2fXv(b$ZcJ*|} za}Ioz5Pg8b46LeB$&CmnT3+g?K%`@t6)ED>BpobS=L(RrjZPQ-tJa7~Myl5d%|er8 zTWc*V-_V4w78;t5G3C#pivb~WFj|0j=aniOEN&*T)xDalk=i|w^Dc-R5}axSWTIb{ zCZL;L(1phq7!HBmVCw)=3t-DZq_#`>KpbrTh|D=u!v3>!CJ?3Cvs~9Xa36}=h)a&; zM{_jE@a&QRz~iXCjs2r@XPbyneM}&OaaA%QKM=)K5RI{h8qqjNK@22;LK2xtEP*v? z-E5vUu`cNG%ogXX+2S~7r%XelnZmaMPD9KY^j+{Jt*3N*wP+afvNo79b#WJua}m0{ zcujR6)TofeN3n(T>TE1pib5_7tw}y~#n^dXqj#rxKx#u0wSR?umR}dmXsgFswU7BV zTtPH8rqZHTwP);>oAaJvj*5i0u;QW@vI*EXC(P#2wt5d-;AbgFutorBOBeX>lyqUF z&ZGC!K3)dC0$_BW7pXaAMQjV#58|8xi&VZb^co2Tf8gwk-CKl+RzSPKx+a^5(E{}@ z3sUxCbDlB*_c-b~NKZxN@H!=nlBCmdg#aCK4Cq4lMn6_qyq`BJ=umA2z0vr>n z2WbeWf}hdl+j7v>BaJz!e60)Hw-~C#oz+b{_0Y^QQWtYO#M{{XP(ox^evhFWeZd2X zB&l4q7_e7Hhhn^s>f+s;OVY21zBvL}4q3_?&~O+j^s(01h8+t}AKM#Pnl^~{2I5o9=TyQGg;oh^6!Co}t7hy;NLFGZfn=YswjMPn zQmVp>+0++KM;A;#CaPwXzsGB63+{q?!(hXayQzf){ll8zd{B8ozoL-=_LUOk??-%4 zPUSH{hJ*P%>_?LZ*RUpzfB`3W?Dz71{jR$8`{VZNcH;BYcxG*EY{#H9tl7i&xb?BB z6JW^^rPz2+=%2L&^mX69Bk74EHjfydWI?rwUJ@9+jloG8Xxm06##tazT(9waM-%qW zLQ*4DUhSw!1STH>lO$aKJXBB8ND_q!pudqePPyaJS*Ae+#}g{uqF%L>{e-rWSizPP zst1WXLZ*q2@HOB6<>{0Lco%INGHRteP))LtP5) zfF=Nj*QVXoi6fvm(A)^wS+V&;&Cy0H#J1|*=y12hloIGaTl6Lcg%ZYdUjW&QtELJi zo(sAU$>29CvNM#RN&k`YivbPeY?!oDe$0$MBsaj?q3Y%m^*_T1ansr80ndD>xoZJk zc@td&Gjw+69*aF%XN}N$32{C{TtzxVV1MQZ>9 zSGt(w2&@Wzv;gj%@Sol6M4XOARrLY~=Q8W~>;CQzsSi}?MeNT4Nje_lkP|RzpQ=N< z109~zEkO~wg#4~-H^eO@BWt2chU5iRvsBuPbZOpTM*&rzkt+M2sk6gNyoq$^mNjFd zW7VJ6D2QcjCgipyh%TZ#Yr_h3blf9z)$gP;Fd22ANyjgwO0j)@Wep%fp!EfnH#+i> zlXW+?@-Bk2s%SRS%EoIo>EC?sM?8h>qDm|!8bu!&1M79FirC&G7#5XrK;Sw}I(mBF zxRa-gx_jXJb%iYL`<9x9KJ{*Tm3G%6W$sg1=bdV#Te_-3XBqENIYu9u-0`rBI0@q@ zP~^hW7bn}sfOpi>K#PXSHJ$2+P2Wg0@auUBTrqWwR01vT5kH|2!IF|53+7FF0>TzS zykXZJML&0bT(dfsv1tfdaI#4tX`A@mDq9xpWUJbr*qp?@Qt=5}1sbXJH65A=$h z!aT`<4;~r$B5vigfB)M2|Dyr`PVoO1+KvqqehD~pN)hdoqCJ=m_e2}8EdNK>P>84pVo8kx8Y^GRQ%Y+Ip zR`%7Z!V@5by^))2;37DzKO!PHN%sXdsDdfTi&Bt+yf7gO?f_?iMmNWo1J_?4lNT-r zx@{CNDcZT4Q)%AjO>9}qQHXY`Bmm+Bu_KW2LDAf8Dr86$ELYJ^R=k$4Rl(teqq7N< z(os@s(~jS`!qPV)Dju61m?m^vS#6FLyAv?jA9m>ieuWWJ+h2OH<8>o)U6@*H%bnxn zPB!E?*uMUp^&NDOY7WeZj5mK+lZ-v(!dk3^BUy|!SU3S#6eBjvj0;MZ&GBK8vx_VA ztt#d9JTGE2JA&?`#k*a-Nku+)&X|J#gzv#@sl+X^6{0e%k&=oq2WgXHv4~HHX$oBO z#V8-d`S5HJb?(sU0%o)RSm>g`*eE_9^}2?YqSd~EjZNmg|L67FTb7FH*MyW zdrsJ9zL4T$-tEvsHTxH%oT+>`*JMQt(NkyM7DIa}ssmT%WF&K+bks1a;__n0OP}j- zeF{6JVXVX8VQX5tJi5f7S#ntHt4ydOI*ot!FjsCBcic!Q(mnPMu)ruXMTqi#?hrFf;$ zp?qaotxYaVeP~~I>US=zC}zW+{xgeIIlfTBxZk8%lf5BX8E#p3Go}OXYP14RBXxz+ zlF3~Cd?b}L#NIF!6(;`$bd6p(go~?q=Rm(G+j5B===zRre^Z(pW`%I|$GXmwt5ggM?^7Lf5bEwBaVz7W1&R`ZVPtf;V z5gm2JyV>FZ)_!qi>G|^)p;-ay>Q0OzxYJGs6tL!F@tY_ux>~%ZO zsb;Y3rd1Bv2gzp$8dz7&uGz?l}|r~t>^&Dz;$A?e>(rVDo% zy#<^xe#DN1jUs%9W$_UMg@-2>bsbg}>wyR+^dee4EVi%kr$)%`hKUFXw)&~s?pHG` zz&Gt}-3(N#O1xof0enukHnA}CV6ic5?BUO!QZcfi=r@ZB0X-P6#?tZJX#kFyze{t3 zTG5qM(Q!`H&2d@A2V!92*kz&B3h-)zKnXX#2Rial3ME z-{X>R4nfr@6I-|nvx^OnqecP9W%DeM8(E*Ls5UB>mK=_ZPq+`{@-EGg+X4qkd6@_V zoQyHA&`l}vZH>{!Jtt>Mel$U(nBHJ?Ll*16%=OZqbkMv=(*c^hu*36tbO}sYH)1#j zMi!Bd%#3`QTuF=($0nJ&XKst&rn@z+gth2)tXO#X3k&!=yuvsPmSWrtU%{@CxVs|? zxg(lx&%^e~P9_&GVNx3*^oA;!K3far*c~du;?8bN1j^We>r-{^Ixutza%B(L^&zy~ zcRc67UmY_oX6V|8Awo{U*j?rfb)Ux`S15c1fulC!g;5J|IO&6QBZPxVe;e+E<3G1C zSp^YQHe`_^W^%C*%<-Rz>{)%O;HXU>DBe)kRFl}%RzxowO-H8`w5+C54z!xBad&D^ zpkO{la2y{^PfIq|BOAR+?3F`2PR5H#EDiq5W8O4oFoZl8Huck%eYTc@^}YC%z0|at zMy_SE-}#8HCitGxs8{Hh8_H$+R|N%}qKJP+V7Ri}*$_Xm5qfrTDkutU~Q6aQd~isP-R=9d)l1i(=KAR$e2+nrQ5>W+c{* znt`R4SxsH-tso<4;_kZ4OaB+k-#z&3=Gnz7d&HvVy2htx7`gFAT*l^$m{96(K@zXo zp2%AleZ&V1;4Ow7W-JSR}CJ>QMV5u)hDXH#+AT5_)i&|3DZj#_{-sDy#A7xY1)TH~h?nx}&1kq&z z)$xbA+3Tj?yn{;h#H%nS)UV>#45qXe$8ZPy=YK{|sEw@H6xG$eVr8gRj7jC6y8tkl zx$z{kiBijOnB2sunXdZ+u7RdR-tLF|I3_+H(YhXrzv5wzu<@AV$S5aW7)O@_;VCaS z3MU;d9T_{SVIfVUE`l-@Xnog#U3=ct4&EJL*%7U%PtKad0)bpIj9aP^I|Ljnxh>Kg zKAhz_%MCZ;{t3@l=?;x~3r4%`=KZs@(5#DU8Pe(roBFjAwjTu21jR=;W)tKGiUYyN z7PfUu#G?cEQJ6t@l)8ahy3YEI*ucDk8tQept4?SNPhi%B%}ulrCHgOePADaX$cLQA z(iDny1)ktm@O`xG%lK^W$b@wtcxmrQp%3gH?2Lk6hPXz#DXvOf;-65pB;8)Y;2I(C zc+Qe^I-F(wUa!REN69(KY8ZMpmI7kyX727xo5p~LXPH(!lP*Q10N zlCub-K3qPspIyov4NN6MK#x^qzq3Q@vV(sA?o_}_X9774C1+8rsWo^BIf2LS)~ci} z@detFH5v+5W;_>Cy;a^s_S==W_Zz{G!uX{^H66lFE_1W6E$1Ym7 zI3ia-AYd-z5^qS(bXXf$jno`7My#7lpz-C+0Hs7x1BxE(Nl|N*TUAizQmcvz>ang7 z@}=TWe=U>UZFxh;XY2l6t;TJtuR+Ha;w6P30-q+Fhggk%BRTiB~rYFeY8AdRZi}u!?RQm z`eBC+sNDywPXS%3*Lu3uN%e=!ja5ikm?j0{geVJDaZ+0pL_iF3y!P}~4RhRbFRXCu zz}lctsB6(PRRk!7&Zj3u^hJLP&Uc%x zr=X@KV;bLq?3DQvde^qd_DJ`&XvH{uHJMbKbogY(;F+`80h#qs{Bq=Tz*xP*0z@_8 zIvHdEs@VXabuKx?ng{roy8Oj9c;s9EmA?MNjZD7wWld!v2_B0FkbS$;$AwK7-II zz=L;h@alWbRxTZdIZ%Sdk`-I;Cgl+pGrw@;5VAj>RHT3QIz72Oo0QE9dZG&0P$FN< z|2uU4AL&Kx#bJp z|9SUu!5^pK|DP>+_>U{kUd-)E0 zW!1xfT3TM7o&OpC|BvVYnRu{H4}Ou32;`5NJ8&47xRx837+ZVq-=MARr{O2f^!PuA~`%K=X0 z|6Z)R^#8@m4F7w^|2+=>XN8}t3qmgfrT`bnp9}G<2c2d|kpEOfxRY*ZUUB>WogKtZ^Q~S*s$Fu1|t&R}f0qbIw3JLGO4p$|g_| zv<9Jo?KrZA#DOeBNgI5pbj4jC!tQx6p!+KBAQd<=Xn^DTZAl!&pp_?sP^<0 zyELxFtzebZ4VWG=ESi5|HYP?S&ALp6_ZU}ivl!_})_>)Mx+{#b)GxA^VON=Xf=Hsg zH~78H7TB$_21cLWbi8>FhG}XKNJ6dQ`AP7p?_ij~J<>nh%6q-UI85enxJbY@O~^XE zWW?*BHiK-YQGw1Cm;i66=t?C*V|n;HzP&XRGU?4deH<$(`@( zUUQEL5BNsSkWisvj1YR1?(Yse_VL%qJg?j!U9^bys+T%@OXN=ml^UiLCLj@y$RMk? z&uuu+cy2N%mR``>DWdufDLX;h*F`uXURdX3V)b zj&)K~wQ$5hX${&cRJdLrP>BI`ROTxuv;F{4y+PCE4ldMDt7rvH>tqCo7T9&Xtz4Sr z?Xn47X}a6xVE6Uz8i9zy%s`bQ+7MbV}S6Nud?EQgUe@4T}bw4BVw6Hl5q;BAxouO-MNYbYmp2F-J5M}$h$)*vHU&? z5LORnt_1sEu^B3eox^7|qu>QS4zYjoS74+b7CNC?TC}Zhyc=5~%$H9!{nDtH@K|=h zz&l;xmDjgh+?)Fc@)aa{dK;Qj;3!A5PE_X>USI;Pe2l_~L?}eyaqiiexW)0K?G;Zs z;F_kD?gMqu)IplK*fRy}zpefkG3;S8_8!v!Y?A%&i)XI=$Lh+`O#d^}|K3gGV}@k_ z?hJv7J2(BLm$f5)I>al0Vl*TXhY}P#elNK}IO6U74>6Cw*US5V-RDtY=co{T=9H@} z@v4rapD`ZW=(3-T((X+&IsnqXPoy2I^rrj)Zoi}_)|piKXpv01DcY;4+yY`xQ15==%e06#C5k?8P=SD6 z$jEV`Q?zv4F_;yuFRnC2#Fn;;9_t;yJNUk?`)Al4{=E0Tu_k)}xxS9>Ndn zvx{qXas9JgT;ZF_xTaLVCtNZ_;YLAQPI|qjGuE0>OM)R$OJ*hOEjuPPMHw@{&qUCF znEZG4*ycYI?SEdbta|VNFK6=KO#Zu<{P!#BdJFBUNB7W31?zSRT?w zq=|6xWCNtK8QOy?{CbRCB12{91X-twY=gIrO_*IGewOyrA%!V3J5(+?kOrFubdbN# z&nR9S-GysB%=^L_m7f2v$Nw+C4DtUn{I41R|4+dG2hJS=#`~$$*z&l5LAhh*ZhvLl z_H`jBoN>^~KLwGSOw}x#eKC07d;uTtE{$Et4jI~v4TeZUH2Fh%)PmY>zEM=;f&1o-~G z@iZrzYDTp~Dti>wphBJy40hMPK!+SLKi?vT)Te&UWu(PEnU;Tc=|9GChH-sO|L^7H z=RW^8qyIDh?|%H>CNfVz22t>*>cy6p1h60l!&y2SrNcsw;hS%E@=^NDH*3+4sGETE zfPv?(DP9|9KhLj`#&YCX7?^G%5hN1Bz6r8Nk+GRfp5a^cW&Z@nWyttNnyTTX{rEb& z$OdUAOX7TZwupZ%exOd%qjDu*CU0^ciA}PMe`W+50z#}JcCjTQ( zMJ*g`n{BmfAH;O)apQKNaH&G#h^TKo!SER^=MxIzjl8zaXbW38nk80Le@F)PMu{J| zxVTDOZ{ZV8yPLxZ8Gx2#`{^)4xd08l>X0|+M(Y`9n1fP}FNM(g&FD&*N?j0!PTv@(ah&cb^1s21#6 zH0UOXgK@&4o{bJtRi!-?{orM-n;>>Z7+b5%AAeYN#6{jqWoYmaiMncp0-Knj?&rK! zo4w5anfZSa5qqJ>!HXY74>ZaC=K)F~wch!P8~^LsvswJFnf~XF9KW!%xQ(39@nhC( z*W!2){_AEZi;Rr5sN#k$aD?32x~^lB8_}_aRV|`)O*!(DOYJGK z1Q`|F+M;e%SH>CYA{|k%WQ|SoFM`#mbyC#Zr~Nh%OyJxw;p(-M#!z4|Gs6TGVH;}( z-emi_vteL6NJCE%=<)kNcj14cM}^x}IGFXvYQ~ur{h;JFdH^57a}?@|(YWR{ic6B( zjDVPm|AorYTa=~qLT_1EH! zEzfV-akuWj9&a@1{(lTTVDyZ=|7EzR!#nf~v=_@6)o-t}Q;lXyywlrEa0 zlf%J)$4o$9&=p)+9J&2FCv(HBFT~TsQo@#VG^Pc01do9vtAqe@7BN=`lBo>KM zuTbhmOtz<*E);u(cxE(oJzOM%QT-J0N>L;}CDjb~+fdGM^1LiI-!K$$XxPijxOrtj z4D1w0-)U#Qv91K;bunE81+zM8h^z0SnD|tGs-BgYsR-ie=GRgJWcz& zhK^-D8Pxd1oI6smqIPscw|_WapeuTN{s>d?;~M?YdJITlfISnJmaBvYtojjGR5ZOY z5x3S+5yMmv)*uE%kgmhDbzsHwKJFSr!C;*Uy&-f|sbxGT-}8A{Sg?=9P&VmcZ>mZM zNIg`y8uHh}0fLG$j=?-@k8u%h$2etbJ_kn=YmB+Ds#yHZ^}D&O3RQtl$JpEkT5F^? zG|pPdZWYiKP>XeJqU01dmYh$l4fvTzhFhgA?VYQ5a9Nz!TEW@#5@V{%)n6=x&ZV;Vb}P^LnS64>T2jWTZ}(E&lC zgs$_^fNw)`xP}yys1C!_HUa!W+L8fxbCHb}F^4u8Y@cV{&ap7mvkO|Ebcx3|PUP=O zS#ivo6bFH9lH$b}5@m1!%s5r&5^s}kHjylCCc{%+uah?XR=qnM%UCYkE=4q8Hz=bP zAdfZKv%jMt>3x)MWD^uJBo)&Y9)$im?xmxolZ+DFolKMV>0L;iF3Hy*Z@?d7RYKk2 zj2c~ML~704nXQF~iF2W*UA~GR`6ZnRn5vk;HHxP|>|e8_CwR(`r~tFX@4)knZM;Sd zmdFojJe6zAY&50(uKrGh`r#I@#x;DL!EIqy5%HUifW;RX;76?UMB`>8Cwa|Sp|Ki5 z>E>$OVG^84t)2nQ{E*>O`KqyFhQ}K?-6XPnDfOlaadveWecz0FAk$=M1P7tt=yutY zwO}qiF;Vnrs!;}1spU|H)SRV>wfi)+hSk=xR=@^|6%FGh-bD}V>0+xJ6-S7{m>h6& zy8{!ow)ih8Zu;$z{+9K&;z~CZltkT0OIiZ8W)W&pLUvy19P7?@7QxblZdNqoR~3sK z&B*BKk$*C{>-f^_>X;j0_%PWlbMt|QvBuZwRjHYXyHc?6>xdC&)J;a7Y95d99KtNZ zJZD`(E%tC9OO`XF)%KRs(rm*~Y6txuiLQqKGjk@7(fw2tk;>Xd9YLanoce4e#$rfr2XO0&afh$XsesnpY zZbcpC$w4+k>;jX1&PG--@gYW!XZ%=eMkZHjQFf@xPqo}YhCP8wC+4L|ad+C6KpwBu zmDNi=@1>(5!I!UED;eG|Y(a&g3~!w;V}A~IK7L>`!s`U~*!6je9``LtWf4}aB_kkO zI$5y;^sKoRZ+}iu<*??a_XoY`*Uh~hxW98WeB0jH-QGD^gBI{z=$w_j`A}C3OANFx zsx87IFUI||1)MCsu>bY!|H@w8ESf#8m9|+{Jle^XI7sG@_b5M12YHdv1|o4czE>?$ zA0DpaR|+C>%?J;uzHecrC{;%bH!b`?YYA5cZfhg%=H;M+T3cMXnl)7jFMplf6mCl= zX`8}ef~Wy!v!EcI*rmemQ|J^c#6|xc>wRwb0*f)5aX;xzlb$c6v{dZD2CdF1QNc}2DT*Sv*5NZw=7 zo0{ME--s^Yt|DzC`K>vHB*aA7P-xtO>?@X!SQ}q?;Al%?YJS5T(*NJywRg3REcyTQ zDMap^E9tB;<{4sc;>{2;%Ps>fWajQ3#usE;fCk(0N_Gf`3RlJ_(JMruPw^J_>tp z=}I?%-DSSy@Nq15O3D8cf7ONiU#{J7%EabkS)St4QK=-bvvE z{_=bw0g6jk0!-#*S&tjM%i_jbp2y*%3Pc+uC8O90hC64k7t8&}Ge6U~k5l(MIoNRUkccKVL=Xnv%Cy}z-k5jD5 z>r%K0EAcZQEFO)a;g_r}K9C-^$09n~#m9npDe9vSejNyY5Oi-n?-5Ok!eCHyxOx>k z!Co=Rz$0yMK~vNgvv2|PHrXZ@tFsPdi(Wh#w}{Nx1f()kJVOJG-jK#d^rR`*6)S@E ztSS08N4+pLpIa{!QC_cI!=or$ZH$;*MWNt|n~OC38g`k=0=Q!=aq6tDa;@)G(OM0M zFjYaWYZCVSZqd47OYp*6Z`lfL*9waN(kz*%EXW1X5mFX!=dh!YHiU`F35q)rh`b3C zemHm_^TZ^oNF5Oa5rl<{LNa0%_8sKSqd^Fhg_~n+f)qWRj6*|wR-faO%U@1Ee)xQF zd3^Hu@YCVJ8PIFJ(ihl93iq(HUgjen9jdc%_O+u2d?TFP3NxMMs>x zc$h<#tH`}Y*0-KNOJiFW)6`;vUeJGP-EEK_j|O=3i?_lCez+)^|!<{*K(P8CXtG^MCu3ww3v z5SrSHF;)-6$KENH&vg%L8ivw;-i05&2n5TpQ_#s7~F#{?%DgCmjDjBElD?njr_JfNnK#&yMf?7&MT2{5NzdW4(Q$mU z{C@v987{V7Xh&Jz9synb$OF0E;*C0vF4qH?dt&Y^M%(L^CoZ_X;-YaXJh5oYNo=0R zPb@iq6dN0my0a_0deId7=9_|OgW9%bwC9Nn)z%yut>?C9;RPh))DfyY=VC~DnK1Nk zM15y)kH91(gl#hD0AG!GG^VA`B*jZQvwZfP#u!~HqC)SZ@h#y##Dme8!BfO>$~G3J zbfRQvp3LEFxXREPSaHE)IP1U4ewIrB3|f;V&3pjOD~#Dv#Ix@))JDMCbsr#QoivDc z)kh}@gS&5VM_{&N1Sv_AS$_xy{cqBkLdCk-md=Ecr1MRhacm<=sYW|TD@F0kZnWoa z=d>sY>^0N3MCmxqtX=d=T*Y*-jxOOftzmwVMyObfwua zJ0aiON`|8UdzWdH!p z!2j9Y$>INRVMxfz|G&cjc@q9lKfa+*P6D#W=0%rb{g7w$qXXMobRDL^KH)yc@EAn_ zuqZ&vDMS1bjwAwmS(Z_Aj&HJ!lWI7X(boA1Fb)te`3(JgdVdo@Dn=#_d%|zo=1D%y zw-$KZGil|>b09CKHCyeD06zSm38Bg%L)o%G4iO2DZ$9*T=VZje-4xIfelD;a2?0|? z-$RVE&Mx9O$)LujT5? z1x_e)oln9WV93!k!1p^HJE8oj6WsuWTb%m0A-A+$o_qA&uL7dj6WeSPBJB&zwoJ* zb_V6-#v5L(8}gK6K1(@<-w0=i_h>;2w*-QcwO({&@;;)=R~H_M}evccK0s{Y8X zB&ag`ThWI6{{2gF)-(CPB>+H`^M4y#+l}=c{^NRu|5V{WJs0!WB=tPLgKwNW9cL%Q^DV^D!NUCv`j`-Z zs7VYt2na!MTF%O#p21FVz?8aha>g9=LiL1J^lQ8^Hs5J-_LklC$q$Y627`;c_8zdq zQx!AH?y4Olc^Iw+;#DKcz%wZrU)*gV_6IfM71_M8!A-+4Bf&?ernQW(nPiS3{vujd z*uU3YE&ST2*&>rI9jq#}~V_rw1P zA5sNT$ct5#Q}*3DE%BsGbqKH6)L3CP)I!tbSE41|5srXwN7cR!Ql&zMO@^}v=4y~! zz>;PdQ0;6c7}~5rG1QvofZ=%uq1hVmo5TGd#F{fPHWgkWz2P5ao%wPx#JvJQBo%{7 zl(WK+gnX4K?_}e!@|ubVcc+8E(dxK}+6;F{%opF>**E}C4ci73L@1`LCHYmLCZCO{ zPpZKs!Qj~VWSpXw*9DmbSO3n+tY(>VJRsAm>hA=gjJPo&sE2HQc^ME7UdWB^Zq`J~ z*Zy3fI?*sHEEB#drOblgDJ+H|@o>zW;b@R_MYf^V*Zq7P47mv4)SM*YF=qA{S6s_@ z+nV5JweSE`lNQS(XGTm(s82!fgfY~zbPhuzO18pp!O+VoRSwz#+fLl)b-P|gHMP5r4ELg zM`?MMI2UxGI4{iYdM`={#6%YKHSF>z;l@=GeIE6LG1)dy(3$&axVe$L>?^BA{pQ=@ z#yAz(X38$!j^b`0JajT&Q*Y&gTY{)mP;9n;Iy(9B!x8&~PIGDs-t21as5vfdc5Y1@ zCB=txW<9^0ADmfhk?0Ax@gQXI2{m`s!8QDTlA=GYV85F?ZQ!kIwj6lJ5gxjSfkKP6S&zfU9lQLY#E8P&JU031elUAls2z?GnPuyJyHC{6r@dg+%Z&0 z5Y!Mz#6FX2+-t%@gSN>rS#1?WHC9}}Vj@_H@i}=wQn)`nic+U8G>=5YlAuS*YGs^; z3L>I~US);WxOa*LBSVCIbU+chDuoiZDy-xUMH`u=3d9%L0+g-nY6I^eEjg9VZu(8qU2G?)H z-R;I2u!P~)`tRvqj^4gqJzC$`u}~xFvJuTr48hp&wa1*32tinVWANe1G?O85#fc}X zs5u#NWros?751)QxfOd_I*%_XG8FNeZJf)TNrgFuKq=}m<(m_BMT2lw5x;a`&}=FZ zdnG#A<3>NwfciK-itoc@A6BMkoJo3mjNuEc>EB_zJ)9<&+<3yxEs$J2W| z>*XMw;#??c2_|_~8@7v^Fh6k56t=-%auvDa+zc~|sL z_R;5jA~~I<9DeOeX@=;-6|R-cS7qJ2GFyiRp&ajLi2EAJKv9a0ZYf@Xa)ZuZ zL=K9>u>z7}@lv74;y@v0+9?{~q@%ElcXv{i2NjWzE_v>DLI>4?N!06MTd+b*(+Sao z7mk3aTc3Ll&6={%`hL(2y*013@(=%V4fZA%gMDN3nd=Tu;ark`5XM`?g(3nj;%d)8 zaxB}_g*i3nz@JfypOxhQ~v#<|;7UA-2v z3@mC%Hl2R^;kQTc;vduYzxcmR*J_S;$pAUYGE&`2hBPUF0e4;No+&JjF^FP*FZqS} ziUku`BVtUD`JkKXZ0X2_H%Z6|72$f|1ZT`jp1W|EV=XP(LCv~DjBn$~4Hf=C753sT z88=vb)fQxGcHeGqUGJ>-c6)Cco8flYd2_wld%M|v+u3St?e1RhcGf#P8$oyN?BK)4 zpAYJT-b+=8R3;{BYkT$R?fR>nNwIs0Nj}GS;m~bbK938(;30xD!TNC&r0IQ}^sFDL zO6wQP2h#G2BNEnRH~fH!+GN-GXu z!}yevJhK^t;A;vzZa7ZMDuYz#Jk>Mnqlvj%-1V9L9xbES>}qc{P5Wh4u~g^hN6)Q} zjAPL*1vZpYI#a?AJl!)Z1<403e44LH48Zf7_#C$2B7iVg4U@nxfGIQuf|PV?xrz#~ zD~fR;H8OPrB2IzS%33C6R^>oSTE7j6z4>kEE(G{t$BeY6FC35#`A?S(KTiRDvr}h| zK?9i;RoNdAFgr(dkX)ZMp$Z*7M9ZJL9ZvHcpoHO>zG7%Uv#p7Q&5ATo(HXTzi_*T9 z@dM}spay#tR%{uQDL=|`1Yme};l+y0y$8mSx2dLHx6OI8u&4E6q*!1IkXUXyBiEl_ z2XQ~1)GL0`n7T0RGy(`StWVYvW@gEaoj5xuvZ2)kA^~8KbTOLD27^Ncuz2yQ7K+)Z zTG6qvd8%o>7-z|{DAZJf5Wl!2*@4_W`&AId29!ay0#90TIzK!M9 zfVx0zlQj(ua!WE4E~@X;|7)Ct;ZlOX&k_HIbW+i2AHqlV4Lpt|=jFQYf z#p1J45Z=DT4~F~XtJA^jWwj{X_&FGv-h^U2-e-NmgSPUT{{H>H>HJ?t@b}s0|IT*9 zJpVVh-)vOpf93yE`Ttb@Kb8Ma<^NOp|9mI@KL&TrokKK_9O?C=Gs!rS^*5TYkA=_W zFiQCknd45OQw{p?%pLujtNjWKcQ?NDHj`%jsar%8AAj;yUY0mbL$^GIly9mFRG5x&5Loby9# zN&w8Y5o|zf>$^MajlV=`Itd{iYL-`bcGutTHr98yUsCkg0ZA3r?ZK?u&|^M)3T#MuE_)-(JAHlnQ)vrsYr;dpKl9xI&dxQ9KE3Y%?8_oQ{7w7yb5L4N$Oo_!Jd-$waE{#Ia#U0 zMpS0jQ~M&E$2^z!inQ$JU6|1K=mvu*#9yXumAIL7>USpzdNX_!a9}N) zewE>U{nP3H`1=1nU0xkC*8ldKjW@>n-*~fL;XhXTze@jC>HjMIU#0)6^nc$C{*TFv zanVzIC-iD8UVy51vmyDu_7~OX#l`7jQ|~t$c8Avuow%Hg^yb#r@b&6s^jg*Y&E`i< zcTGca5vOSc`weri#{vj@!xbkXDHUptTi0G_2p(OTm5cx6U?RFeqx8!NKD8kavo-%btAGYg};zW z$|C;_M$1+I%##05+hgi~8WsL)rTCp zhVkdm|1I8UV9tuw9Dh?{><88VC&K4jtM1;$(1WyDZ1Kn#DMKqYy=do}eTc9>O-L~4 zpd*9U^d{wl>^ZAHt>E%r?6bB$w-fy6z74x~2D&L&gePx!oEd3wu z|I1YW&DQ^InfTuu+dGy1ztaCz`oBv5SLy#M{a>a3`(E^a1}}~VIQkncso;f$kl@vnkV$pI3&NfPE*vFu#FFHu9&ayEQM435gj7l#ta)uPC z4BWRKA`&?}@z)m_q%>PfyxN7vX(3^QS z8!Sm+q0Ix%a{5=f#J_|W$z*){;AueeYimFdJc3hJR3rd~q5FZ*;!`*A#qa^h1TQ+1 zvD3f{O}Z1Tt0y_jy`pMIP&Cb6yA4;qsE^}cMk4`5&pvjVbF3A1t88N|sA&%Ko9d;Qi=7+y2izE?(6Be`jkuXaB!b;r~?p-(owy zVEo{}Y3lsSp$~;WWzdU<{Rcu#Gs1C;PlMq1I4SxT4GX`G&_ui`QgcNQ?&b~09T6E{|nmxgS5Akv;W_y_`iz(`xEegd|l!N4f^6XfJST1 zIU0Pi1wMfl9Hb6Vky?74z$f&26*g(=6'} - dev: true /ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} @@ -11751,7 +11775,6 @@ packages: /progress@2.0.3: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} - dev: true /promise-inflight@1.0.1: resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 55262fe03045..e24f8d6d4f86 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,6 +1,7 @@ packages: - . - packages/angular_devkit/architect + - packages/angular_devkit/architect_cli - packages/angular_devkit/core - packages/angular_devkit/schematics - packages/angular/cli From 5a00d0b5cfa975f6a8bad766a0056de49a410b5f Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Fri, 17 Jan 2025 12:49:17 +0000 Subject: [PATCH 6/7] build: ensure source maps are used for jasmine stack traces `rules_js` doesn't integrate source maps by default, so we are enabling it by default via `defaults2.bzl`. --- tools/defaults2.bzl | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tools/defaults2.bzl b/tools/defaults2.bzl index 8400da44268e..41bba263231c 100644 --- a/tools/defaults2.bzl +++ b/tools/defaults2.bzl @@ -8,10 +8,18 @@ def ts_project(**kwargs): def npm_package(**kwargs): _npm_package(**kwargs) -def jasmine_test(**kwargs): +def jasmine_test(data = [], **kwargs): + # Create relative path to root, from current package dir. Necessary as + # we change the `chdir` below to the package directory. + relative_to_root = "/".join([".."] * len(native.package_name().split("/"))) + _jasmine_test( node_modules = "//:node_modules", chdir = native.package_name(), - args = ["**/*.js"], + args = [ + "--require=%s/node_modules/source-map-support/register.js" % relative_to_root, + "**/*.js", + ], + data = data + ["//:node_modules/source-map-support"], **kwargs ) From a6b5f03adbf7aef39e8280caee35ca8b6437c990 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Fri, 17 Jan 2025 13:05:08 +0000 Subject: [PATCH 7/7] test: improve stability of strategy tests The strategy tests are extremely time-sensitive with regards to the RxJS job logic executing, and the tests currently rely on `setImmediate` to flush/trigger job execution. This seems to be rather unstable via Remote execution, and sensitive to changes with the execution (e.g. injecting source map support or not), so we are stabilizing the tests further by having better time delays for job execution, and by using `setTimeout` for flushing. This seems very sufficient. --- .../architect/src/jobs/strategy_spec.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/angular_devkit/architect/src/jobs/strategy_spec.ts b/packages/angular_devkit/architect/src/jobs/strategy_spec.ts index 4f6ae44b60c1..c73d5dcd8b4a 100644 --- a/packages/angular_devkit/architect/src/jobs/strategy_spec.ts +++ b/packages/angular_devkit/architect/src/jobs/strategy_spec.ts @@ -6,14 +6,14 @@ * found in the LICENSE file at https://angular.dev/license */ -import { promisify } from 'util'; +import timers from 'node:timers/promises'; import { JobState } from './api'; import { createJobHandler } from './create-job-handler'; import { SimpleJobRegistry } from './simple-registry'; import { SimpleScheduler } from './simple-scheduler'; import * as strategy from './strategy'; -const flush = promisify(setImmediate); +const flush = () => timers.setTimeout(1); describe('strategy.serialize()', () => { let registry: SimpleJobRegistry; @@ -37,7 +37,7 @@ describe('strategy.serialize()', () => { setTimeout(() => { finished++; resolve(input.reduce((a, c) => a + c, 0)); - }, 10), + }, 100), ); // eslint-disable-next-line @typescript-eslint/no-explicit-any }) as any, @@ -94,7 +94,7 @@ describe('strategy.serialize()', () => { setTimeout(() => { finished++; resolve(input.reduce((a, c) => a + c, 0)); - }, 10), + }, 100), ); // eslint-disable-next-line @typescript-eslint/no-explicit-any }) as any, @@ -114,7 +114,7 @@ describe('strategy.serialize()', () => { setTimeout(() => { finished++; resolve(input.reduce((a, c) => a + c, 100)); - }, 10), + }, 100), ); // eslint-disable-next-line @typescript-eslint/no-explicit-any }) as any, @@ -179,7 +179,7 @@ describe('strategy.reuse()', () => { setTimeout(() => { finished++; resolve(input.reduce((a, c) => a + c, 0)); - }, 10), + }, 100), ); // eslint-disable-next-line @typescript-eslint/no-explicit-any }) as any, @@ -254,7 +254,7 @@ describe('strategy.memoize()', () => { setTimeout(() => { finished++; resolve(input.reduce((a, c) => a + c, 0)); - }, 10), + }, 100), ); // eslint-disable-next-line @typescript-eslint/no-explicit-any }) as any,