diff --git a/.claude/commands/build-docs.md b/.claude/commands/build-docs.md
index 39d622cd..4cefb6c3 100644
--- a/.claude/commands/build-docs.md
+++ b/.claude/commands/build-docs.md
@@ -10,14 +10,16 @@ Build and serve the `docs/` subproject locally for inspection. Stop immediately
## Workflow
-Run each step sequentially from the `docs/` directory. If any step fails, stop and report the failure clearly.
+Run each step sequentially from the repo root. If any step fails, stop and report the failure clearly.
-1. **Install dependencies**: `cd docs && bundle install`
-2. **Build site**: `cd docs && bundle exec jekyll build`
+1. **Install Ruby dependencies**: `cd docs && bundle install`
+2. **Build the full site**: `make docs` from the repo root. This runs the whole pipeline in order — ts-rs bindings, the generated reference docs and hosted collection bundle (`cargo run -- docs`), the shared `webcomponents/` bundle, the copy into `docs/assets/js/`, then Jekyll.
3. **Serve locally**: `cd docs && bundle exec jekyll serve` (run in background so the session remains interactive; serves on port 4000)
4. **Report**: Confirm the site is running at http://localhost:4000. Let the user know it auto-rebuilds on file changes.
## Notes
+- Use `make docs`, not a bare `bundle exec jekyll build`. Jekyll alone will not regenerate the collection bundle or build the web components, so `/workflows/` pages render an empty graph canvas.
+- `bun` is required for step 2 (the `webcomponents/` build). `docs/assets/js/` is a build artifact and is gitignored.
- If port 4000 is already in use, report the conflict and suggest killing the existing process or using `--port` to pick a different one.
- To stop the server later, kill the background Jekyll process.
diff --git a/.claude/commands/new-collection.md b/.claude/commands/new-collection.md
new file mode 100644
index 00000000..3cddaaca
--- /dev/null
+++ b/.claude/commands/new-collection.md
@@ -0,0 +1,264 @@
+---
+description: Author a new Operator issuetype collection — a shareable AI workflow
+allowed-tools: Bash, Read, Write, Edit, Glob, Grep
+---
+
+# Author a New Collection
+
+Create a new workflow **collection**: a named, versioned bundle of issue types that encodes a coherent process of doing software development with AI agents.
+
+The mechanics are easy; the design is the hard part. workflows allow agents to apply themselves in a deterministic manner.
+
+## Vocabulary — get this right first
+
+Three terms that are easy to conflate:
+
+| Term | What it is |
+|---|---|
+| **Operator workflow** | The step graph itself: an ordered set of typed steps with review gates and reject edges. Lives in an issue type's `steps`. This is the native format. |
+| **Issue type** | One kind of work (`FEAT`, `PRD`, `ELVSTAGE`). Carries identity, input `fields`, and exactly one Operator workflow. |
+| **Collection** | A bundle of issue types that work together. What you are authoring. |
+
+Kanban issue types describe how a *team labels* work; a collection describes how the *agents do* the work.
+
+### Other non-Operator "workflows"
+
+the term _"Workflow"_ is overloaded in the AI space. Operator workflows are json described collections of issuetypes. they can export to other workflows, such as `claude workflows` among others. As a result Operator workflows are meant to compose as broad and neutral as possible, with some opinions about structure and behavior. Define your workflows in the context of the work you want to get done.
+
+## Step 1 — Decide what loop you are encoding
+
+Answer these before opening an editor. If you cannot answer them crisply, the
+collection is not ready to write.
+
+1. **What is the loop?** What repeats, and what ends it? "Implement one
+ right-sized story per fresh agent context" (`ralph_loop`) is a loop.
+ "Do software development" is not.
+2. **What are the work types?** Each issue type must be a *genuinely different
+ shape of work*, not a different priority or label. If two types have the
+ same steps, they are one type with a field.
+3. **Where does state live between steps?** Agents lose context. Name the
+ files or surfaces that carry memory forward (`workflow_hints.memory_surfaces`).
+4. **What are the gates?** Where must a human or a test approve before
+ continuing, and what happens on rejection?
+5. **When does it stop?** Both success and give-up conditions.
+
+Study the shipped collections before inventing a shape — they are short and
+each encodes a real, published methodology:
+
+```bash
+ls src/collections/ # simple, dev_kanban, devops_kanban, operator,
+ # ralph_loop, jr_orchestration, elves_overnight
+cat src/collections/ralph_loop/collection.json
+cat src/collections/dev_kanban/FEAT.json # the canonical multi-step example
+```
+
+## Step 2 — Create the directory
+
+Official/curated collections that ship in the binary live in
+`src/collections//`. Community contributions live in
+`collections/community//` and are hosted-only.
+
+**Pick `src/collections/` only if the collection should be available offline
+to every user.** When in doubt, use `collections/community/`.
+
+```
+/
+├── collection.json # the manifest
+├── icon.svg # Simple Icons-shaped glyph
+├── .json # one per issue type — the Operator workflow
+└── .md # optional ticket template per issue type
+```
+
+`` must match `^[a-z0-9_]{3,64}$` and equal the directory name.
+
+## Step 3 — Write the issue types
+
+One `.json` per issue type. `KEY` matches `^[A-Z][A-Z0-9_]{1,15}$` —
+**no hyphens**, because the hyphen separates the key from the ticket number in
+`FEAT-123-project-summary.md`.
+
+Start from the JSON Schema and a real example:
+
+```bash
+cat src/schemas/issuetype_schema.json # the contract
+cat src/collections/ralph_loop/STORY.json # a 5-step autonomous workflow
+```
+
+Required top-level fields: `key`, `name`, `description`, `mode`, `glyph`,
+`fields`, `steps`. Also set `"$schema": "../../schemas/issuetype_schema.json"`
+so editors validate as you type.
+
+- **`mode`** — `autonomous` (launch and monitor; several run in parallel) or
+ `paired` (needs you in the loop; one at a time). This is a real scheduling
+ constraint, not a hint. Choose `paired` only when a human genuinely must
+ participate throughout.
+- **`glyph`** — one character shown in the TUI. Already in use across
+ collections: `! # % * > ? @ B E F J L P R S T V ~`. Pick something unused and
+ mnemonic.
+- **`color`** — one of `cyan`, `green`, `blue`, `magenta`, `yellow`, `red`.
+- **`fields`** — the ticket's inputs. Types: `string`, `text`, `enum`, `bool`,
+ `date`, `integer`. Use `"auto": "id" | "date" | "branch" | "status"` for
+ values Operator fills in, and mark those `"user_editable": false`.
+
+### Designing the steps
+
+Steps are where the methodology actually lives. Each step is one agent session.
+
+```jsonc
+{
+ "name": "plan", // lowercase identifier
+ "display_name": "Planning", // shown in the UI
+ "outputs": ["plan"], // plan|code|test|pr|ticket|review|report|documentation
+ "prompt": "...", // Handlebars over the ticket's fields: {{ summary }}
+ "allowed_tools": ["Read", "Grep"], // least privilege for this step
+ "artifact_patterns": [".tickets/plans/{{ id }}.md"], // files that signal completion
+ "review_type": "plan", // none|plan|visual|pr — a gate
+ "on_reject": { "goto_step": "plan", "prompt": "Plan rejected: {{ rejection_reason }}..." },
+ "next_step": "build" // omit on the final step
+}
+```
+
+Rules that matter:
+
+- **Chain with `next_step`.** Ordering follows the chain from the first step,
+ then appends anything unreached. Do not rely on array order alone.
+- **`on_reject.goto_step` is the retry edge** — it may point backwards, and
+ usually should point at the step that can actually fix the problem (a failed
+ PR review goes back to `code`, not to `plan`).
+- **One step, one job.** A step that plans *and* implements *and* tests gives
+ the agent no checkpoint and no place to fail cleanly.
+- **Scope `allowed_tools` per step.** A planning step should not have `Write`
+ to source. This is the main safety control you have.
+- **Prompts are Handlebars** over the ticket's fields. Reference only fields
+ you actually declared.
+
+Beyond plain `task` steps, these types exist — use them when the shape calls
+for it, not for novelty: `classifier`, `rag`, `delegator`, `mcp`,
+`multi_model` (fan out, then vote), `multi_prompt`, `matrixed`, `pipeline`.
+
+### Ticket templates
+
+`.md` is the markdown scaffold for a new ticket, with YAML frontmatter
+and Handlebars placeholders. Copy the shape from an existing one:
+
+```bash
+cat src/collections/dev_kanban/FEAT.md
+```
+
+## Step 4 — Write the manifest
+
+```jsonc
+{
+ "schema_version": 1,
+ "id": "", // must equal the directory name
+ "name": "Display Name",
+ "description": "One line. What loop is this, in plain language.",
+ "version": "1.0.0",
+ "publisher": "untra",
+ "author": "you-or-the-methodology-author",
+ "url": "https://github.com/...", // where the methodology comes from
+ "license": "MIT",
+ "tags": ["agentic-loop", "..."],
+ "tier": "community", // or "official" for src/collections/
+ "icon_path": "icon.svg",
+ "created": "YYYY-MM-DD",
+ "updated": "YYYY-MM-DD",
+ "issue_types": [ // display order; also priority order
+ { "key": "PRD", "schema_path": "PRD.json", "template_path": "PRD.md" }
+ ],
+ "workflow_hints": {
+ "loop_kind": "fresh_context_story_loop",
+ "memory_surfaces": ["docs/plan.md"],
+ "review_gates": ["plan_review", "test_suite"],
+ "external_tools": ["git", "gh"],
+ "stop_conditions": ["all stories pass", "budget exhausted"],
+ "runner_semantics": "prompt_driven"
+ },
+ "default_selected": ["PRD"]
+}
+```
+
+**Do not write `checksum` or `schema_checksum`** — the docs generator computes
+them at publish time. `tier: "community"` additionally requires `author`,
+`url`, `license`, and `icon_path`.
+
+`workflow_hints` is descriptive metadata (v1 does not execute it) but it is
+what the catalog page displays, so it is how a reader decides whether to adopt
+your collection. Write it for them, not for the parser.
+
+## Step 5 — Draw the icon
+
+A single-path 24×24 glyph. The full rules and rationale are in
+`docs/design-system/` under "Brand & collection icons"; the short version:
+
+```svg
+
+```
+
+No `fill`, `stroke`, `width`, or `height` — the icon inherits `currentColor`
+and its container's size. The `` must equal the manifest's `name`.
+
+Render it and *look at it* before trusting it — hand-authored path data is easy
+to get subtly wrong, and the test checks shape, not whether the glyph reads:
+
+```bash
+# whichever is available
+rsvg-convert -w 96 -h 96 -b white /icon.svg -o /tmp/icon.png
+magick -background white -density 384 /icon.svg /tmp/icon.png
+```
+
+Then open `/tmp/icon.png`. If neither tool is installed, open the SVG in a
+browser.
+
+## Step 6 — Register it (embedded collections only)
+
+Skip this for `collections/community/`. For `src/collections//`, add an
+entry to `EMBEDDED_COLLECTIONS` in `src/collections/mod.rs`, following the
+existing entries exactly — `manifest`, `icon_svg`, and one `EmbeddedIssueType`
+per key, in the same order as the manifest.
+
+## Step 7 — Validate
+
+Run these in order and fix anything that fails. Do not skip ahead.
+
+```bash
+# Community collections: schema, key grammar, paths, attribution, referenced files
+cargo test --test community_collections
+
+# Icon shape
+cargo test --test svg_icon_standard
+
+# Everything: manifest parsing, embedded/manifest ordering, checksums, generators
+make check
+
+# Publish the bundle and the catalog page
+cargo run -- docs
+```
+
+Then look at the result:
+
+```bash
+make docs
+cd docs/_site && python3 -m http.server 4100
+```
+
+Open `http://localhost:4100/workflows/` — your collection should appear as a
+card — then its page, and step through each issue type's graph. **A workflow
+that looks wrong as a graph is wrong.** Disconnected nodes, a reject edge
+pointing somewhere useless, or a 12-step chain with no gates are all visible
+at a glance and all worth fixing before shipping.
+
+## What good looks like
+
+Before opening a PR, check the collection against its own claims:
+
+- Could someone adopt this without reading the source? The description and
+ `workflow_hints` should be enough.
+- Does each issue type earn its place, or is one of them a field on another?
+- Does every reject edge point at a step that can actually fix the problem?
+- Is `allowed_tools` scoped per step, or did every step get `["*"]`?
+- Does the loop actually terminate, and is that visible in `stop_conditions`?
+
+Submissions are reviewed for prompt quality and safety, not just schema
+validity. A good collection describes a workflow shape worth sharing: what loop
+it runs, what memory it keeps, what gates it enforces, and when it stops.
diff --git a/.githooks/pre-push b/.githooks/pre-push
new file mode 100755
index 00000000..6a3a55f4
--- /dev/null
+++ b/.githooks/pre-push
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+# Committed pre-push hook. Runs the fast lint gate (`make fmt clippy`) before
+# any push so formatting/clippy failures are caught locally instead of on CI.
+# Tests are deliberately excluded — they are too slow for a push gate; run
+# `make check` or `scripts/cicdprep.sh` before opening a PR.
+#
+# Enable once per clone: make install-hooks (sets core.hooksPath=.githooks)
+# Bypass in an emergency: git push --no-verify
+set -euo pipefail
+
+# Resolve the repo root so the hook works regardless of the cwd at push time.
+repo_root="$(git rev-parse --show-toplevel)"
+cd "$repo_root"
+
+echo "pre-push: running lint checks (fmt + clippy)…"
+if ! make fmt clippy; then
+ echo
+ echo "pre-push: lint checks failed — push aborted." >&2
+ echo "Fix the issues above, or bypass with 'git push --no-verify' (not recommended)." >&2
+ exit 1
+fi
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 1a8c212c..6aa25db9 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -52,15 +52,34 @@ jobs:
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: ${{ runner.os }}-cargo-
+ # The frontend is typed against these; generate before anything compiles.
+ # bindings/ is committed — the script regenerates and fails on any
+ # checksum difference vs the checkout (modified or newly exported types).
+ - name: Generate TypeScript bindings and verify they are committed
+ run: |
+ scripts/check-bindings-fresh.sh || {
+ echo "::error::bindings/ is out of date. Run 'make bindings' and commit the result."
+ exit 1
+ }
+
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.14
+ - name: Build shared web components
+ run: |
+ cd webcomponents
+ bun install --frozen-lockfile
+ bun run typecheck
+ bun test
+ bun run build
+
- name: Build UI dist
run: |
cd ui
bun install --frozen-lockfile
+ bun run typecheck
bun run build
DIST_SIZE=$(du -sb dist/ | cut -f1)
echo "UI dist size: ${DIST_SIZE}B ($(echo "scale=1; $DIST_SIZE/1048576" | bc)MB uncompressed)"
@@ -274,6 +293,13 @@ jobs:
# Pinned to match .tool-versions
bun-version: 1.3.14
+ # Shared components first: ui/ imports @operator/webcomponents from its dist.
+ - name: Build shared web components
+ run: |
+ cd webcomponents
+ bun install --frozen-lockfile
+ bun run build
+
# Build embedded web UI for operator binary
- name: Build UI for embedding
run: |
@@ -467,7 +493,6 @@ jobs:
- name: Update package.json versions
run: |
for f in vscode-extension/package.json \
- backstage-server/package.json \
agnt-plugin/package.json \
agnt-plugin/manifest.json; do
jq --arg v "${{ needs.version.outputs.version }}" '.version = $v' "$f" > tmp.json && mv tmp.json "$f"
@@ -506,7 +531,6 @@ jobs:
vscode-extension/src/webhook-server.ts \
opr8r/Cargo.toml opr8r/Cargo.lock \
zed-extension/Cargo.toml zed-extension/extension.toml zed-extension/Cargo.lock \
- backstage-server/package.json \
agnt-plugin/package.json agnt-plugin/manifest.json \
docs/schemas/openapi.json
git commit -m "chore: bump version to v${{ needs.version.outputs.version }} [skip ci]"
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index 3d5ed750..6195f076 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -10,7 +10,12 @@ on:
- 'src/taxonomy/taxonomy.toml'
- 'src/templates/*.json'
- 'src/collections/**'
+ - 'collections/**'
- 'src/schemas/**'
+ # The shared components bundle ships with the site, and the workflow
+ # exporter's ordering rule is mirrored by the graph mapper.
+ - 'webcomponents/**'
+ - 'src/workflow_gen/**'
- '.github/workflows/docs.yml'
workflow_dispatch:
@@ -49,10 +54,36 @@ jobs:
key: ${{ runner.os }}-cargo-docs-${{ hashFiles('**/Cargo.lock') }}
restore-keys: ${{ runner.os }}-cargo-docs-
- # Generate reference documentation from source-of-truth files
+ # The components are typed against these; generate before they compile.
+ - name: Generate TypeScript bindings
+ run: cargo test --locked export_bindings_
+
+ # Shared components, built before Jekyll so the site never needs a
+ # prebuilt bundle committed to the repo.
+ - name: Setup Bun
+ uses: oven-sh/setup-bun@v2
+ with:
+ bun-version: 1.3.14
+
+ - name: Build shared web components
+ working-directory: webcomponents
+ run: |
+ bun install --frozen-lockfile
+ bun run typecheck
+ bun test
+ bun run build
+
+ # Generate reference documentation from source-of-truth files. After the
+ # components so the pipeline matches `make docs` (bindings ->
+ # webcomponents -> generated docs -> Jekyll).
- name: Generate reference docs
run: cargo run --locked -- docs
+ - name: Stage web components into the site
+ run: |
+ mkdir -p docs/assets/js
+ cp webcomponents/dist/elements.js webcomponents/dist/elements.css docs/assets/js/
+
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
@@ -68,6 +99,16 @@ jobs:
run: bundle exec jekyll build
working-directory: docs
+ # The hosted collection bundle is excluded from Jekyll processing (see
+ # docs/_config.yml) and copied in verbatim, so every file operator fetches
+ # matches the SHA-256 recorded in its manifest.
+ - name: Stage the collection bundle verbatim
+ run: cp -R docs/collections docs/_site/
+
+ - name: Verify the served bundle is byte-identical
+ run: |
+ diff -r docs/collections docs/_site/collections
+
- name: Deploy to gh-pages
if: github.event_name == 'workflow_dispatch'
uses: peaceiris/actions-gh-pages@v4
diff --git a/.github/workflows/integration-tests-matrix.yml b/.github/workflows/integration-tests-matrix.yml
index 72a96a96..2e12e0b9 100644
--- a/.github/workflows/integration-tests-matrix.yml
+++ b/.github/workflows/integration-tests-matrix.yml
@@ -535,7 +535,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v6
with:
- node-version: '20'
+ node-version: '22'
cache: 'npm'
cache-dependency-path: vscode-extension/package-lock.json
diff --git a/.github/workflows/vscode-extension.yaml b/.github/workflows/vscode-extension.yaml
index 56f7d65a..75f63dbb 100644
--- a/.github/workflows/vscode-extension.yaml
+++ b/.github/workflows/vscode-extension.yaml
@@ -35,7 +35,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v6
with:
- node-version: '20'
+ node-version: '22'
cache: 'npm'
cache-dependency-path: vscode-extension/package-lock.json
@@ -167,7 +167,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v6
with:
- node-version: '20'
+ node-version: '22'
cache: 'npm'
cache-dependency-path: vscode-extension/package-lock.json
@@ -214,7 +214,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v6
with:
- node-version: '20'
+ node-version: '22'
- name: Install vsce
run: npm install -g @vscode/vsce
diff --git a/.gitignore b/.gitignore
index 8300859d..16b74bf1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,6 +29,10 @@ zed-extension/target/
dist/
node_modules/
+# Shared web-component bundle copied into the docs site by `make docs`.
+# Built from webcomponents/ ahead of the Jekyll build; never committed.
+docs/assets/js/
+
# Test coverage
coverage/
*.lcov
@@ -42,8 +46,9 @@ docs/_site/
# built zed extension
*.wasm
-# vscode-extension generated types (copied from bindings/)
+# generated types copied from bindings/ (bindings/ itself is committed)
vscode-extension/src/generated/
+webcomponents/src/generated/
vscode-extension/out/
vscode-extension/.vscode-test/
test-output.txt
diff --git a/CLAUDE.md b/CLAUDE.md
index 04f85a66..92af3b3c 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -18,6 +18,12 @@ Aim for functional software development with a focus on stateless, single respon
## Development Standards
+1. Ask, don't assume. If something is unclear, ask before writing into a corner. Never make silent assumptions about intent, architecture or requirements.
+2. Consider the simplest solution first. First attempt the simplest approach that could work, then consider abstractions and flexibility with regards to similar implementations.
+3. Avoid changing unrelated code. If a file or function is not part of the current task, do not modify it.
+4. Flag uncertainty explicitly. If you are not confident about an approach or technical detail, say so before proceeding.
+5. I am open to ideas on better approaches or strategies. Speak up and suggest a better course if I am off-course from a better solution.
+
### Mandatory Before Committing
All changes MUST pass these checks before committing. Run them with `make check`,
@@ -37,8 +43,9 @@ cargo test --locked # Run all tests
> deprecation that only surfaces under `--all-targets`), which is how a clippy
> failure can pass locally yet break CI. Always use the full command above.
-Install the pre-push hook once per clone so this gate runs automatically before
-every push:
+Install the pre-push hook once per clone so the fast lint gate (fmt + clippy,
+no tests) runs automatically before every push; the full `make check` remains
+the expectation before opening a PR:
```bash
make install-hooks # sets core.hooksPath=.githooks
@@ -94,7 +101,7 @@ make check
```bash
make check # Full CI-parity gate (fmt + clippy + test)
-make install-hooks # Install the pre-push hook (once per clone)
+make install-hooks # Install the lint-only pre-push hook (once per clone)
cargo fmt # Format code
cargo clippy --locked --all-targets --all-features -- -D warnings # Lint (CI parity)
cargo test # Run all tests
@@ -230,6 +237,9 @@ Operator uses a schema-driven, code-derived documentation strategy to reduce mai
| `src/config.rs` | `docs/configuration/index.md` | Config structure (via schemars) |
| `src/rest/` | `docs/schemas/openapi.json` | REST API spec (via utoipa) |
| `src/docs_gen/llms.rs` + `docs/*/index.md` | `docs/llms.txt` | llms.txt site map for LLMs (no front matter; served verbatim) |
+| `src/collections/*/collection.json` + `collections/community/*/` | `docs/collections/` | Hosted collection bundle: `index.json`, per-collection manifests, issuetype schemas, templates, icons |
+| the same collection sources | `docs/collections/search.json` | Machine-readable collection catalog (also feeds the `/workflows/` page) |
+| the same collection sources | `docs/workflows/` | The workflow catalog page + one page per collection |
### Regenerating Documentation
@@ -242,7 +252,9 @@ cargo run -- docs --only taxonomy
cargo run -- docs --only openapi
cargo run -- docs --only config
-# Available generators: taxonomy, issuetype, metadata, shortcuts, cli, config, openapi
+# `--only` accepts any key from docs_gen::all_generators(); an unknown key
+# prints the full list. `llm-tools` is opt-in only: it is excluded from a full
+# run because docs/llm-tools/index.md is currently maintained by hand.
```
### Auto-Generated File Headers
@@ -258,8 +270,9 @@ All generated files include a header warning:
1. Create a struct implementing `DocGenerator` trait in `src/docs_gen/`
2. Implement `name()`, `source()`, `output_path()`, and `generate()`
-3. Register in `src/docs_gen/mod.rs` `generate_all()` function
-4. Add to CLI match in `src/main.rs` `cmd_docs()`
+3. Register it in `src/docs_gen/mod.rs` `all_generators()` — that one list drives
+ the full run, the `--only` filter, and the CLI help text, so there is nothing
+ to add in `src/main.rs`
## Design & UI Consistency
@@ -277,8 +290,16 @@ it; never re-declare a brand color elsewhere.
| Docs site (Jekyll) | `docs/assets/css/main.css` | Links `tokens.css` (via `_includes/head.html`); style components with `var(--...)`, never raw hex. |
| Embedded SPA (Vite/React) | `ui/src/index.css` + `*.module.css` | Imports `tokens.css`; layers app-only semantic tokens (`--surface`, `--border`, `--danger`, …) on top. Components reference semantic tokens, not raw hex. |
| Ratatui TUI | `src/ui/*.rs` | Terminal can't render hex — match a **semantic role to ANSI** (danger→Red, success→Green, warning→Yellow, focus→Cyan). Reuse `color_for_key`/`glyph_for_key` from `src/templates/mod.rs`; don't re-hardcode issuetype/priority colors. |
-| VS Code webview (MUI) | `vscode-extension/webview-ui/` | **Defer to the VS Code host theme** (`computeStyles.ts` → `createVSCodeTheme.ts`). Apply brand only as accents via `OPERATOR_BRAND`; never override the user's editor theme wholesale. |
+| VS Code webview | `vscode-extension/webview-ui/` | **Defer to the VS Code host theme**: style with raw `var(--vscode-*)` custom properties (`styles/webview.css` + `components/primitives/`). Apply brand only as accents via the `--op-*` variables; never override the user's editor theme wholesale. No MUI/CSS-in-JS — enforced by `tests/ui_packaging.rs`. |
When adding or changing UI: change a brand color in `tokens.css` (web surfaces
follow automatically); reference semantic tokens in new web CSS; map a role to
ANSI in the TUI; and leave the webview deferring to the editor theme.
+
+**Icons.** Every SVG icon follows the Operator icon standard — a single
+monochrome `` on a 24×24 canvas with no `fill`/`stroke`/`width`/`height`,
+so it tints from `currentColor` and sizes to its container on all four
+surfaces. Governed directories: `icons/`, `docs/assets/icons/`,
+`ui/public/icons/`, and each collection's `icon.svg`. Enforced by
+`cargo test --test svg_icon_standard`; the rules and rationale are in
+`docs/design-system/`.
diff --git a/Cargo.lock b/Cargo.lock
index 3d5d93c4..36cce719 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -10,45 +10,47 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
[[package]]
name = "agent-client-protocol"
-version = "0.14.0"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5efba6592048ef8a9ac97de8d79b2d9933d8ac4d94f7a2de102348fed0c61103"
+checksum = "6d87bc7769eba641753ba5dc52f73ec3765d51022c6753bf040967125ddc86a8"
dependencies = [
"agent-client-protocol-derive",
"agent-client-protocol-schema",
+ "async-io",
"async-process",
"blocking",
"futures",
"futures-concurrency",
- "jsonrpcmsg",
"rustc-hash",
- "schemars 1.2.1",
+ "rustix 1.1.4",
+ "schemars 1.2.2",
"serde",
"serde_json",
"shell-words",
"tracing",
"uuid",
+ "windows-sys 0.61.2",
]
[[package]]
name = "agent-client-protocol-derive"
-version = "0.14.0"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d176a10d4cb06e0262a738c3c5bf21ff0968db13a666e31cbca94a3d3d72e7c"
+checksum = "3abd4080f51e4f24f5042beb7fb7a66ede29a2dc1c2582c329532e1c27264ddc"
dependencies = [
"quote",
- "syn",
+ "syn 3.0.3",
]
[[package]]
name = "agent-client-protocol-schema"
-version = "0.13.6"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c290bfa00c6b52339db66f8e9cf711d5f08530800529f7d619ff24d6cba253d0"
+checksum = "d5c231915b4ab578c722eca2d1bd7df4d300bfd6cac3b8e9f0d1e3ddc95b187c"
dependencies = [
"anyhow",
"derive_more",
- "schemars 1.2.1",
+ "schemars 1.2.2",
"serde",
"serde_json",
"serde_with",
@@ -132,9 +134,9 @@ dependencies = [
[[package]]
name = "anyhow"
-version = "1.0.102"
+version = "1.0.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
+checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470"
[[package]]
name = "arbitrary"
@@ -244,7 +246,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -273,13 +275,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de"
[[package]]
name = "async-trait"
-version = "0.1.89"
+version = "0.1.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
+checksum = "ae36dc4177970ef04fde5178d3e2429882def40e57a451f919c098f72baa6cec"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 3.0.3",
]
[[package]]
@@ -347,28 +349,6 @@ dependencies = [
"tracing",
]
-[[package]]
-name = "axum-extra"
-version = "0.10.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9963ff19f40c6102c76756ef0a46004c0d58957d87259fc9208ff8441c12ab96"
-dependencies = [
- "axum",
- "axum-core",
- "bytes",
- "futures-util",
- "http",
- "http-body",
- "http-body-util",
- "mime",
- "pin-project-lite",
- "rustversion",
- "serde_core",
- "tower-layer",
- "tower-service",
- "tracing",
-]
-
[[package]]
name = "axum-macros"
version = "0.5.1"
@@ -377,7 +357,7 @@ checksum = "7aa268c23bfbbd2c4363b9cd302a4f504fb2a9dfe7e3451d66f35dd392e20aca"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -405,22 +385,13 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "2.13.0"
+version = "2.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8"
+checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da"
dependencies = [
"serde_core",
]
-[[package]]
-name = "block-buffer"
-version = "0.10.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
-dependencies = [
- "generic-array",
-]
-
[[package]]
name = "block-buffer"
version = "0.12.1"
@@ -469,9 +440,9 @@ checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
[[package]]
name = "bytes"
-version = "1.11.1"
+version = "1.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
+checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04"
[[package]]
name = "cassowary"
@@ -490,9 +461,9 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.2.62"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1dce859f0832a7d088c4f1119888ab94ef4b5d6795d1ce05afb7fe159d79f98"
+checksum = "5add81bb678e6cb321aff7fa0dc7689ad82b112dbc032cea19f91d6b8e3582b9"
dependencies = [
"find-msvc-tools",
"shlex",
@@ -506,9 +477,20 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
[[package]]
name = "cfg_aliases"
-version = "0.2.1"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
+checksum = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527"
+
+[[package]]
+name = "chacha20"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d524456ba66e72eb8b115ff89e01e497f8e6d11d78b70b1aa13c0fbd97540a81"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "rand_core",
+]
[[package]]
name = "chrono"
@@ -526,9 +508,9 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.6.1"
+version = "4.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51"
+checksum = "301b56658598e48f3648647ac6fc887be7e7108eddfa4e9b63fcf3ec58c0cadf"
dependencies = [
"clap_builder",
"clap_derive",
@@ -536,9 +518,9 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.6.0"
+version = "4.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f"
+checksum = "94a65403d1a1bd28f7dc68eb8506e8874808ee5eecb59298de588e2e1407a078"
dependencies = [
"anstream",
"anstyle",
@@ -548,14 +530,14 @@ dependencies = [
[[package]]
name = "clap_derive"
-version = "4.6.1"
+version = "4.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9"
+checksum = "d012d2b9d65aca7f18f4d9878a045bc17899bba951561ba5ec3c2ba1eed9a061"
dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn",
+ "syn 3.0.3",
]
[[package]]
@@ -572,9 +554,9 @@ checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570"
[[package]]
name = "compact_str"
-version = "0.8.1"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b79c4069c6cad78e2e0cdfcbd26275770669fb39fd308a752dc110e83b9af32"
+checksum = "7fd622ebbb56a5b2ccb651b32b911cdeb2a9b4b11776b2473bf26a26a286244e"
dependencies = [
"castaway",
"cfg-if",
@@ -595,9 +577,9 @@ dependencies = [
[[package]]
name = "config"
-version = "0.15.23"
+version = "0.15.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f316c6237b2d38be61949ecd15268a4c6ca32570079394a2444d9ce2c72a72d8"
+checksum = "b85f248a4de22d204ceabc6299d89d2c70fbd7f09fea53c06c852369652d8139"
dependencies = [
"async-trait",
"convert_case 0.6.0",
@@ -683,15 +665,6 @@ version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
-[[package]]
-name = "cpufeatures"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
-dependencies = [
- "libc",
-]
-
[[package]]
name = "cpufeatures"
version = "0.3.0"
@@ -712,18 +685,18 @@ dependencies = [
[[package]]
name = "crossbeam-channel"
-version = "0.5.15"
+version = "0.5.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2"
+checksum = "d85363c37faeca707aef026efa9f3b34d077bce547e48f770770625c6013679e"
dependencies = [
"crossbeam-utils",
]
[[package]]
name = "crossbeam-utils"
-version = "0.8.21"
+version = "0.8.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
+checksum = "61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17"
[[package]]
name = "crossterm"
@@ -731,7 +704,7 @@ version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6"
dependencies = [
- "bitflags 2.13.0",
+ "bitflags 2.13.1",
"crossterm_winapi",
"mio",
"parking_lot",
@@ -756,16 +729,6 @@ version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
-[[package]]
-name = "crypto-common"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a"
-dependencies = [
- "generic-array",
- "typenum",
-]
-
[[package]]
name = "crypto-common"
version = "0.2.2"
@@ -806,7 +769,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -819,7 +782,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -830,7 +793,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead"
dependencies = [
"darling_core 0.20.11",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -841,7 +804,7 @@ checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d"
dependencies = [
"darling_core 0.23.0",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -850,7 +813,6 @@ version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c"
dependencies = [
- "powerfmt",
"serde_core",
]
@@ -862,7 +824,7 @@ checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -883,7 +845,7 @@ dependencies = [
"darling 0.20.11",
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -893,7 +855,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c"
dependencies = [
"derive_builder_core",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -915,29 +877,19 @@ dependencies = [
"proc-macro2",
"quote",
"rustc_version",
- "syn",
+ "syn 2.0.119",
"unicode-xid",
]
-[[package]]
-name = "digest"
-version = "0.10.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
-dependencies = [
- "block-buffer 0.10.4",
- "crypto-common 0.1.7",
-]
-
[[package]]
name = "digest"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2"
dependencies = [
- "block-buffer 0.12.1",
+ "block-buffer",
"const-oid",
- "crypto-common 0.2.2",
+ "crypto-common",
]
[[package]]
@@ -988,19 +940,19 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38"
dependencies = [
- "bitflags 2.13.0",
+ "bitflags 2.13.1",
"objc2",
]
[[package]]
name = "displaydoc"
-version = "0.2.5"
+version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
+checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 3.0.3",
]
[[package]]
@@ -1020,9 +972,9 @@ checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555"
[[package]]
name = "either"
-version = "1.16.0"
+version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e"
+checksum = "9e5e8f6c15a24b9a3ee5efec809ccd006d3b30e8b3bb63c39af737c7f87daa1d"
[[package]]
name = "encoding_rs"
@@ -1057,7 +1009,7 @@ checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -1089,11 +1041,10 @@ dependencies = [
[[package]]
name = "event-listener"
-version = "5.4.1"
+version = "5.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab"
+checksum = "5a23add41df1562121a9393cb065eab5146a1242410f23a644851e90cfd669d2"
dependencies = [
- "concurrent-queue",
"parking",
"pin-project-lite",
]
@@ -1110,9 +1061,9 @@ dependencies = [
[[package]]
name = "fastrand"
-version = "2.4.1"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6"
+checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223"
[[package]]
name = "filetime"
@@ -1200,9 +1151,9 @@ dependencies = [
[[package]]
name = "futures"
-version = "0.3.32"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d"
+checksum = "a88cf1f829d945f548cf8fec32c61b1f202b6d93b45848602fc02af4b12ad218"
dependencies = [
"futures-channel",
"futures-core",
@@ -1215,9 +1166,9 @@ dependencies = [
[[package]]
name = "futures-channel"
-version = "0.3.32"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d"
+checksum = "262590f4fe6afeb0bc83be1daa64e52657fe185690a958af7f3ad0e92085c5ae"
dependencies = [
"futures-core",
"futures-sink",
@@ -1238,15 +1189,15 @@ dependencies = [
[[package]]
name = "futures-core"
-version = "0.3.32"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"
+checksum = "2cd50c473c80f6d7c3670a752354b8e569b1a7cbfdc0419ec88e5edad85e0dc7"
[[package]]
name = "futures-executor"
-version = "0.3.32"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d"
+checksum = "6754879cc9f2c66f88c6e5c35344bb0bdb0708b0352b1201815667c7eabc7458"
dependencies = [
"futures-core",
"futures-task",
@@ -1255,9 +1206,9 @@ dependencies = [
[[package]]
name = "futures-io"
-version = "0.3.32"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718"
+checksum = "4577ecaa3c4f96589d473f679a71b596316f6641bc350038b962a5daf0085d7a"
[[package]]
name = "futures-lite"
@@ -1274,32 +1225,32 @@ dependencies = [
[[package]]
name = "futures-macro"
-version = "0.3.32"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b"
+checksum = "2d6d3cde68c518367be28956066ddfef33813991b77a55005a69dae04bf3b10b"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
name = "futures-sink"
-version = "0.3.32"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893"
+checksum = "e34418ac499d6305c2fb5ad0ed2f6ac998c5f8ca209b4510f7f94242c647e307"
[[package]]
name = "futures-task"
-version = "0.3.32"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393"
+checksum = "b231ed28831efb4a61a08580c4bc233ec56bc009f4cd8f52da2c3cb97df0c109"
[[package]]
name = "futures-util"
-version = "0.3.32"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6"
+checksum = "a77a90a256fce34da66415271e30f94ee91c57b04b8a2c042d9cf3220179deaa"
dependencies = [
"futures-channel",
"futures-core",
@@ -1312,16 +1263,6 @@ dependencies = [
"slab",
]
-[[package]]
-name = "generic-array"
-version = "0.14.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
-dependencies = [
- "typenum",
- "version_check",
-]
-
[[package]]
name = "getrandom"
version = "0.2.17"
@@ -1337,36 +1278,23 @@ dependencies = [
[[package]]
name = "getrandom"
-version = "0.3.4"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
+checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099"
dependencies = [
"cfg-if",
"js-sys",
"libc",
- "r-efi 5.3.0",
- "wasip2",
+ "r-efi",
+ "rand_core",
"wasm-bindgen",
]
-[[package]]
-name = "getrandom"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555"
-dependencies = [
- "cfg-if",
- "libc",
- "r-efi 6.0.0",
- "wasip2",
- "wasip3",
-]
-
[[package]]
name = "glob"
-version = "0.3.3"
+version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280"
+checksum = "e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b"
[[package]]
name = "gloo-timers"
@@ -1382,9 +1310,9 @@ dependencies = [
[[package]]
name = "h2"
-version = "0.4.14"
+version = "0.4.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "171fefbc92fe4a4de27e0698d6a5b392d6a0e333506bc49133760b3bcf948733"
+checksum = "6cb093c84e8bd9b188d4c4a8cb6579fc016968d14c99882163cd3ff402a4f155"
dependencies = [
"atomic-waker",
"bytes",
@@ -1401,9 +1329,9 @@ dependencies = [
[[package]]
name = "handlebars"
-version = "6.4.1"
+version = "6.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d43ccdfe15a81ab0a8af639e90254227c9a46afd9c5f5b6ec7efaa345c4b0f00"
+checksum = "4633d16a2350341713c379d6d06a4b9e1845329386026a49ce4fd09c2f3b16f6"
dependencies = [
"derive_builder",
"log",
@@ -1412,7 +1340,7 @@ dependencies = [
"pest_derive",
"serde",
"serde_json",
- "thiserror 2.0.18",
+ "thiserror 2.0.19",
]
[[package]]
@@ -1482,9 +1410,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "http"
-version = "1.4.1"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8be7462df143984c4598a256ef469b251d7d7f9e271135073e78fc535414f3d0"
+checksum = "918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0"
dependencies = [
"bytes",
"itoa",
@@ -1492,9 +1420,9 @@ dependencies = [
[[package]]
name = "http-body"
-version = "1.0.1"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
+checksum = "ca2a8f2913ee65f60facd6a5905613afaa448497a0230cc41ce022d93290bc2c"
dependencies = [
"bytes",
"http",
@@ -1502,9 +1430,9 @@ dependencies = [
[[package]]
name = "http-body-util"
-version = "0.1.3"
+version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a"
+checksum = "e9f41fd6a08e4d4ec69df65976da761afd5ad5e58a9d4acb46bd1c953a9e3ff2"
dependencies = [
"bytes",
"futures-core",
@@ -1527,18 +1455,18 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
[[package]]
name = "hybrid-array"
-version = "0.4.12"
+version = "0.4.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9155a582abd142abc056962c29e3ce5ff2ad5469f4246b537ed42c5deba857da"
+checksum = "707114b52a152fa7bdb290cd7cd5912d9467273b6d74e21b8d81aca1f8533f6b"
dependencies = [
"typenum",
]
[[package]]
name = "hyper"
-version = "1.9.0"
+version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca"
+checksum = "d22053281f852e11534f5198498373cbb59295120a20771d90f7ed1897490a72"
dependencies = [
"atomic-waker",
"bytes",
@@ -1719,12 +1647,6 @@ dependencies = [
"zerovec",
]
-[[package]]
-name = "id-arena"
-version = "2.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954"
-
[[package]]
name = "ident_case"
version = "1.0.1"
@@ -1797,20 +1719,20 @@ dependencies = [
[[package]]
name = "inotify"
-version = "0.11.2"
+version = "0.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "533e68a5842e734946fe159fb03fc9bbbb254f590dd0d8ad321ae5ff7beca2c1"
+checksum = "153be1941a183ec9ccd095ddbe17a8b8d435ef6c76e9e02451b933c3999af2c8"
dependencies = [
- "bitflags 2.13.0",
+ "bitflags 2.13.1",
"inotify-sys",
"libc",
]
[[package]]
name = "inotify-sys"
-version = "0.1.5"
+version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
+checksum = "c033f80b2c113cdf91ab7a33faa9cbc014726dcad99880c8609af2a370edf37d"
dependencies = [
"libc",
]
@@ -1825,7 +1747,7 @@ dependencies = [
"indoc",
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -1866,13 +1788,12 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
[[package]]
name = "js-sys"
-version = "0.3.99"
+version = "0.3.103"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "142bc4740e452c1e57ade0cbc129f139c9093e354346f0872ef985f4f5cf5f11"
+checksum = "53b44bfcdb3f8d5837a46dae1ca9660a837176eee74a28b229bc626816589102"
dependencies = [
"cfg-if",
"futures-util",
- "once_cell",
"wasm-bindgen",
]
@@ -1887,21 +1808,11 @@ dependencies = [
"serde",
]
-[[package]]
-name = "jsonrpcmsg"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d833a15225c779251e13929203518c2ff26e2fe0f322d584b213f4f4dad37bd"
-dependencies = [
- "serde",
- "serde_json",
-]
-
[[package]]
name = "kqueue"
-version = "1.1.1"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eac30106d7dce88daf4a3fcb4879ea939476d5074a9b7ddd0fb97fa4bed5596a"
+checksum = "273c0752728918e0ac4976f2b275b6fefb9ecd400585dec929419f3844cd87b5"
dependencies = [
"kqueue-sys",
"libc",
@@ -1913,7 +1824,7 @@ version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07293a4e297ac234359b510362495713f75ea345d5307140414f20c69ffeb087"
dependencies = [
- "bitflags 2.13.0",
+ "bitflags 2.13.1",
"libc",
]
@@ -1923,23 +1834,17 @@ version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
-[[package]]
-name = "leb128fmt"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
-
[[package]]
name = "libc"
-version = "0.2.186"
+version = "0.2.189"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
+checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
[[package]]
name = "libredox"
-version = "0.1.16"
+version = "0.1.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c"
+checksum = "c943259e342f1e06ff2da7a83eabdfe7f92ce10262688dbf1895ff0b3e6e4652"
dependencies = [
"libc",
]
@@ -1973,9 +1878,9 @@ dependencies = [
[[package]]
name = "log"
-version = "0.4.30"
+version = "0.4.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "616ec5685824bcc94416c6d4a7a446eea774a31efd7062c8480ba6fd06d7a6e5"
+checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
[[package]]
name = "lru"
@@ -1994,9 +1899,9 @@ checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154"
[[package]]
name = "mac-notification-sys"
-version = "0.6.14"
+version = "0.6.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04fd0110fd05744c3c904acf1a8ca624a721d75a35638f127cd5fb6b7ccfb1bf"
+checksum = "fd604973958ddcc11b561193c0fb96ba146506ef2f231ef2e7c35fd2cbc9beca"
dependencies = [
"cc",
"log",
@@ -2023,9 +1928,9 @@ checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3"
[[package]]
name = "memchr"
-version = "2.8.0"
+version = "2.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
+checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
[[package]]
name = "memoffset"
@@ -2064,9 +1969,9 @@ dependencies = [
[[package]]
name = "mio"
-version = "1.2.0"
+version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1"
+checksum = "30d65c71f1ce40ab09135ce117d742b9f8a19ff91a41a8b57ed50bc2de59c427"
dependencies = [
"libc",
"log",
@@ -2097,7 +2002,7 @@ version = "7.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c533b4c39709f9ba5005d8002048266593c1cfaf3c5f0739d5b8ab0c6c504009"
dependencies = [
- "bitflags 2.13.0",
+ "bitflags 2.13.1",
"filetime",
"fsevent-sys",
"inotify 0.10.2",
@@ -2116,9 +2021,9 @@ version = "8.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3"
dependencies = [
- "bitflags 2.13.0",
+ "bitflags 2.13.1",
"fsevent-sys",
- "inotify 0.11.2",
+ "inotify 0.11.4",
"kqueue",
"libc",
"log",
@@ -2130,9 +2035,9 @@ dependencies = [
[[package]]
name = "notify-rust"
-version = "4.17.0"
+version = "4.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50ff2e74231b72c832d82982193b417f230945be6bdb5575b251d941d31adb00"
+checksum = "c5b4c1b4f2aa9f25f63a7a49d3dd0ed567b3670da15330a66b29434be899b891"
dependencies = [
"futures-lite",
"log",
@@ -2157,7 +2062,7 @@ version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a"
dependencies = [
- "bitflags 2.13.0",
+ "bitflags 2.13.1",
]
[[package]]
@@ -2186,9 +2091,9 @@ checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441"
[[package]]
name = "num-modular"
-version = "0.6.1"
+version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17bb261bf36fa7d83f4c294f834e91256769097b3cb505d44831e0a179ac647f"
+checksum = "fc41a1374056e9672221567958a66c16be12d0e2c1b408761e14d901c237d5e0"
[[package]]
name = "num-order"
@@ -2223,7 +2128,7 @@ version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
dependencies = [
- "bitflags 2.13.0",
+ "bitflags 2.13.1",
"dispatch2",
"objc2",
]
@@ -2240,7 +2145,7 @@ version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272"
dependencies = [
- "bitflags 2.13.0",
+ "bitflags 2.13.1",
"block2",
"libc",
"objc2",
@@ -2282,11 +2187,11 @@ checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
[[package]]
name = "openssl"
-version = "0.10.80"
+version = "0.10.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a45fa2aa886c42762255da344f0a0d313e254066c46aad76f300c3d3da62d967"
+checksum = "77823a27f0babb03091cb9ed9ef80af3b39dbc82f97e8fa530374b7dafd87a45"
dependencies = [
- "bitflags 2.13.0",
+ "bitflags 2.13.1",
"cfg-if",
"foreign-types",
"libc",
@@ -2302,7 +2207,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -2313,9 +2218,9 @@ checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe"
[[package]]
name = "openssl-sys"
-version = "0.9.116"
+version = "0.9.117"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f28a22dc7140cda5f096e5e7724a6962ca81a7f8bfd2979f9b18c11af56318c4"
+checksum = "b47e7e6bb2c38cd930d25a23b40fa52e068c10e85f3e03a7f5ba5aaca5713695"
dependencies = [
"cc",
"libc",
@@ -2331,7 +2236,6 @@ dependencies = [
"anyhow",
"async-trait",
"axum",
- "axum-extra",
"backon",
"chrono",
"clap",
@@ -2354,19 +2258,19 @@ dependencies = [
"regex",
"reqwest",
"rust-embed",
- "schemars 1.2.1",
+ "schemars 1.2.2",
"serde",
"serde_json",
"serde_yaml",
- "sha2 0.11.0",
+ "sha2",
"sysinfo",
"tempfile",
- "thiserror 2.0.18",
+ "thiserror 2.0.19",
"tokio",
"tokio-stream",
"toml",
"tower",
- "tower-http",
+ "tower-http 0.7.0",
"tracing",
"tracing-appender",
"tracing-subscriber",
@@ -2469,9 +2373,9 @@ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
[[package]]
name = "pest"
-version = "2.8.6"
+version = "2.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0848c601009d37dfa3430c4666e147e49cdcf1b92ecd3e63657d8a5f19da662"
+checksum = "7df728be843c7070fab6ab7c328c4e9e9d78e23bf749c0669c86ee7ebfa050a2"
dependencies = [
"memchr",
"ucd-trie",
@@ -2479,9 +2383,9 @@ dependencies = [
[[package]]
name = "pest_derive"
-version = "2.8.6"
+version = "2.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11f486f1ea21e6c10ed15d5a7c77165d0ee443402f0780849d1768e7d9d6fe77"
+checksum = "9e2dd6fc3b26b3462ee188aac870f5a41d398f1cd5e2408d16531bd71c9591fd"
dependencies = [
"pest",
"pest_generator",
@@ -2489,25 +2393,24 @@ dependencies = [
[[package]]
name = "pest_generator"
-version = "2.8.6"
+version = "2.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8040c4647b13b210a963c1ed407c1ff4fdfa01c31d6d2a098218702e6664f94f"
+checksum = "6a7a9205cfb6f596a9e8b689c0a15f9ceb7a1aafae7aaf788150ac65b29975b6"
dependencies = [
"pest",
"pest_meta",
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
name = "pest_meta"
-version = "2.8.6"
+version = "2.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89815c69d36021a140146f26659a81d6c2afa33d216d736dd4be5381a7362220"
+checksum = "85abd351c0de1e8384fc791a0737111a350394937e92b956b743dac12429f57c"
dependencies = [
"pest",
- "sha2 0.10.9",
]
[[package]]
@@ -2527,7 +2430,7 @@ checksum = "c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -2582,25 +2485,6 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
-[[package]]
-name = "ppv-lite86"
-version = "0.2.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
-dependencies = [
- "zerocopy",
-]
-
-[[package]]
-name = "prettyplease"
-version = "0.2.37"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
-dependencies = [
- "proc-macro2",
- "syn",
-]
-
[[package]]
name = "proc-macro-crate"
version = "3.5.0"
@@ -2612,27 +2496,18 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.106"
+version = "1.0.107"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
+checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
dependencies = [
"unicode-ident",
]
-[[package]]
-name = "quick-xml"
-version = "0.37.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb"
-dependencies = [
- "memchr",
-]
-
[[package]]
name = "quinn"
-version = "0.11.9"
+version = "0.11.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20"
+checksum = "0c1a41e437b6bbd489372cd4971de128e85c855f56c57f283d20ff016cf7c0a8"
dependencies = [
"bytes",
"cfg_aliases",
@@ -2642,7 +2517,7 @@ dependencies = [
"rustc-hash",
"rustls",
"socket2",
- "thiserror 2.0.18",
+ "thiserror 2.0.19",
"tokio",
"tracing",
"web-time",
@@ -2650,20 +2525,21 @@ dependencies = [
[[package]]
name = "quinn-proto"
-version = "0.11.14"
+version = "0.11.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098"
+checksum = "2f4bfc015262b9df63c8845072ce59068853ff5872180c2ce2f13038b970e560"
dependencies = [
"bytes",
- "getrandom 0.3.4",
+ "getrandom 0.4.3",
"lru-slab",
"rand",
+ "rand_pcg",
"ring",
"rustc-hash",
"rustls",
"rustls-pki-types",
"slab",
- "thiserror 2.0.18",
+ "thiserror 2.0.19",
"tinyvec",
"tracing",
"web-time",
@@ -2671,33 +2547,27 @@ dependencies = [
[[package]]
name = "quinn-udp"
-version = "0.5.14"
+version = "0.5.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd"
+checksum = "35a133f956daabe89a61a685c2649f13d82d5aa4bd5d12d1277e1072a21c0694"
dependencies = [
"cfg_aliases",
"libc",
"once_cell",
"socket2",
"tracing",
- "windows-sys 0.60.2",
+ "windows-sys 0.61.2",
]
[[package]]
name = "quote"
-version = "1.0.45"
+version = "1.0.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
+checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
dependencies = [
"proc-macro2",
]
-[[package]]
-name = "r-efi"
-version = "5.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
-
[[package]]
name = "r-efi"
version = "6.0.0"
@@ -2706,31 +2576,28 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
[[package]]
name = "rand"
-version = "0.9.4"
+version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea"
+checksum = "c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80"
dependencies = [
- "rand_chacha",
+ "chacha20",
+ "getrandom 0.4.3",
"rand_core",
]
[[package]]
-name = "rand_chacha"
-version = "0.9.0"
+name = "rand_core"
+version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
-dependencies = [
- "ppv-lite86",
- "rand_core",
-]
+checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69"
[[package]]
-name = "rand_core"
-version = "0.9.5"
+name = "rand_pcg"
+version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c"
+checksum = "caa0f4137e1c0a72f4c651489402276c8e8e1cf081f3b0ba156d2cbeef09e86a"
dependencies = [
- "getrandom 0.3.4",
+ "rand_core",
]
[[package]]
@@ -2739,7 +2606,7 @@ version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eabd94c2f37801c20583fc49dd5cd6b0ba68c716787c2dd6ed18571e1e63117b"
dependencies = [
- "bitflags 2.13.0",
+ "bitflags 2.13.1",
"cassowary",
"compact_str",
"crossterm",
@@ -2760,7 +2627,7 @@ version = "0.5.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
dependencies = [
- "bitflags 2.13.0",
+ "bitflags 2.13.1",
]
[[package]]
@@ -2782,34 +2649,34 @@ checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac"
dependencies = [
"getrandom 0.2.17",
"libredox",
- "thiserror 2.0.18",
+ "thiserror 2.0.19",
]
[[package]]
name = "ref-cast"
-version = "1.0.25"
+version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d"
+checksum = "216e8f773d7923bcba9ceb86a86c93cabb3903a11872fc3f138c49630e50b96d"
dependencies = [
"ref-cast-impl",
]
[[package]]
name = "ref-cast-impl"
-version = "1.0.25"
+version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da"
+checksum = "2c9283685feec7d69af75fb0e858d5e7378f33fe4fc699383b2916ab9273e03c"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 3.0.3",
]
[[package]]
name = "regex"
-version = "1.12.3"
+version = "1.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276"
+checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d"
dependencies = [
"aho-corasick",
"memchr",
@@ -2819,9 +2686,9 @@ dependencies = [
[[package]]
name = "regex-automata"
-version = "0.4.14"
+version = "0.4.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f"
+checksum = "8fcfdb36bda0c880c5931cdc7a2bcdc8ba4556847b9d912bca70bc94708711ad"
dependencies = [
"aho-corasick",
"memchr",
@@ -2830,9 +2697,9 @@ dependencies = [
[[package]]
name = "regex-syntax"
-version = "0.8.10"
+version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a"
+checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
[[package]]
name = "reqwest"
@@ -2871,7 +2738,7 @@ dependencies = [
"tokio-native-tls",
"tokio-rustls",
"tower",
- "tower-http",
+ "tower-http 0.6.11",
"tower-service",
"url",
"wasm-bindgen",
@@ -2896,11 +2763,11 @@ dependencies = [
[[package]]
name = "ron"
-version = "0.12.1"
+version = "0.12.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4147b952f3f819eca0e99527022f7d6a8d05f111aeb0a62960c74eb283bec8fc"
+checksum = "81116b9531d61eabc41aeb228e4b6b2435bcca3233b98cf3b3077d4e6e9debb3"
dependencies = [
- "bitflags 2.13.0",
+ "bitflags 2.13.1",
"once_cell",
"serde",
"serde_derive",
@@ -2910,9 +2777,9 @@ dependencies = [
[[package]]
name = "rust-embed"
-version = "8.11.0"
+version = "8.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04113cb9355a377d83f06ef1f0a45b8ab8cd7d8b1288160717d66df5c7988d27"
+checksum = "e9e7760e252aaba7b09f4be00e36476cf585bdb68a53552ac954cdf504ab4bc9"
dependencies = [
"rust-embed-impl",
"rust-embed-utils",
@@ -2921,24 +2788,25 @@ dependencies = [
[[package]]
name = "rust-embed-impl"
-version = "8.11.0"
+version = "8.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da0902e4c7c8e997159ab384e6d0fc91c221375f6894346ae107f47dd0f3ccaa"
+checksum = "3bcfc4d6f53af43755f7a723e4b6b8794fcce052a178dd8c6c1dadc5f5343097"
dependencies = [
+ "mime_guess",
"proc-macro2",
"quote",
"rust-embed-utils",
- "syn",
+ "syn 2.0.119",
"walkdir",
]
[[package]]
name = "rust-embed-utils"
-version = "8.11.0"
+version = "8.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bcdef0be6fe7f6fa333b1073c949729274b05f123a0ad7efcb8efd878e5c3b1"
+checksum = "42ffa149f6aa81b58a5b3011d01a857c4ed12c7a732d2c51947a4c7c692185f0"
dependencies = [
- "sha2 0.10.9",
+ "sha2",
"walkdir",
]
@@ -2954,9 +2822,9 @@ dependencies = [
[[package]]
name = "rustc-hash"
-version = "2.1.2"
+version = "2.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe"
+checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d"
[[package]]
name = "rustc_version"
@@ -2973,7 +2841,7 @@ version = "0.38.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
dependencies = [
- "bitflags 2.13.0",
+ "bitflags 2.13.1",
"errno",
"libc",
"linux-raw-sys 0.4.15",
@@ -2986,7 +2854,7 @@ version = "1.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
dependencies = [
- "bitflags 2.13.0",
+ "bitflags 2.13.1",
"errno",
"libc",
"linux-raw-sys 0.12.1",
@@ -2995,9 +2863,9 @@ dependencies = [
[[package]]
name = "rustls"
-version = "0.23.40"
+version = "0.23.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef86cd5876211988985292b91c96a8f2d298df24e75989a43a3c73f2d4d8168b"
+checksum = "0283386ce02abc0151e1761d08802dfe86c173b0b494af5cbc086574e453da06"
dependencies = [
"once_cell",
"ring",
@@ -3009,9 +2877,9 @@ dependencies = [
[[package]]
name = "rustls-pki-types"
-version = "1.14.1"
+version = "1.15.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30a7197ae7eb376e574fe940d068c30fe0462554a3ddbe4eca7838e049c937a9"
+checksum = "2f4925028c7eb5d1fcdaf196971378ed9d2c1c4efc7dc5d011256f76c99c0a96"
dependencies = [
"web-time",
"zeroize",
@@ -3030,9 +2898,9 @@ dependencies = [
[[package]]
name = "rustversion"
-version = "1.0.22"
+version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
+checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
[[package]]
name = "ryu"
@@ -3072,9 +2940,9 @@ dependencies = [
[[package]]
name = "schemars"
-version = "1.2.1"
+version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc"
+checksum = "687274d293b6cdc6e73e0fee520bf2049650090d7164f87672d212a3c530cf4a"
dependencies = [
"chrono",
"dyn-clone",
@@ -3087,14 +2955,14 @@ dependencies = [
[[package]]
name = "schemars_derive"
-version = "1.2.1"
+version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d115b50f4aaeea07e79c1912f645c7513d81715d0420f8bc77a18c6260b307f"
+checksum = "d98c67716b46af2f0b8cf752abc930f6f9aecfbf671ecfb531db8a31dbe4e2ba"
dependencies = [
"proc-macro2",
"quote",
"serde_derive_internals",
- "syn",
+ "syn 3.0.3",
]
[[package]]
@@ -3109,7 +2977,7 @@ version = "3.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d"
dependencies = [
- "bitflags 2.13.0",
+ "bitflags 2.13.1",
"core-foundation 0.10.1",
"core-foundation-sys",
"libc",
@@ -3134,9 +3002,9 @@ checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd"
[[package]]
name = "serde"
-version = "1.0.228"
+version = "1.0.229"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
+checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
dependencies = [
"serde_core",
"serde_derive",
@@ -3156,40 +3024,40 @@ dependencies = [
[[package]]
name = "serde_core"
-version = "1.0.228"
+version = "1.0.229"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
+checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.228"
+version = "1.0.229"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
+checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 3.0.3",
]
[[package]]
name = "serde_derive_internals"
-version = "0.29.1"
+version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
+checksum = "f852137cce035d6a4df67ccce505ff6b3e9fd3a10e3e52b24dc71e650bb1a9bd"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 3.0.3",
]
[[package]]
name = "serde_json"
-version = "1.0.150"
+version = "1.0.151"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9"
+checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14"
dependencies = [
"indexmap 2.14.0",
"itoa",
@@ -3212,13 +3080,13 @@ dependencies = [
[[package]]
name = "serde_repr"
-version = "0.1.20"
+version = "0.1.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c"
+checksum = "8d3b1629de253c70a0508c3899572da79ca359fdab27c7920ff00406df418906"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 3.0.3",
]
[[package]]
@@ -3244,9 +3112,9 @@ dependencies = [
[[package]]
name = "serde_with"
-version = "3.20.0"
+version = "3.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e72c1c2cb7b223fafb600a619537a871c2818583d619401b785e7c0b746ccde2"
+checksum = "76a5c54c7310e7b8b9577c286d7e399ddd876c3e12b3ed917a8aabc4b96e9e8c"
dependencies = [
"base64",
"bs58",
@@ -3255,7 +3123,7 @@ dependencies = [
"indexmap 1.9.3",
"indexmap 2.14.0",
"schemars 0.9.0",
- "schemars 1.2.1",
+ "schemars 1.2.2",
"serde_core",
"serde_json",
"serde_with_macros",
@@ -3264,14 +3132,14 @@ dependencies = [
[[package]]
name = "serde_with_macros"
-version = "3.20.0"
+version = "3.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b90c488738ecb4fb0262f41f43bc40efc5868d9fb744319ddf5f5317f417bfac"
+checksum = "84d57bc0c8b9a17920c178daa6bb924850d54a9c97ab45194bb8c17ad66bb660"
dependencies = [
"darling 0.23.0",
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -3287,17 +3155,6 @@ dependencies = [
"unsafe-libyaml",
]
-[[package]]
-name = "sha2"
-version = "0.10.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
-dependencies = [
- "cfg-if",
- "cpufeatures 0.2.17",
- "digest 0.10.7",
-]
-
[[package]]
name = "sha2"
version = "0.11.0"
@@ -3305,8 +3162,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4"
dependencies = [
"cfg-if",
- "cpufeatures 0.3.0",
- "digest 0.11.3",
+ "cpufeatures",
+ "digest",
]
[[package]]
@@ -3326,9 +3183,9 @@ checksum = "dc6fe69c597f9c37bfeeeeeb33da3530379845f10be461a66d16d03eca2ded77"
[[package]]
name = "shlex"
-version = "1.3.0"
+version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
[[package]]
name = "signal-hook"
@@ -3363,9 +3220,9 @@ dependencies = [
[[package]]
name = "simd-adler32"
-version = "0.3.9"
+version = "0.3.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214"
+checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea"
[[package]]
name = "slab"
@@ -3375,15 +3232,15 @@ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
[[package]]
name = "smallvec"
-version = "1.15.1"
+version = "1.15.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
+checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"
[[package]]
name = "socket2"
-version = "0.6.3"
+version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e"
+checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4"
dependencies = [
"libc",
"windows-sys 0.61.2",
@@ -3435,7 +3292,7 @@ dependencies = [
"proc-macro2",
"quote",
"rustversion",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -3447,7 +3304,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -3464,9 +3321,20 @@ checksum = "a7973cce6668464ea31f176d85b13c7ab3bba2cb3b77a2ed26abd7801688010a"
[[package]]
name = "syn"
-version = "2.0.117"
+version = "2.0.119"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
+checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "3.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3"
dependencies = [
"proc-macro2",
"quote",
@@ -3490,14 +3358,14 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
name = "sysinfo"
-version = "0.39.3"
+version = "0.39.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21d0d938c10fcda3e897e28aaddf4ab462375d411f4378cd63b1c945f69aba96"
+checksum = "d2071df9448915b71c4fe6d25deaf1c22f12bd234f01540b77312bb8e41361e6"
dependencies = [
"libc",
"memchr",
@@ -3514,7 +3382,7 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b"
dependencies = [
- "bitflags 2.13.0",
+ "bitflags 2.13.1",
"core-foundation 0.9.4",
"system-configuration-sys",
]
@@ -3531,12 +3399,11 @@ dependencies = [
[[package]]
name = "tauri-winrt-notification"
-version = "0.7.2"
+version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b1e66e07de489fe43a46678dd0b8df65e0c973909df1b60ba33874e297ba9b9"
+checksum = "9ed071c670382e85fc2f48ae706492d8c338f4f89bf72520d32f8abfe880aade"
dependencies = [
- "quick-xml",
- "thiserror 2.0.18",
+ "thiserror 2.0.19",
"windows 0.61.3",
"windows-version",
]
@@ -3548,7 +3415,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd"
dependencies = [
"fastrand",
- "getrandom 0.4.2",
+ "getrandom 0.4.3",
"once_cell",
"rustix 1.1.4",
"windows-sys 0.61.2",
@@ -3574,11 +3441,11 @@ dependencies = [
[[package]]
name = "thiserror"
-version = "2.0.18"
+version = "2.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4"
+checksum = "09a43598840e33d5b0331f38c5e30d13bb11c11210a4b58f0d9b18a5a5eefcd9"
dependencies = [
- "thiserror-impl 2.0.18",
+ "thiserror-impl 2.0.19",
]
[[package]]
@@ -3589,37 +3456,36 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
name = "thiserror-impl"
-version = "2.0.18"
+version = "2.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5"
+checksum = "43cbfe0cf76104d42a574802844187e84a305e531ed54455f11fbde0f10541cd"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 3.0.3",
]
[[package]]
name = "thread_local"
-version = "1.1.9"
+version = "1.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185"
+checksum = "1ad99c4c6d32803332c548b1af0540b357b3f5fc0be8f6c6bfe8b2e6ae784070"
dependencies = [
"cfg-if",
]
[[package]]
name = "time"
-version = "0.3.47"
+version = "0.3.55"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c"
+checksum = "cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134"
dependencies = [
"deranged",
- "itoa",
"num-conv",
"powerfmt",
"serde_core",
@@ -3629,15 +3495,15 @@ dependencies = [
[[package]]
name = "time-core"
-version = "0.1.8"
+version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca"
+checksum = "9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109"
[[package]]
name = "time-macros"
-version = "0.2.27"
+version = "0.2.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215"
+checksum = "7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85"
dependencies = [
"num-conv",
"time-core",
@@ -3664,9 +3530,9 @@ dependencies = [
[[package]]
name = "tinyvec"
-version = "1.11.0"
+version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3"
+checksum = "bb4ebadaa0af04fab11ae01eb5f9fdb5f9c5b875506e210e71c07873528baa7f"
dependencies = [
"tinyvec_macros",
]
@@ -3679,9 +3545,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.52.3"
+version = "1.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe"
+checksum = "202caea871b69668250d242070849eb495be178ed697a3e98aebce5bc81a0bed"
dependencies = [
"bytes",
"libc",
@@ -3696,13 +3562,13 @@ dependencies = [
[[package]]
name = "tokio-macros"
-version = "2.7.0"
+version = "2.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496"
+checksum = "78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 3.0.3",
]
[[package]]
@@ -3727,9 +3593,9 @@ dependencies = [
[[package]]
name = "tokio-stream"
-version = "0.1.18"
+version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70"
+checksum = "a3d06f0b082ba57c26b79407372e57cf2a1e28124f78e9479fe80322cf53420b"
dependencies = [
"futures-core",
"pin-project-lite",
@@ -3738,22 +3604,23 @@ dependencies = [
[[package]]
name = "tokio-util"
-version = "0.7.18"
+version = "0.7.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098"
+checksum = "494815d09bf52b5548659851081238f0ca39ff638363907596da739561c62c52"
dependencies = [
"bytes",
"futures-core",
"futures-sink",
+ "libc",
"pin-project-lite",
"tokio",
]
[[package]]
name = "toml"
-version = "1.1.2+spec-1.1.0"
+version = "1.1.4+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81f3d15e84cbcd896376e6730314d59fb5a87f31e4b038454184435cd57defee"
+checksum = "3aace63f4bbcdfc2c965b059de67119c89c4017a70d633be6c104910f67056f5"
dependencies = [
"indexmap 2.14.0",
"serde_core",
@@ -3775,9 +3642,9 @@ dependencies = [
[[package]]
name = "toml_edit"
-version = "0.25.11+spec-1.1.0"
+version = "0.25.13+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b"
+checksum = "6975367e4d2ef766d86af01ffad14b622fecc8d4357a998fbc4deb6e9bacaf9b"
dependencies = [
"indexmap 2.14.0",
"toml_datetime",
@@ -3787,18 +3654,18 @@ dependencies = [
[[package]]
name = "toml_parser"
-version = "1.1.2+spec-1.1.0"
+version = "1.1.3+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526"
+checksum = "1d38ac1cf9b95face32296c0a3ede1fdc270627c9d9c02a7274dd6d960dc4d56"
dependencies = [
"winnow",
]
[[package]]
name = "toml_writer"
-version = "1.1.1+spec-1.1.0"
+version = "1.1.2+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db"
+checksum = "7d56353a2a665ad0f41a421187180aab746c8c325620617ad883a99a1cbe66d2"
[[package]]
name = "tower"
@@ -3822,7 +3689,7 @@ version = "0.6.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840"
dependencies = [
- "bitflags 2.13.0",
+ "bitflags 2.13.1",
"bytes",
"futures-util",
"http",
@@ -3831,10 +3698,26 @@ dependencies = [
"tower",
"tower-layer",
"tower-service",
- "tracing",
"url",
]
+[[package]]
+name = "tower-http"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b11f75e912b0c2be01b63d8cf8057b8c3f97cf34abb3d431a3a4c8675498e233"
+dependencies = [
+ "bitflags 2.13.1",
+ "bytes",
+ "http",
+ "http-body",
+ "percent-encoding",
+ "pin-project-lite",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
[[package]]
name = "tower-layer"
version = "0.3.3"
@@ -3867,7 +3750,7 @@ checksum = "050686193eb999b4bb3bc2acfa891a13da00f79734704c4b8b4ef1a10b368a3c"
dependencies = [
"crossbeam-channel",
"symlink",
- "thiserror 2.0.18",
+ "thiserror 2.0.19",
"time",
"tracing-subscriber",
]
@@ -3880,7 +3763,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -3936,7 +3819,7 @@ checksum = "756050066659291d47a554a9f558125db17428b073c5ffce1daf5dcb0f7231d8"
dependencies = [
"chrono",
"serde_json",
- "thiserror 2.0.18",
+ "thiserror 2.0.19",
"ts-rs-macros",
"uuid",
]
@@ -3949,7 +3832,7 @@ checksum = "38d90eea51bc7988ef9e674bf80a85ba6804739e535e9cab48e4bb34a8b652aa"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
"termcolor",
]
@@ -3972,9 +3855,9 @@ checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c"
[[package]]
name = "typenum"
-version = "1.20.0"
+version = "1.20.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de"
+checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20"
[[package]]
name = "ucd-trie"
@@ -4007,9 +3890,9 @@ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
[[package]]
name = "unicode-segmentation"
-version = "1.13.2"
+version = "1.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9629274872b2bfaf8d66f5f15725007f635594914870f65218920345aa11aa8c"
+checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8"
[[package]]
name = "unicode-truncate"
@@ -4110,7 +3993,7 @@ dependencies = [
"proc-macro2",
"quote",
"regex",
- "syn",
+ "syn 2.0.119",
"uuid",
]
@@ -4134,11 +4017,11 @@ dependencies = [
[[package]]
name = "uuid"
-version = "1.23.3"
+version = "1.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "144d6b123cef80b301b8f72a9e2ca4370ddec21950d0a103dd22c437006d2db7"
+checksum = "bf3923a6f5c4c6382e0b653c4117f48d631ea17f38ed86e2a828e6f7412f5239"
dependencies = [
- "getrandom 0.4.2",
+ "getrandom 0.4.3",
"js-sys",
"serde_core",
"wasm-bindgen",
@@ -4156,12 +4039,6 @@ version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
-[[package]]
-name = "version_check"
-version = "0.9.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
-
[[package]]
name = "walkdir"
version = "2.5.0"
@@ -4187,29 +4064,11 @@ version = "0.11.1+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
-[[package]]
-name = "wasip2"
-version = "1.0.3+wasi-0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6"
-dependencies = [
- "wit-bindgen 0.57.1",
-]
-
-[[package]]
-name = "wasip3"
-version = "0.4.0+wasi-0.3.0-rc-2026-01-06"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5"
-dependencies = [
- "wit-bindgen 0.51.0",
-]
-
[[package]]
name = "wasm-bindgen"
-version = "0.2.122"
+version = "0.2.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ed04576f974d2b2fba0f38c51dbc5518011e38c36bf1143164be765528fd409"
+checksum = "4b067c0c11094aef6b7a801c1e34a26affafdf3d051dba08456b868789aaf9a4"
dependencies = [
"cfg-if",
"once_cell",
@@ -4220,9 +4079,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-futures"
-version = "0.4.72"
+version = "0.4.76"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9473dbd2991ae90b6291c3c32c30c6187ac49aa32f9905d1cce280ec1e110b0f"
+checksum = "c62df1340f32221cb9c54d6a27b030e3dba64361d4a95bed55f9aacb44da291d"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -4230,9 +4089,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.122"
+version = "0.2.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "916151b09da36bd82f6615cbf3a419e2f0ba23a03c6160e8e92eb6bd4aa1dec6"
+checksum = "167ce5e579f6bcf889c4f7175a8a5a585de84e8ff93976ce393efa5f2837aab1"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -4240,65 +4099,31 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.122"
+version = "0.2.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "299047362ccbfce148b67ab7e73349f77748e00c8296f9542adfad2ad82c5c5e"
+checksum = "f3997c7839262f4ef12cf90b818d6340c18e80f263f1a94bf157d0ec4420380e"
dependencies = [
"bumpalo",
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.122"
+version = "0.2.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a929b2c61f11ba3e9bc35b50c1f25cb38e0e892c0c231ae2b8cf78d5dad4437"
+checksum = "dc1b4cb0cc549fcf58d7dfc081778139b3d283a081644e833e84682ad71cea24"
dependencies = [
"unicode-ident",
]
-[[package]]
-name = "wasm-encoder"
-version = "0.244.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319"
-dependencies = [
- "leb128fmt",
- "wasmparser",
-]
-
-[[package]]
-name = "wasm-metadata"
-version = "0.244.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909"
-dependencies = [
- "anyhow",
- "indexmap 2.14.0",
- "wasm-encoder",
- "wasmparser",
-]
-
-[[package]]
-name = "wasmparser"
-version = "0.244.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe"
-dependencies = [
- "bitflags 2.13.0",
- "hashbrown 0.15.5",
- "indexmap 2.14.0",
- "semver",
-]
-
[[package]]
name = "web-sys"
-version = "0.3.99"
+version = "0.3.103"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d621441cfc37b84979402712047321980c178f299193a3589d05b99e8763436"
+checksum = "8622dcb61c0bcc9fffa6938bed81210af2da9a7e4a1a834b2e37a59b6dfb6141"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -4316,18 +4141,18 @@ dependencies = [
[[package]]
name = "webpki-roots"
-version = "1.0.7"
+version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52f5ee44c96cf55f1b349600768e3ece3a8f26010c05265ab73f945bb1a2eb9d"
+checksum = "7dcd9d09a39985f5344844e66b0c530a33843579125f23e21e9f0f220850f22a"
dependencies = [
"rustls-pki-types",
]
[[package]]
name = "which"
-version = "8.0.3"
+version = "8.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c789537cf2f7f55be8e6192f92e464174ee55f91af622777f7f1ceb0dbccd03e"
+checksum = "8f3ef584124b911bcc3875c2f1472e80f24361ceb789bd1c62b3e9a3df9ff43c"
dependencies = [
"libc",
]
@@ -4462,7 +4287,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -4473,7 +4298,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -4815,107 +4640,13 @@ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650"
[[package]]
name = "winnow"
-version = "1.0.3"
+version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0592e1c9d151f854e6fd382574c3a0855250e1d9b2f99d9281c6e6391af352f1"
+checksum = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81"
dependencies = [
"memchr",
]
-[[package]]
-name = "wit-bindgen"
-version = "0.51.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5"
-dependencies = [
- "wit-bindgen-rust-macro",
-]
-
-[[package]]
-name = "wit-bindgen"
-version = "0.57.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e"
-
-[[package]]
-name = "wit-bindgen-core"
-version = "0.51.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc"
-dependencies = [
- "anyhow",
- "heck",
- "wit-parser",
-]
-
-[[package]]
-name = "wit-bindgen-rust"
-version = "0.51.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21"
-dependencies = [
- "anyhow",
- "heck",
- "indexmap 2.14.0",
- "prettyplease",
- "syn",
- "wasm-metadata",
- "wit-bindgen-core",
- "wit-component",
-]
-
-[[package]]
-name = "wit-bindgen-rust-macro"
-version = "0.51.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a"
-dependencies = [
- "anyhow",
- "prettyplease",
- "proc-macro2",
- "quote",
- "syn",
- "wit-bindgen-core",
- "wit-bindgen-rust",
-]
-
-[[package]]
-name = "wit-component"
-version = "0.244.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2"
-dependencies = [
- "anyhow",
- "bitflags 2.13.0",
- "indexmap 2.14.0",
- "log",
- "serde",
- "serde_derive",
- "serde_json",
- "wasm-encoder",
- "wasm-metadata",
- "wasmparser",
- "wit-parser",
-]
-
-[[package]]
-name = "wit-parser"
-version = "0.244.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736"
-dependencies = [
- "anyhow",
- "id-arena",
- "indexmap 2.14.0",
- "log",
- "semver",
- "serde",
- "serde_derive",
- "serde_json",
- "unicode-xid",
- "wasmparser",
-]
-
[[package]]
name = "writeable"
version = "0.6.3"
@@ -4935,9 +4666,9 @@ dependencies = [
[[package]]
name = "yoke"
-version = "0.8.2"
+version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca"
+checksum = "709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5"
dependencies = [
"stable_deref_trait",
"yoke-derive",
@@ -4952,15 +4683,15 @@ checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
"synstructure",
]
[[package]]
name = "zbus"
-version = "5.15.0"
+version = "5.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3bcbf15c8708d7fc1be0c993622e0a5cbd5e8b52bfa40afa4c3e0cd8d724ac1"
+checksum = "fe18fb60dc696039e738717b76eaea21e7a4489bbb1885020b43c94236d7e98a"
dependencies = [
"async-broadcast",
"async-executor",
@@ -4993,14 +4724,14 @@ dependencies = [
[[package]]
name = "zbus_macros"
-version = "5.15.0"
+version = "5.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51fa5406ad9175a8c825a931f8cf347116b531b3634fcb0b627c290f1f2516ff"
+checksum = "fe96480bed92df2b442a1a30df364e12d08eed03aeb061f2b8dc6afb2be91119"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
"zbus_names",
"zvariant",
"zvariant_utils",
@@ -5008,35 +4739,15 @@ dependencies = [
[[package]]
name = "zbus_names"
-version = "4.3.2"
+version = "4.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7074f3e50b894eac91750142016d30d0a89be8e67dbfd9704fb875825760e52d"
+checksum = "d8bf88b4a3ff53e883001e0e0115b297a9d53c31b9c1edd2bfdd853e3428624e"
dependencies = [
"serde",
"winnow",
"zvariant",
]
-[[package]]
-name = "zerocopy"
-version = "0.8.48"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9"
-dependencies = [
- "zerocopy-derive",
-]
-
-[[package]]
-name = "zerocopy-derive"
-version = "0.8.48"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
[[package]]
name = "zerofrom"
version = "0.1.8"
@@ -5054,15 +4765,15 @@ checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
"synstructure",
]
[[package]]
name = "zeroize"
-version = "1.8.2"
+version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0"
+checksum = "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e"
[[package]]
name = "zerotrie"
@@ -5094,7 +4805,7 @@ checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
]
[[package]]
@@ -5113,15 +4824,15 @@ dependencies = [
[[package]]
name = "zlib-rs"
-version = "0.6.3"
+version = "0.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3be3d40e40a133f9c916ee3f9f4fa2d9d63435b5fbe1bfc6d9dae0aa0ada1513"
+checksum = "b142a20ec14a91d5bc708c1dc21b080c550113d8aa77afa29635673a65dd02c5"
[[package]]
name = "zmij"
-version = "1.0.21"
+version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
+checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
[[package]]
name = "zopfli"
@@ -5137,9 +4848,9 @@ dependencies = [
[[package]]
name = "zvariant"
-version = "5.11.0"
+version = "5.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c1567a6ec68df868cbbfde844cfc6d81649fe5109a62b116b19fabd53e618ee"
+checksum = "bee2a0bcd2a907786a456fff45aaaaf54c9ba5f50b71ae9ec1a4edd200c94911"
dependencies = [
"endi",
"enumflags2",
@@ -5151,26 +4862,26 @@ dependencies = [
[[package]]
name = "zvariant_derive"
-version = "5.11.0"
+version = "5.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7d5b780599bbde114e39d9a0799577fad1ced5105d38515745f7b3099d8ceda"
+checksum = "38a708216a18780796770bfe3f4739c7c83a3e8f789b755534bbbc06e4e23e12"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.119",
"zvariant_utils",
]
[[package]]
name = "zvariant_utils"
-version = "3.3.1"
+version = "3.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d464f5733ffa07a3164d656f18533caace9d0638596721355d73256a410d691"
+checksum = "90cb9383f9b45290407a1258b202d3f8f01db719eb60b4e4055c6375af4fc7c7"
dependencies = [
"proc-macro2",
"quote",
"serde",
- "syn",
+ "syn 2.0.119",
"winnow",
]
diff --git a/Cargo.toml b/Cargo.toml
index 78e525f3..1af181d8 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -87,12 +87,10 @@ async-trait = "0.1"
# REST API
axum = { version = "0.8", features = ["macros", "tokio", "tracing"] }
-# `Host` extractor moved out of axum core in 0.8; it now lives in axum-extra.
-axum-extra = "0.10"
tokio-stream = "0.1"
futures-util = "0.3"
tower = "0.5"
-tower-http = { version = "0.6", features = ["cors", "trace"] }
+tower-http = { version = "0.7", features = ["cors", "trace"] }
http-body-util = "0.1"
# OpenAPI documentation
@@ -100,7 +98,7 @@ utoipa = { version = "5", features = ["axum_extras", "uuid", "chrono"] }
utoipa-swagger-ui = { version = "9", features = ["axum"] }
# Agent Client Protocol (ACP) — JSON-RPC 2.0 over stdio for editor integration
-agent-client-protocol = "0.14"
+agent-client-protocol = "2.0"
# Embedded web UI (behind embed-ui feature flag)
rust-embed = { version = "8", optional = true }
diff --git a/Makefile b/Makefile
index 5437bd9f..4dab95e9 100644
--- a/Makefile
+++ b/Makefile
@@ -1,10 +1,10 @@
# Operator developer tasks.
#
# `make check` mirrors the CI `lint-test` job exactly so a clean local run means
-# a clean CI run. `make install-hooks` wires the committed pre-push hook so the
-# same gate runs automatically before every push.
+# a clean CI run. `make install-hooks` wires the committed pre-push hook, which
+# runs the fast lint gate (fmt + clippy, no tests) before every push.
-.PHONY: check fmt clippy test build run install-hooks
+.PHONY: check fmt clippy test build run install-hooks bindings webcomponents ui docs
# Full CI-parity gate. Keep these commands byte-identical to
# .github/workflows/build.yaml so local and CI never disagree.
@@ -27,7 +27,37 @@ build:
run:
cargo run
+# TypeScript types generated from the Rust domain types. ts-rs writes bindings/
+# as a side effect of the `export_bindings_*` tests it generates, so this is the
+# first link in the chain: cargo -> bindings/ -> copy-types -> tsc/vite.
+bindings:
+ cargo test --locked export_bindings_
+
+# Shared frontend components. Built ahead of both consumers so the SPA and the
+# docs site render collections from one implementation, and so neither needs a
+# prebuilt artifact committed to the repo. Depends on `bindings` because the
+# components are typed against the generated Rust types.
+webcomponents: bindings
+ cd webcomponents && bun install --frozen-lockfile && bun run typecheck && bun test && bun run build
+
+# The embedded SPA, which resolves @operator/webcomponents from its dist/.
+ui: webcomponents
+ cd ui && bun install --frozen-lockfile && bun run build
+
+# Full docs pipeline: bindings, generated reference docs and the hosted
+# collection bundle, the shared components bundle, then Jekyll. Mirrors the
+# ordering in .github/workflows/docs.yml.
+docs: webcomponents
+ cargo test --locked
+ cargo run --locked -- docs
+ mkdir -p docs/assets/js
+ cp webcomponents/dist/elements.js webcomponents/dist/elements.css docs/assets/js/
+ cd docs && bundle exec jekyll build
+ # The collection bundle is excluded from Jekyll (see docs/_config.yml) and
+ # copied in verbatim, so the bytes operator fetches match their checksums.
+ cp -R docs/collections docs/_site/
+
# One-time per clone: route git hooks at the committed .githooks/ directory.
install-hooks:
git config core.hooksPath .githooks
- @echo "pre-push hook installed (runs 'make check')"
+ @echo "pre-push hook installed (runs 'make fmt clippy')"
diff --git a/README.md b/README.md
index 017a38f2..bfc7178c 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@
* **Platform** [](https://operator.untra.io/getting-started/platforms/docker/) [](https://operator.untra.io/getting-started/platforms/coder/)
-* **Workflow Format** [](https://operator.untra.io/getting-started/workflows/claude/) [](https://operator.untra.io/getting-started/workflows/agnt/)
+* **Workflow Export Format** [](https://operator.untra.io/getting-started/workflows/claude/) [](https://operator.untra.io/getting-started/workflows/agnt/)
An orchestration tool for [**AI-assisted**](https://operator.untra.io/getting-started/agents/) [_kanban-shaped_](https://operator.untra.io/getting-started/kanban/) [git-versioned](https://operator.untra.io/getting-started/git/) software development.
diff --git a/backstage-server/.eslintignore b/backstage-server/.eslintignore
deleted file mode 100644
index fd2171e1..00000000
--- a/backstage-server/.eslintignore
+++ /dev/null
@@ -1,4 +0,0 @@
-node_modules
-dist
-coverage
-*.d.ts
diff --git a/backstage-server/.eslintrc.json b/backstage-server/.eslintrc.json
deleted file mode 100644
index 6aa746f3..00000000
--- a/backstage-server/.eslintrc.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "root": true,
- "parser": "@typescript-eslint/parser",
- "parserOptions": {
- "ecmaVersion": 2022,
- "sourceType": "module",
- "ecmaFeatures": {
- "jsx": true
- }
- },
- "plugins": [
- "@typescript-eslint",
- "react",
- "react-hooks"
- ],
- "extends": [
- "eslint:recommended",
- "plugin:@typescript-eslint/recommended",
- "plugin:react/recommended",
- "plugin:react-hooks/recommended",
- "../.eslintrc.base.json"
- ],
- "settings": {
- "react": {
- "version": "detect"
- }
- },
- "env": {
- "browser": true,
- "node": true,
- "es2022": true
- },
- "rules": {
- "react/react-in-jsx-scope": "off"
- }
-}
diff --git a/backstage-server/.gitignore b/backstage-server/.gitignore
deleted file mode 100644
index f849f8a3..00000000
--- a/backstage-server/.gitignore
+++ /dev/null
@@ -1,24 +0,0 @@
-# Build outputs
-dist/
-packages/*/dist/
-packages/plugins/*/dist/
-
-# Generated embedding files
-src/assets/
-src/embedded-assets.ts
-
-# Dependencies
-node_modules/
-
-# IDE
-.idea/
-*.swp
-*.swo
-
-# OS
-.DS_Store
-
-# Playwright test artifacts
-e2e/.auth/
-playwright-report/
-test-results/
diff --git a/backstage-server/README.md b/backstage-server/README.md
deleted file mode 100644
index 610c7c4a..00000000
--- a/backstage-server/README.md
+++ /dev/null
@@ -1,162 +0,0 @@
-# Backstage Server
-
-A Bun-compiled standalone web portal for Operator, built with Backstage components and Hono.
-
-## Overview
-
-This is a self-contained Backstage-based web portal that provides:
-
-- **Dashboard**: Queue status, active agents, issue types overview
-- **Catalog**: Software catalog with Operator's 5-tier taxonomy
-- **Issue Types**: Create and manage issue type templates
-- **Plugins**: View installed plugins
-
-The server compiles to a single binary using Bun with embedded frontend assets.
-
-## Tech Stack
-
-- **Runtime**: Bun (compiled binary)
-- **Backend**: Hono web framework
-- **Frontend**: React 18 + Backstage UI components
-- **Language**: TypeScript 5
-- **Testing**: Bun test (unit) + Playwright (E2E)
-
-## Development
-
-### Prerequisites
-
-- Bun 1.0+
-- Node.js 18+ (for Backstage CLI)
-
-### Commands
-
-```bash
-# Development server with hot reload
-bun run dev
-
-# Build production binary
-bun run build
-
-# Run the built binary
-./dist/backstage-server
-```
-
-### Testing
-
-```bash
-# Unit tests
-bun test
-
-# E2E tests (requires server running)
-bun run test:e2e
-
-# E2E with UI
-bun run test:e2e:ui
-
-# E2E headed mode
-bun run test:e2e:headed
-```
-
-### Linting & Type Checking
-
-```bash
-# Lint all packages
-bun run lint
-
-# Auto-fix lint issues
-bun run lint:fix
-
-# Type check
-bun run typecheck
-
-# Dependency analysis
-bun run knip
-```
-
-## Quality Enforcement
-
-This project uses multiple tools to enforce code quality:
-
-| Tool | Purpose | Command |
-|------|---------|---------|
-| ESLint | Code linting | `bun run lint` |
-| TypeScript | Type checking | `bun run typecheck` |
-| Bun test | Unit tests | `bun test` |
-| Playwright | E2E tests | `bun run test:e2e` |
-| Knip | Unused exports/deps | `bun run knip` |
-
-### CI Checks
-
-All PRs must pass:
-
-1. `bun run lint` - No lint errors
-2. `bun run typecheck` - No type errors
-3. `bun test` - All unit tests pass
-4. `bun run knip` - No unused exports or dependencies
-5. `bun run test:e2e` - All E2E tests pass
-
-## Architecture
-
-```
-backstage-server/
-├── src/
-│ ├── standalone.ts # Hono server entry point
-│ ├── embedded-assets.ts # Auto-generated asset embeddings
-│ ├── catalog/ # Catalog storage and routes
-│ └── search/ # Search index
-├── packages/
-│ ├── app/ # React frontend
-│ │ ├── src/
-│ │ │ ├── AppNew.tsx # New frontend system
-│ │ │ ├── App.tsx # Legacy routing
-│ │ │ ├── components/ # UI components
-│ │ │ │ ├── home/ # Dashboard widgets
-│ │ │ │ ├── catalog/ # Catalog views
-│ │ │ │ └── plugins/ # Plugins page
-│ │ │ └── extensions/ # Backstage extensions
-│ │ └── public/ # Static assets
-│ ├── backend/ # Backstage backend (reference)
-│ └── plugins/
-│ └── plugin-issuetypes/ # Issue types plugin
-├── e2e/ # Playwright E2E tests
-├── scripts/
-│ └── generate-embeds.ts # Asset embedding generator
-├── bunfig.toml # Bun configuration
-├── knip.json # Knip configuration
-└── playwright.config.ts # Playwright configuration
-```
-
-## Build Process
-
-1. **Frontend build**: `backstage-cli package build` compiles React app
-2. **Asset embedding**: `generate-embeds.ts` creates `embedded-assets.ts`
-3. **Binary compilation**: Bun compiles server + assets into single binary
-
-```bash
-bun run build:frontend # Build React app
-bun run build:embeds # Generate asset embeddings
-bun run build:standalone # Compile to binary
-```
-
-## API Endpoints
-
-| Endpoint | Description |
-|----------|-------------|
-| `GET /health` | Health check |
-| `GET /api/status` | Server status + catalog stats |
-| `GET /api/catalog/entities` | List catalog entities |
-| `POST /api/search/query` | Search catalog |
-| `GET /api/issuetypes` | List issue types (proxied to Operator) |
-| `ALL /api/operator/*` | Proxy to Operator REST API |
-
-## Configuration
-
-The server reads configuration from:
-
-- `~/.operator/backstage-catalog.json` - Catalog persistence
-- `~/.operator/backstage/branding/theme.json` - Custom theming
-
-Environment variables:
-
-- `OPERATOR_API_URL` - Operator REST API URL (default: `http://localhost:7008`)
-- `PORT` - Server port (default: `7007`)
diff --git a/backstage-server/app-config.yaml b/backstage-server/app-config.yaml
deleted file mode 100644
index 64689458..00000000
--- a/backstage-server/app-config.yaml
+++ /dev/null
@@ -1,45 +0,0 @@
-app:
- title: Operator! Portal
- baseUrl: http://localhost:7007
-
-organization:
- name: Operator
-
-backend:
- baseUrl: http://localhost:7007
- listen:
- port: ${PORT:-7007}
- # Database disabled - using file-based catalog only
- # database:
- # client: better-sqlite3
- # connection: ':memory:'
-
-auth:
- providers:
- guest:
- dangerouslyAllowOutsideDevelopment: true
-
-# Proxy configuration for Operator REST API
-proxy:
- '/operator':
- target: 'http://localhost:7008'
- changeOrigin: true
-
-catalog:
- rules:
- - allow:
- - Component
- - API
- - Resource
- - System
- - Domain
- - Location
- - Template
- - Group
- - User
- locations:
- # Scan workspace for catalog-info.yaml files
- - type: file
- target: ../../**/catalog-info.yaml
- rules:
- - allow: [Component, API, Resource, System, Domain]
diff --git a/backstage-server/bun.lock b/backstage-server/bun.lock
deleted file mode 100644
index ca774ed9..00000000
--- a/backstage-server/bun.lock
+++ /dev/null
@@ -1,6354 +0,0 @@
-{
- "lockfileVersion": 1,
- "configVersion": 1,
- "workspaces": {
- "": {
- "name": "operator-backstage",
- "dependencies": {
- "hono": "^4.11.2",
- },
- "devDependencies": {
- "@backstage/cli": "^0.27.0",
- "@happy-dom/global-registrator": "^20.0.11",
- "@playwright/test": "^1.40.0",
- "@types/node": "^20",
- "@types/react": "^18",
- "@types/react-dom": "^18",
- "@typescript-eslint/eslint-plugin": "^7.0.0",
- "@typescript-eslint/parser": "^7.0.0",
- "bun-types": "^1.0.0",
- "eslint": "^8.57.0",
- "eslint-plugin-react": "^7.34.0",
- "eslint-plugin-react-hooks": "^4.6.0",
- "knip": "^5.0.0",
- "typescript": "^5.0.0",
- },
- },
- "packages/app": {
- "name": "app",
- "version": "0.0.0",
- "dependencies": {
- "@backstage/app-defaults": "^1.5.0",
- "@backstage/catalog-client": "^1.6.0",
- "@backstage/catalog-model": "^1.6.0",
- "@backstage/core-app-api": "^1.14.0",
- "@backstage/core-components": "^0.14.0",
- "@backstage/core-plugin-api": "^1.9.0",
- "@backstage/frontend-defaults": "^0.3.4",
- "@backstage/frontend-plugin-api": "^0.13.2",
- "@backstage/plugin-catalog": "^1.21.0",
- "@backstage/plugin-catalog-graph": "^0.4.0",
- "@backstage/plugin-catalog-import": "^0.12.0",
- "@backstage/plugin-catalog-react": "^1.12.0",
- "@backstage/plugin-home": "^0.7.0",
- "@backstage/plugin-search": "^1.4.0",
- "@backstage/plugin-search-react": "^1.7.0",
- "@backstage/theme": "^0.5.0",
- "@backstage/ui": "^0.10.0",
- "@material-ui/core": "^4.12.4",
- "@material-ui/icons": "^4.11.3",
- "@operator/plugin-issuetypes": "workspace:*",
- "@remixicon/react": "^4.7.0",
- "@tanstack/react-query": "^5.0.0",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
- "react-router-dom": "^6.0.0",
- },
- "devDependencies": {
- "@backstage/cli": "^0.27.0",
- "@testing-library/react": "^14.0.0",
- "happy-dom": "^13.0.0",
- "msw": "^2.0.0",
- "raw-loader": "^4.0.2",
- },
- },
- "packages/backend": {
- "name": "backend",
- "version": "0.0.0",
- "dependencies": {
- "@backstage/backend-defaults": "^0.4.0",
- "@backstage/plugin-app-backend": "^0.3.0",
- "@backstage/plugin-auth-backend": "^0.22.0",
- "@backstage/plugin-auth-backend-module-guest-provider": "^0.1.0",
- "@backstage/plugin-catalog-backend": "^1.24.0",
- "@backstage/plugin-proxy-backend": "^0.5.0",
- },
- },
- "packages/plugins/plugin-issuetypes": {
- "name": "@operator/plugin-issuetypes",
- "version": "0.0.0",
- "dependencies": {
- "@backstage/core-components": "^0.14.0",
- "@backstage/core-plugin-api": "^1.9.0",
- "@backstage/frontend-plugin-api": "^0.13.2",
- "@backstage/theme": "^0.5.0",
- "react": "^18.2.0",
- "react-router-dom": "^6.0.0",
- },
- "devDependencies": {
- "@backstage/cli": "^0.27.0",
- "@material-ui/core": "^4.12.4",
- "@types/react": "^18",
- },
- "peerDependencies": {
- "@material-ui/core": "^4.12.0",
- "react": "^18.0.0",
- },
- },
- },
- "overrides": {
- "better-sqlite3": "npm:empty-npm-package@1.0.0",
- "isolated-vm": "npm:empty-npm-package@1.0.0",
- },
- "packages": {
- "@apidevtools/json-schema-ref-parser": ["@apidevtools/json-schema-ref-parser@11.7.2", "", { "dependencies": { "@jsdevtools/ono": "^7.1.3", "@types/json-schema": "^7.0.15", "js-yaml": "^4.1.0" } }, "sha512-4gY54eEGEstClvEkGnwVkTkrx0sqwemEFG5OSRRn3tD91XH0+Q8XIkYIfo7IwEWPpJZwILb9GUXeShtplRc/eA=="],
-
- "@apidevtools/openapi-schemas": ["@apidevtools/openapi-schemas@2.1.0", "", {}, "sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ=="],
-
- "@apidevtools/swagger-methods": ["@apidevtools/swagger-methods@3.0.2", "", {}, "sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg=="],
-
- "@apidevtools/swagger-parser": ["@apidevtools/swagger-parser@10.1.1", "", { "dependencies": { "@apidevtools/json-schema-ref-parser": "11.7.2", "@apidevtools/openapi-schemas": "^2.1.0", "@apidevtools/swagger-methods": "^3.0.2", "@jsdevtools/ono": "^7.1.3", "ajv": "^8.17.1", "ajv-draft-04": "^1.0.0", "call-me-maybe": "^1.0.2" }, "peerDependencies": { "openapi-types": ">=7" } }, "sha512-u/kozRnsPO/x8QtKYJOqoGtC4kH6yg1lfYkB9Au0WhYB0FNLpyFusttQtvhlwjtG3rOwiRz4D8DnnXa8iEpIKA=="],
-
- "@aws-crypto/crc32": ["@aws-crypto/crc32@5.2.0", "", { "dependencies": { "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", "tslib": "^2.6.2" } }, "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg=="],
-
- "@aws-crypto/crc32c": ["@aws-crypto/crc32c@5.2.0", "", { "dependencies": { "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", "tslib": "^2.6.2" } }, "sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag=="],
-
- "@aws-crypto/sha1-browser": ["@aws-crypto/sha1-browser@5.2.0", "", { "dependencies": { "@aws-crypto/supports-web-crypto": "^5.2.0", "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-locate-window": "^3.0.0", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.6.2" } }, "sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg=="],
-
- "@aws-crypto/sha256-browser": ["@aws-crypto/sha256-browser@5.2.0", "", { "dependencies": { "@aws-crypto/sha256-js": "^5.2.0", "@aws-crypto/supports-web-crypto": "^5.2.0", "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-locate-window": "^3.0.0", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.6.2" } }, "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw=="],
-
- "@aws-crypto/sha256-js": ["@aws-crypto/sha256-js@5.2.0", "", { "dependencies": { "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", "tslib": "^2.6.2" } }, "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA=="],
-
- "@aws-crypto/supports-web-crypto": ["@aws-crypto/supports-web-crypto@5.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg=="],
-
- "@aws-crypto/util": ["@aws-crypto/util@5.2.0", "", { "dependencies": { "@aws-sdk/types": "^3.222.0", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.6.2" } }, "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ=="],
-
- "@aws-sdk/abort-controller": ["@aws-sdk/abort-controller@3.374.0", "", { "dependencies": { "@smithy/abort-controller": "^1.0.1", "tslib": "^2.5.0" } }, "sha512-pO1pqFBdIF28ZvnJmg58Erj35RLzXsTrjvHghdc/xgtSvodFFCNrUsPg6AP3On8eiw9elpHoS4P8jMx1pHDXEw=="],
-
- "@aws-sdk/client-codecommit": ["@aws-sdk/client-codecommit@3.958.0", "", { "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.957.0", "@aws-sdk/credential-provider-node": "3.958.0", "@aws-sdk/middleware-host-header": "3.957.0", "@aws-sdk/middleware-logger": "3.957.0", "@aws-sdk/middleware-recursion-detection": "3.957.0", "@aws-sdk/middleware-user-agent": "3.957.0", "@aws-sdk/region-config-resolver": "3.957.0", "@aws-sdk/types": "3.957.0", "@aws-sdk/util-endpoints": "3.957.0", "@aws-sdk/util-user-agent-browser": "3.957.0", "@aws-sdk/util-user-agent-node": "3.957.0", "@smithy/config-resolver": "^4.4.5", "@smithy/core": "^3.20.0", "@smithy/fetch-http-handler": "^5.3.8", "@smithy/hash-node": "^4.2.7", "@smithy/invalid-dependency": "^4.2.7", "@smithy/middleware-content-length": "^4.2.7", "@smithy/middleware-endpoint": "^4.4.1", "@smithy/middleware-retry": "^4.4.17", "@smithy/middleware-serde": "^4.2.8", "@smithy/middleware-stack": "^4.2.7", "@smithy/node-config-provider": "^4.3.7", "@smithy/node-http-handler": "^4.4.7", "@smithy/protocol-http": "^5.3.7", "@smithy/smithy-client": "^4.10.2", "@smithy/types": "^4.11.0", "@smithy/url-parser": "^4.2.7", "@smithy/util-base64": "^4.3.0", "@smithy/util-body-length-browser": "^4.2.0", "@smithy/util-body-length-node": "^4.2.1", "@smithy/util-defaults-mode-browser": "^4.3.16", "@smithy/util-defaults-mode-node": "^4.2.19", "@smithy/util-endpoints": "^3.2.7", "@smithy/util-middleware": "^4.2.7", "@smithy/util-retry": "^4.2.7", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-B0ePaOAxb6I5RGi6q4/YRHd80hNyjKsCvwJCxqvL6rVGoW6pSl+mKC6cB353hWGw2ZsLDSe35OVt65yZ7P443w=="],
-
- "@aws-sdk/client-cognito-identity": ["@aws-sdk/client-cognito-identity@3.958.0", "", { "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.957.0", "@aws-sdk/credential-provider-node": "3.958.0", "@aws-sdk/middleware-host-header": "3.957.0", "@aws-sdk/middleware-logger": "3.957.0", "@aws-sdk/middleware-recursion-detection": "3.957.0", "@aws-sdk/middleware-user-agent": "3.957.0", "@aws-sdk/region-config-resolver": "3.957.0", "@aws-sdk/types": "3.957.0", "@aws-sdk/util-endpoints": "3.957.0", "@aws-sdk/util-user-agent-browser": "3.957.0", "@aws-sdk/util-user-agent-node": "3.957.0", "@smithy/config-resolver": "^4.4.5", "@smithy/core": "^3.20.0", "@smithy/fetch-http-handler": "^5.3.8", "@smithy/hash-node": "^4.2.7", "@smithy/invalid-dependency": "^4.2.7", "@smithy/middleware-content-length": "^4.2.7", "@smithy/middleware-endpoint": "^4.4.1", "@smithy/middleware-retry": "^4.4.17", "@smithy/middleware-serde": "^4.2.8", "@smithy/middleware-stack": "^4.2.7", "@smithy/node-config-provider": "^4.3.7", "@smithy/node-http-handler": "^4.4.7", "@smithy/protocol-http": "^5.3.7", "@smithy/smithy-client": "^4.10.2", "@smithy/types": "^4.11.0", "@smithy/url-parser": "^4.2.7", "@smithy/util-base64": "^4.3.0", "@smithy/util-body-length-browser": "^4.2.0", "@smithy/util-body-length-node": "^4.2.1", "@smithy/util-defaults-mode-browser": "^4.3.16", "@smithy/util-defaults-mode-node": "^4.2.19", "@smithy/util-endpoints": "^3.2.7", "@smithy/util-middleware": "^4.2.7", "@smithy/util-retry": "^4.2.7", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-Sj+r1e1Hqn9/2Z3FYiOL1C7thHht3ZihEB2/yInY1hxA5WJtdWL+OKMd0m+rJy9ZzRWPYSDPFLql+NGtaMKNKQ=="],
-
- "@aws-sdk/client-s3": ["@aws-sdk/client-s3@3.958.0", "", { "dependencies": { "@aws-crypto/sha1-browser": "5.2.0", "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.957.0", "@aws-sdk/credential-provider-node": "3.958.0", "@aws-sdk/middleware-bucket-endpoint": "3.957.0", "@aws-sdk/middleware-expect-continue": "3.957.0", "@aws-sdk/middleware-flexible-checksums": "3.957.0", "@aws-sdk/middleware-host-header": "3.957.0", "@aws-sdk/middleware-location-constraint": "3.957.0", "@aws-sdk/middleware-logger": "3.957.0", "@aws-sdk/middleware-recursion-detection": "3.957.0", "@aws-sdk/middleware-sdk-s3": "3.957.0", "@aws-sdk/middleware-ssec": "3.957.0", "@aws-sdk/middleware-user-agent": "3.957.0", "@aws-sdk/region-config-resolver": "3.957.0", "@aws-sdk/signature-v4-multi-region": "3.957.0", "@aws-sdk/types": "3.957.0", "@aws-sdk/util-endpoints": "3.957.0", "@aws-sdk/util-user-agent-browser": "3.957.0", "@aws-sdk/util-user-agent-node": "3.957.0", "@smithy/config-resolver": "^4.4.5", "@smithy/core": "^3.20.0", "@smithy/eventstream-serde-browser": "^4.2.7", "@smithy/eventstream-serde-config-resolver": "^4.3.7", "@smithy/eventstream-serde-node": "^4.2.7", "@smithy/fetch-http-handler": "^5.3.8", "@smithy/hash-blob-browser": "^4.2.8", "@smithy/hash-node": "^4.2.7", "@smithy/hash-stream-node": "^4.2.7", "@smithy/invalid-dependency": "^4.2.7", "@smithy/md5-js": "^4.2.7", "@smithy/middleware-content-length": "^4.2.7", "@smithy/middleware-endpoint": "^4.4.1", "@smithy/middleware-retry": "^4.4.17", "@smithy/middleware-serde": "^4.2.8", "@smithy/middleware-stack": "^4.2.7", "@smithy/node-config-provider": "^4.3.7", "@smithy/node-http-handler": "^4.4.7", "@smithy/protocol-http": "^5.3.7", "@smithy/smithy-client": "^4.10.2", "@smithy/types": "^4.11.0", "@smithy/url-parser": "^4.2.7", "@smithy/util-base64": "^4.3.0", "@smithy/util-body-length-browser": "^4.2.0", "@smithy/util-body-length-node": "^4.2.1", "@smithy/util-defaults-mode-browser": "^4.3.16", "@smithy/util-defaults-mode-node": "^4.2.19", "@smithy/util-endpoints": "^3.2.7", "@smithy/util-middleware": "^4.2.7", "@smithy/util-retry": "^4.2.7", "@smithy/util-stream": "^4.5.8", "@smithy/util-utf8": "^4.2.0", "@smithy/util-waiter": "^4.2.7", "tslib": "^2.6.2" } }, "sha512-ol8Sw37AToBWb6PjRuT/Wu40SrrZSA0N4F7U3yTkjUNX0lirfO1VFLZ0hZtZplVJv8GNPITbiczxQ8VjxESXxg=="],
-
- "@aws-sdk/client-sso": ["@aws-sdk/client-sso@3.958.0", "", { "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.957.0", "@aws-sdk/middleware-host-header": "3.957.0", "@aws-sdk/middleware-logger": "3.957.0", "@aws-sdk/middleware-recursion-detection": "3.957.0", "@aws-sdk/middleware-user-agent": "3.957.0", "@aws-sdk/region-config-resolver": "3.957.0", "@aws-sdk/types": "3.957.0", "@aws-sdk/util-endpoints": "3.957.0", "@aws-sdk/util-user-agent-browser": "3.957.0", "@aws-sdk/util-user-agent-node": "3.957.0", "@smithy/config-resolver": "^4.4.5", "@smithy/core": "^3.20.0", "@smithy/fetch-http-handler": "^5.3.8", "@smithy/hash-node": "^4.2.7", "@smithy/invalid-dependency": "^4.2.7", "@smithy/middleware-content-length": "^4.2.7", "@smithy/middleware-endpoint": "^4.4.1", "@smithy/middleware-retry": "^4.4.17", "@smithy/middleware-serde": "^4.2.8", "@smithy/middleware-stack": "^4.2.7", "@smithy/node-config-provider": "^4.3.7", "@smithy/node-http-handler": "^4.4.7", "@smithy/protocol-http": "^5.3.7", "@smithy/smithy-client": "^4.10.2", "@smithy/types": "^4.11.0", "@smithy/url-parser": "^4.2.7", "@smithy/util-base64": "^4.3.0", "@smithy/util-body-length-browser": "^4.2.0", "@smithy/util-body-length-node": "^4.2.1", "@smithy/util-defaults-mode-browser": "^4.3.16", "@smithy/util-defaults-mode-node": "^4.2.19", "@smithy/util-endpoints": "^3.2.7", "@smithy/util-middleware": "^4.2.7", "@smithy/util-retry": "^4.2.7", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-6qNCIeaMzKzfqasy2nNRuYnMuaMebCcCPP4J2CVGkA8QYMbIVKPlkn9bpB20Vxe6H/r3jtCCLQaOJjVTx/6dXg=="],
-
- "@aws-sdk/client-sts": ["@aws-sdk/client-sts@3.958.0", "", { "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.957.0", "@aws-sdk/credential-provider-node": "3.958.0", "@aws-sdk/middleware-host-header": "3.957.0", "@aws-sdk/middleware-logger": "3.957.0", "@aws-sdk/middleware-recursion-detection": "3.957.0", "@aws-sdk/middleware-user-agent": "3.957.0", "@aws-sdk/region-config-resolver": "3.957.0", "@aws-sdk/types": "3.957.0", "@aws-sdk/util-endpoints": "3.957.0", "@aws-sdk/util-user-agent-browser": "3.957.0", "@aws-sdk/util-user-agent-node": "3.957.0", "@smithy/config-resolver": "^4.4.5", "@smithy/core": "^3.20.0", "@smithy/fetch-http-handler": "^5.3.8", "@smithy/hash-node": "^4.2.7", "@smithy/invalid-dependency": "^4.2.7", "@smithy/middleware-content-length": "^4.2.7", "@smithy/middleware-endpoint": "^4.4.1", "@smithy/middleware-retry": "^4.4.17", "@smithy/middleware-serde": "^4.2.8", "@smithy/middleware-stack": "^4.2.7", "@smithy/node-config-provider": "^4.3.7", "@smithy/node-http-handler": "^4.4.7", "@smithy/protocol-http": "^5.3.7", "@smithy/smithy-client": "^4.10.2", "@smithy/types": "^4.11.0", "@smithy/url-parser": "^4.2.7", "@smithy/util-base64": "^4.3.0", "@smithy/util-body-length-browser": "^4.2.0", "@smithy/util-body-length-node": "^4.2.1", "@smithy/util-defaults-mode-browser": "^4.3.16", "@smithy/util-defaults-mode-node": "^4.2.19", "@smithy/util-endpoints": "^3.2.7", "@smithy/util-middleware": "^4.2.7", "@smithy/util-retry": "^4.2.7", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-GqKPfuWU/2nT67OH8jezgPEHFxW7X+hNk7VvjJzVO28+423vpc3rrmKQtYwDWkbK3/pmEUi8BWv9P/j64AwRvQ=="],
-
- "@aws-sdk/core": ["@aws-sdk/core@3.957.0", "", { "dependencies": { "@aws-sdk/types": "3.957.0", "@aws-sdk/xml-builder": "3.957.0", "@smithy/core": "^3.20.0", "@smithy/node-config-provider": "^4.3.7", "@smithy/property-provider": "^4.2.7", "@smithy/protocol-http": "^5.3.7", "@smithy/signature-v4": "^5.3.7", "@smithy/smithy-client": "^4.10.2", "@smithy/types": "^4.11.0", "@smithy/util-base64": "^4.3.0", "@smithy/util-middleware": "^4.2.7", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-DrZgDnF1lQZv75a52nFWs6MExihJF2GZB6ETZRqr6jMwhrk2kbJPUtvgbifwcL7AYmVqHQDJBrR/MqkwwFCpiw=="],
-
- "@aws-sdk/crc64-nvme": ["@aws-sdk/crc64-nvme@3.957.0", "", { "dependencies": { "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-qSwSfI+qBU9HDsd6/4fM9faCxYJx2yDuHtj+NVOQ6XYDWQzFab/hUdwuKZ77Pi6goLF1pBZhJ2azaC2w7LbnTA=="],
-
- "@aws-sdk/credential-provider-cognito-identity": ["@aws-sdk/credential-provider-cognito-identity@3.958.0", "", { "dependencies": { "@aws-sdk/client-cognito-identity": "3.958.0", "@aws-sdk/types": "3.957.0", "@smithy/property-provider": "^4.2.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-O+j43kTMoh0jIgXU5C68aA+KWqYCpQ4MiYMIW6WahHGiKOBfk/N1EEifZkY/BIYMNTipItyFI4RROQhZhT/TxA=="],
-
- "@aws-sdk/credential-provider-env": ["@aws-sdk/credential-provider-env@3.957.0", "", { "dependencies": { "@aws-sdk/core": "3.957.0", "@aws-sdk/types": "3.957.0", "@smithy/property-provider": "^4.2.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-475mkhGaWCr+Z52fOOVb/q2VHuNvqEDixlYIkeaO6xJ6t9qR0wpLt4hOQaR6zR1wfZV0SlE7d8RErdYq/PByog=="],
-
- "@aws-sdk/credential-provider-http": ["@aws-sdk/credential-provider-http@3.957.0", "", { "dependencies": { "@aws-sdk/core": "3.957.0", "@aws-sdk/types": "3.957.0", "@smithy/fetch-http-handler": "^5.3.8", "@smithy/node-http-handler": "^4.4.7", "@smithy/property-provider": "^4.2.7", "@smithy/protocol-http": "^5.3.7", "@smithy/smithy-client": "^4.10.2", "@smithy/types": "^4.11.0", "@smithy/util-stream": "^4.5.8", "tslib": "^2.6.2" } }, "sha512-8dS55QHRxXgJlHkEYaCGZIhieCs9NU1HU1BcqQ4RfUdSsfRdxxktqUKgCnBnOOn0oD3PPA8cQOCAVgIyRb3Rfw=="],
-
- "@aws-sdk/credential-provider-ini": ["@aws-sdk/credential-provider-ini@3.958.0", "", { "dependencies": { "@aws-sdk/core": "3.957.0", "@aws-sdk/credential-provider-env": "3.957.0", "@aws-sdk/credential-provider-http": "3.957.0", "@aws-sdk/credential-provider-login": "3.958.0", "@aws-sdk/credential-provider-process": "3.957.0", "@aws-sdk/credential-provider-sso": "3.958.0", "@aws-sdk/credential-provider-web-identity": "3.958.0", "@aws-sdk/nested-clients": "3.958.0", "@aws-sdk/types": "3.957.0", "@smithy/credential-provider-imds": "^4.2.7", "@smithy/property-provider": "^4.2.7", "@smithy/shared-ini-file-loader": "^4.4.2", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-u7twvZa1/6GWmPBZs6DbjlegCoNzNjBsMS/6fvh5quByYrcJr/uLd8YEr7S3UIq4kR/gSnHqcae7y2nL2bqZdg=="],
-
- "@aws-sdk/credential-provider-login": ["@aws-sdk/credential-provider-login@3.958.0", "", { "dependencies": { "@aws-sdk/core": "3.957.0", "@aws-sdk/nested-clients": "3.958.0", "@aws-sdk/types": "3.957.0", "@smithy/property-provider": "^4.2.7", "@smithy/protocol-http": "^5.3.7", "@smithy/shared-ini-file-loader": "^4.4.2", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-sDwtDnBSszUIbzbOORGh5gmXGl9aK25+BHb4gb1aVlqB+nNL2+IUEJA62+CE55lXSH8qXF90paivjK8tOHTwPA=="],
-
- "@aws-sdk/credential-provider-node": ["@aws-sdk/credential-provider-node@3.958.0", "", { "dependencies": { "@aws-sdk/credential-provider-env": "3.957.0", "@aws-sdk/credential-provider-http": "3.957.0", "@aws-sdk/credential-provider-ini": "3.958.0", "@aws-sdk/credential-provider-process": "3.957.0", "@aws-sdk/credential-provider-sso": "3.958.0", "@aws-sdk/credential-provider-web-identity": "3.958.0", "@aws-sdk/types": "3.957.0", "@smithy/credential-provider-imds": "^4.2.7", "@smithy/property-provider": "^4.2.7", "@smithy/shared-ini-file-loader": "^4.4.2", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-vdoZbNG2dt66I7EpN3fKCzi6fp9xjIiwEA/vVVgqO4wXCGw8rKPIdDUus4e13VvTr330uQs2W0UNg/7AgtquEQ=="],
-
- "@aws-sdk/credential-provider-process": ["@aws-sdk/credential-provider-process@3.957.0", "", { "dependencies": { "@aws-sdk/core": "3.957.0", "@aws-sdk/types": "3.957.0", "@smithy/property-provider": "^4.2.7", "@smithy/shared-ini-file-loader": "^4.4.2", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-/KIz9kadwbeLy6SKvT79W81Y+hb/8LMDyeloA2zhouE28hmne+hLn0wNCQXAAupFFlYOAtZR2NTBs7HBAReJlg=="],
-
- "@aws-sdk/credential-provider-sso": ["@aws-sdk/credential-provider-sso@3.958.0", "", { "dependencies": { "@aws-sdk/client-sso": "3.958.0", "@aws-sdk/core": "3.957.0", "@aws-sdk/token-providers": "3.958.0", "@aws-sdk/types": "3.957.0", "@smithy/property-provider": "^4.2.7", "@smithy/shared-ini-file-loader": "^4.4.2", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-CBYHJ5ufp8HC4q+o7IJejCUctJXWaksgpmoFpXerbjAso7/Fg7LLUu9inXVOxlHKLlvYekDXjIUBXDJS2WYdgg=="],
-
- "@aws-sdk/credential-provider-web-identity": ["@aws-sdk/credential-provider-web-identity@3.958.0", "", { "dependencies": { "@aws-sdk/core": "3.957.0", "@aws-sdk/nested-clients": "3.958.0", "@aws-sdk/types": "3.957.0", "@smithy/property-provider": "^4.2.7", "@smithy/shared-ini-file-loader": "^4.4.2", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-dgnvwjMq5Y66WozzUzxNkCFap+umHUtqMMKlr8z/vl9NYMLem/WUbWNpFFOVFWquXikc+ewtpBMR4KEDXfZ+KA=="],
-
- "@aws-sdk/credential-providers": ["@aws-sdk/credential-providers@3.958.0", "", { "dependencies": { "@aws-sdk/client-cognito-identity": "3.958.0", "@aws-sdk/core": "3.957.0", "@aws-sdk/credential-provider-cognito-identity": "3.958.0", "@aws-sdk/credential-provider-env": "3.957.0", "@aws-sdk/credential-provider-http": "3.957.0", "@aws-sdk/credential-provider-ini": "3.958.0", "@aws-sdk/credential-provider-login": "3.958.0", "@aws-sdk/credential-provider-node": "3.958.0", "@aws-sdk/credential-provider-process": "3.957.0", "@aws-sdk/credential-provider-sso": "3.958.0", "@aws-sdk/credential-provider-web-identity": "3.958.0", "@aws-sdk/nested-clients": "3.958.0", "@aws-sdk/types": "3.957.0", "@smithy/config-resolver": "^4.4.5", "@smithy/core": "^3.20.0", "@smithy/credential-provider-imds": "^4.2.7", "@smithy/node-config-provider": "^4.3.7", "@smithy/property-provider": "^4.2.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-HSyfH4f3uG63enBz2KOg25lcEUNPffUVIWcjQCBMIntsojBAOOHcGjuwiKvhwL5tt4nqTAoTXTMZ+drKYM5IAg=="],
-
- "@aws-sdk/middleware-bucket-endpoint": ["@aws-sdk/middleware-bucket-endpoint@3.957.0", "", { "dependencies": { "@aws-sdk/types": "3.957.0", "@aws-sdk/util-arn-parser": "3.957.0", "@smithy/node-config-provider": "^4.3.7", "@smithy/protocol-http": "^5.3.7", "@smithy/types": "^4.11.0", "@smithy/util-config-provider": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-iczcn/QRIBSpvsdAS/rbzmoBpleX1JBjXvCynMbDceVLBIcVrwT1hXECrhtIC2cjh4HaLo9ClAbiOiWuqt+6MA=="],
-
- "@aws-sdk/middleware-expect-continue": ["@aws-sdk/middleware-expect-continue@3.957.0", "", { "dependencies": { "@aws-sdk/types": "3.957.0", "@smithy/protocol-http": "^5.3.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-AlbK3OeVNwZZil0wlClgeI/ISlOt/SPUxBsIns876IFaVu/Pj3DgImnYhpcJuFRek4r4XM51xzIaGQXM6GDHGg=="],
-
- "@aws-sdk/middleware-flexible-checksums": ["@aws-sdk/middleware-flexible-checksums@3.957.0", "", { "dependencies": { "@aws-crypto/crc32": "5.2.0", "@aws-crypto/crc32c": "5.2.0", "@aws-crypto/util": "5.2.0", "@aws-sdk/core": "3.957.0", "@aws-sdk/crc64-nvme": "3.957.0", "@aws-sdk/types": "3.957.0", "@smithy/is-array-buffer": "^4.2.0", "@smithy/node-config-provider": "^4.3.7", "@smithy/protocol-http": "^5.3.7", "@smithy/types": "^4.11.0", "@smithy/util-middleware": "^4.2.7", "@smithy/util-stream": "^4.5.8", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-iJpeVR5V8se1hl2pt+k8bF/e9JO4KWgPCMjg8BtRspNtKIUGy7j6msYvbDixaKZaF2Veg9+HoYcOhwnZumjXSA=="],
-
- "@aws-sdk/middleware-host-header": ["@aws-sdk/middleware-host-header@3.957.0", "", { "dependencies": { "@aws-sdk/types": "3.957.0", "@smithy/protocol-http": "^5.3.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-BBgKawVyfQZglEkNTuBBdC3azlyqNXsvvN4jPkWAiNYcY0x1BasaJFl+7u/HisfULstryweJq/dAvIZIxzlZaA=="],
-
- "@aws-sdk/middleware-location-constraint": ["@aws-sdk/middleware-location-constraint@3.957.0", "", { "dependencies": { "@aws-sdk/types": "3.957.0", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-y8/W7TOQpmDJg/fPYlqAhwA4+I15LrS7TwgUEoxogtkD8gfur9wFMRLT8LCyc9o4NMEcAnK50hSb4+wB0qv6tQ=="],
-
- "@aws-sdk/middleware-logger": ["@aws-sdk/middleware-logger@3.957.0", "", { "dependencies": { "@aws-sdk/types": "3.957.0", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-w1qfKrSKHf9b5a8O76yQ1t69u6NWuBjr5kBX+jRWFx/5mu6RLpqERXRpVJxfosbep7k3B+DSB5tZMZ82GKcJtQ=="],
-
- "@aws-sdk/middleware-recursion-detection": ["@aws-sdk/middleware-recursion-detection@3.957.0", "", { "dependencies": { "@aws-sdk/types": "3.957.0", "@aws/lambda-invoke-store": "^0.2.2", "@smithy/protocol-http": "^5.3.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-D2H/WoxhAZNYX+IjkKTdOhOkWQaK0jjJrDBj56hKjU5c9ltQiaX/1PqJ4dfjHntEshJfu0w+E6XJ+/6A6ILBBA=="],
-
- "@aws-sdk/middleware-sdk-s3": ["@aws-sdk/middleware-sdk-s3@3.957.0", "", { "dependencies": { "@aws-sdk/core": "3.957.0", "@aws-sdk/types": "3.957.0", "@aws-sdk/util-arn-parser": "3.957.0", "@smithy/core": "^3.20.0", "@smithy/node-config-provider": "^4.3.7", "@smithy/protocol-http": "^5.3.7", "@smithy/signature-v4": "^5.3.7", "@smithy/smithy-client": "^4.10.2", "@smithy/types": "^4.11.0", "@smithy/util-config-provider": "^4.2.0", "@smithy/util-middleware": "^4.2.7", "@smithy/util-stream": "^4.5.8", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-5B2qY2nR2LYpxoQP0xUum5A1UNvH2JQpLHDH1nWFNF/XetV7ipFHksMxPNhtJJ6ARaWhQIDXfOUj0jcnkJxXUg=="],
-
- "@aws-sdk/middleware-ssec": ["@aws-sdk/middleware-ssec@3.957.0", "", { "dependencies": { "@aws-sdk/types": "3.957.0", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-qwkmrK0lizdjNt5qxl4tHYfASh8DFpHXM1iDVo+qHe+zuslfMqQEGRkzxS8tJq/I+8F0c6v3IKOveKJAfIvfqQ=="],
-
- "@aws-sdk/middleware-user-agent": ["@aws-sdk/middleware-user-agent@3.957.0", "", { "dependencies": { "@aws-sdk/core": "3.957.0", "@aws-sdk/types": "3.957.0", "@aws-sdk/util-endpoints": "3.957.0", "@smithy/core": "^3.20.0", "@smithy/protocol-http": "^5.3.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-50vcHu96XakQnIvlKJ1UoltrFODjsq2KvtTgHiPFteUS884lQnK5VC/8xd1Msz/1ONpLMzdCVproCQqhDTtMPQ=="],
-
- "@aws-sdk/nested-clients": ["@aws-sdk/nested-clients@3.958.0", "", { "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.957.0", "@aws-sdk/middleware-host-header": "3.957.0", "@aws-sdk/middleware-logger": "3.957.0", "@aws-sdk/middleware-recursion-detection": "3.957.0", "@aws-sdk/middleware-user-agent": "3.957.0", "@aws-sdk/region-config-resolver": "3.957.0", "@aws-sdk/types": "3.957.0", "@aws-sdk/util-endpoints": "3.957.0", "@aws-sdk/util-user-agent-browser": "3.957.0", "@aws-sdk/util-user-agent-node": "3.957.0", "@smithy/config-resolver": "^4.4.5", "@smithy/core": "^3.20.0", "@smithy/fetch-http-handler": "^5.3.8", "@smithy/hash-node": "^4.2.7", "@smithy/invalid-dependency": "^4.2.7", "@smithy/middleware-content-length": "^4.2.7", "@smithy/middleware-endpoint": "^4.4.1", "@smithy/middleware-retry": "^4.4.17", "@smithy/middleware-serde": "^4.2.8", "@smithy/middleware-stack": "^4.2.7", "@smithy/node-config-provider": "^4.3.7", "@smithy/node-http-handler": "^4.4.7", "@smithy/protocol-http": "^5.3.7", "@smithy/smithy-client": "^4.10.2", "@smithy/types": "^4.11.0", "@smithy/url-parser": "^4.2.7", "@smithy/util-base64": "^4.3.0", "@smithy/util-body-length-browser": "^4.2.0", "@smithy/util-body-length-node": "^4.2.1", "@smithy/util-defaults-mode-browser": "^4.3.16", "@smithy/util-defaults-mode-node": "^4.2.19", "@smithy/util-endpoints": "^3.2.7", "@smithy/util-middleware": "^4.2.7", "@smithy/util-retry": "^4.2.7", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-/KuCcS8b5TpQXkYOrPLYytrgxBhv81+5pChkOlhegbeHttjM69pyUpQVJqyfDM/A7wPLnDrzCAnk4zaAOkY0Nw=="],
-
- "@aws-sdk/region-config-resolver": ["@aws-sdk/region-config-resolver@3.957.0", "", { "dependencies": { "@aws-sdk/types": "3.957.0", "@smithy/config-resolver": "^4.4.5", "@smithy/node-config-provider": "^4.3.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-V8iY3blh8l2iaOqXWW88HbkY5jDoWjH56jonprG/cpyqqCnprvpMUZWPWYJoI8rHRf2bqzZeql1slxG6EnKI7A=="],
-
- "@aws-sdk/signature-v4-multi-region": ["@aws-sdk/signature-v4-multi-region@3.957.0", "", { "dependencies": { "@aws-sdk/middleware-sdk-s3": "3.957.0", "@aws-sdk/types": "3.957.0", "@smithy/protocol-http": "^5.3.7", "@smithy/signature-v4": "^5.3.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-t6UfP1xMUigMMzHcb7vaZcjv7dA2DQkk9C/OAP1dKyrE0vb4lFGDaTApi17GN6Km9zFxJthEMUbBc7DL0hq1Bg=="],
-
- "@aws-sdk/token-providers": ["@aws-sdk/token-providers@3.958.0", "", { "dependencies": { "@aws-sdk/core": "3.957.0", "@aws-sdk/nested-clients": "3.958.0", "@aws-sdk/types": "3.957.0", "@smithy/property-provider": "^4.2.7", "@smithy/shared-ini-file-loader": "^4.4.2", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-UCj7lQXODduD1myNJQkV+LYcGYJ9iiMggR8ow8Hva1g3A/Na5imNXzz6O67k7DAee0TYpy+gkNw+SizC6min8Q=="],
-
- "@aws-sdk/types": ["@aws-sdk/types@3.957.0", "", { "dependencies": { "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-wzWC2Nrt859ABk6UCAVY/WYEbAd7FjkdrQL6m24+tfmWYDNRByTJ9uOgU/kw9zqLCAwb//CPvrJdhqjTznWXAg=="],
-
- "@aws-sdk/util-arn-parser": ["@aws-sdk/util-arn-parser@3.957.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-Aj6m+AyrhWyg8YQ4LDPg2/gIfGHCEcoQdBt5DeSFogN5k9mmJPOJ+IAmNSWmWRjpOxEy6eY813RNDI6qS97M0g=="],
-
- "@aws-sdk/util-endpoints": ["@aws-sdk/util-endpoints@3.957.0", "", { "dependencies": { "@aws-sdk/types": "3.957.0", "@smithy/types": "^4.11.0", "@smithy/url-parser": "^4.2.7", "@smithy/util-endpoints": "^3.2.7", "tslib": "^2.6.2" } }, "sha512-xwF9K24mZSxcxKS3UKQFeX/dPYkEps9wF1b+MGON7EvnbcucrJGyQyK1v1xFPn1aqXkBTFi+SZaMRx5E5YCVFw=="],
-
- "@aws-sdk/util-locate-window": ["@aws-sdk/util-locate-window@3.957.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-nhmgKHnNV9K+i9daumaIz8JTLsIIML9PE/HUks5liyrjUzenjW/aHoc7WJ9/Td/gPZtayxFnXQSJRb/fDlBuJw=="],
-
- "@aws-sdk/util-user-agent-browser": ["@aws-sdk/util-user-agent-browser@3.957.0", "", { "dependencies": { "@aws-sdk/types": "3.957.0", "@smithy/types": "^4.11.0", "bowser": "^2.11.0", "tslib": "^2.6.2" } }, "sha512-exueuwxef0lUJRnGaVkNSC674eAiWU07ORhxBnevFFZEKisln+09Qrtw823iyv5I1N8T+wKfh95xvtWQrNKNQw=="],
-
- "@aws-sdk/util-user-agent-node": ["@aws-sdk/util-user-agent-node@3.957.0", "", { "dependencies": { "@aws-sdk/middleware-user-agent": "3.957.0", "@aws-sdk/types": "3.957.0", "@smithy/node-config-provider": "^4.3.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" }, "peerDependencies": { "aws-crt": ">=1.0.0" }, "optionalPeers": ["aws-crt"] }, "sha512-ycbYCwqXk4gJGp0Oxkzf2KBeeGBdTxz559D41NJP8FlzSej1Gh7Rk40Zo6AyTfsNWkrl/kVi1t937OIzC5t+9Q=="],
-
- "@aws-sdk/xml-builder": ["@aws-sdk/xml-builder@3.957.0", "", { "dependencies": { "@smithy/types": "^4.11.0", "fast-xml-parser": "5.2.5", "tslib": "^2.6.2" } }, "sha512-Ai5iiQqS8kJ5PjzMhWcLKN0G2yasAkvpnPlq2EnqlIMdB48HsizElt62qcktdxp4neRMyGkFq4NzgmDbXnhRiA=="],
-
- "@aws/lambda-invoke-store": ["@aws/lambda-invoke-store@0.2.2", "", {}, "sha512-C0NBLsIqzDIae8HFw9YIrIBsbc0xTiOtt7fAukGPnqQ/+zZNaq+4jhuccltK0QuWHBnNm/a6kLIRA6GFiM10eg=="],
-
- "@azure/abort-controller": ["@azure/abort-controller@2.1.2", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA=="],
-
- "@azure/core-auth": ["@azure/core-auth@1.10.1", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-util": "^1.13.0", "tslib": "^2.6.2" } }, "sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg=="],
-
- "@azure/core-client": ["@azure/core-client@1.10.1", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-auth": "^1.10.0", "@azure/core-rest-pipeline": "^1.22.0", "@azure/core-tracing": "^1.3.0", "@azure/core-util": "^1.13.0", "@azure/logger": "^1.3.0", "tslib": "^2.6.2" } }, "sha512-Nh5PhEOeY6PrnxNPsEHRr9eimxLwgLlpmguQaHKBinFYA/RU9+kOYVOQqOrTsCL+KSxrLLl1gD8Dk5BFW/7l/w=="],
-
- "@azure/core-http-compat": ["@azure/core-http-compat@2.3.1", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-client": "^1.10.0", "@azure/core-rest-pipeline": "^1.22.0" } }, "sha512-az9BkXND3/d5VgdRRQVkiJb2gOmDU8Qcq4GvjtBmDICNiQ9udFmDk4ZpSB5Qq1OmtDJGlQAfBaS4palFsazQ5g=="],
-
- "@azure/core-lro": ["@azure/core-lro@2.7.2", "", { "dependencies": { "@azure/abort-controller": "^2.0.0", "@azure/core-util": "^1.2.0", "@azure/logger": "^1.0.0", "tslib": "^2.6.2" } }, "sha512-0YIpccoX8m/k00O7mDDMdJpbr6mf1yWo2dfmxt5A8XVZVVMz2SSKaEbMCeJRvgQ0IaSlqhjT47p4hVIRRy90xw=="],
-
- "@azure/core-paging": ["@azure/core-paging@1.6.2", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-YKWi9YuCU04B55h25cnOYZHxXYtEvQEbKST5vqRga7hWY9ydd3FZHdeQF8pyh+acWZvppw13M/LMGx0LABUVMA=="],
-
- "@azure/core-rest-pipeline": ["@azure/core-rest-pipeline@1.22.2", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-auth": "^1.10.0", "@azure/core-tracing": "^1.3.0", "@azure/core-util": "^1.13.0", "@azure/logger": "^1.3.0", "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" } }, "sha512-MzHym+wOi8CLUlKCQu12de0nwcq9k9Kuv43j4Wa++CsCpJwps2eeBQwD2Bu8snkxTtDKDx4GwjuR9E8yC8LNrg=="],
-
- "@azure/core-tracing": ["@azure/core-tracing@1.3.1", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-9MWKevR7Hz8kNzzPLfX4EAtGM2b8mr50HPDBvio96bURP/9C+HjdH3sBlLSNNrvRAr5/k/svoH457gB5IKpmwQ=="],
-
- "@azure/core-util": ["@azure/core-util@1.13.1", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" } }, "sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A=="],
-
- "@azure/core-xml": ["@azure/core-xml@1.5.0", "", { "dependencies": { "fast-xml-parser": "^5.0.7", "tslib": "^2.8.1" } }, "sha512-D/sdlJBMJfx7gqoj66PKVmhDDaU6TKA49ptcolxdas29X7AfvLTmfAGLjAcIMBK7UZ2o4lygHIqVckOlQU3xWw=="],
-
- "@azure/identity": ["@azure/identity@4.13.0", "", { "dependencies": { "@azure/abort-controller": "^2.0.0", "@azure/core-auth": "^1.9.0", "@azure/core-client": "^1.9.2", "@azure/core-rest-pipeline": "^1.17.0", "@azure/core-tracing": "^1.0.0", "@azure/core-util": "^1.11.0", "@azure/logger": "^1.0.0", "@azure/msal-browser": "^4.2.0", "@azure/msal-node": "^3.5.0", "open": "^10.1.0", "tslib": "^2.2.0" } }, "sha512-uWC0fssc+hs1TGGVkkghiaFkkS7NkTxfnCH+Hdg+yTehTpMcehpok4PgUKKdyCH+9ldu6FhiHRv84Ntqj1vVcw=="],
-
- "@azure/logger": ["@azure/logger@1.3.0", "", { "dependencies": { "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" } }, "sha512-fCqPIfOcLE+CGqGPd66c8bZpwAji98tZ4JI9i/mlTNTlsIWslCfpg48s/ypyLxZTump5sypjrKn2/kY7q8oAbA=="],
-
- "@azure/msal-browser": ["@azure/msal-browser@4.27.0", "", { "dependencies": { "@azure/msal-common": "15.13.3" } }, "sha512-bZ8Pta6YAbdd0o0PEaL1/geBsPrLEnyY/RDWqvF1PP9RUH8EMLvUMGoZFYS6jSlUan6KZ9IMTLCnwpWWpQRK/w=="],
-
- "@azure/msal-common": ["@azure/msal-common@15.13.3", "", {}, "sha512-shSDU7Ioecya+Aob5xliW9IGq1Ui8y4EVSdWGyI1Gbm4Vg61WpP95LuzcY214/wEjSn6w4PZYD4/iVldErHayQ=="],
-
- "@azure/msal-node": ["@azure/msal-node@3.8.4", "", { "dependencies": { "@azure/msal-common": "15.13.3", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" } }, "sha512-lvuAwsDpPDE/jSuVQOBMpLbXuVuLsPNRwWCyK3/6bPlBk0fGWegqoZ0qjZclMWyQ2JNvIY3vHY7hoFmFmFQcOw=="],
-
- "@azure/storage-blob": ["@azure/storage-blob@12.29.1", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-auth": "^1.9.0", "@azure/core-client": "^1.9.3", "@azure/core-http-compat": "^2.2.0", "@azure/core-lro": "^2.2.0", "@azure/core-paging": "^1.6.2", "@azure/core-rest-pipeline": "^1.19.1", "@azure/core-tracing": "^1.2.0", "@azure/core-util": "^1.11.0", "@azure/core-xml": "^1.4.5", "@azure/logger": "^1.1.4", "@azure/storage-common": "^12.1.1", "events": "^3.0.0", "tslib": "^2.8.1" } }, "sha512-7ktyY0rfTM0vo7HvtK6E3UvYnI9qfd6Oz6z/+92VhGRveWng3kJwMKeUpqmW/NmwcDNbxHpSlldG+vsUnRFnBg=="],
-
- "@azure/storage-common": ["@azure/storage-common@12.1.1", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-auth": "^1.9.0", "@azure/core-http-compat": "^2.2.0", "@azure/core-rest-pipeline": "^1.19.1", "@azure/core-tracing": "^1.2.0", "@azure/core-util": "^1.11.0", "@azure/logger": "^1.1.4", "events": "^3.3.0", "tslib": "^2.8.1" } }, "sha512-eIOH1pqFwI6UmVNnDQvmFeSg0XppuzDLFeUNO/Xht7ODAzRLgGDh7h550pSxoA+lPDxBl1+D2m/KG3jWzCUjTg=="],
-
- "@babel/code-frame": ["@babel/code-frame@7.0.0", "", { "dependencies": { "@babel/highlight": "^7.0.0" } }, "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA=="],
-
- "@babel/compat-data": ["@babel/compat-data@7.28.5", "", {}, "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA=="],
-
- "@babel/core": ["@babel/core@7.28.5", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.5", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.5", "@babel/types": "^7.28.5", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw=="],
-
- "@babel/generator": ["@babel/generator@7.28.5", "", { "dependencies": { "@babel/parser": "^7.28.5", "@babel/types": "^7.28.5", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ=="],
-
- "@babel/helper-annotate-as-pure": ["@babel/helper-annotate-as-pure@7.27.3", "", { "dependencies": { "@babel/types": "^7.27.3" } }, "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg=="],
-
- "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@7.27.2", "", { "dependencies": { "@babel/compat-data": "^7.27.2", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ=="],
-
- "@babel/helper-create-class-features-plugin": ["@babel/helper-create-class-features-plugin@7.28.5", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "@babel/helper-member-expression-to-functions": "^7.28.5", "@babel/helper-optimise-call-expression": "^7.27.1", "@babel/helper-replace-supers": "^7.27.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", "@babel/traverse": "^7.28.5", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ=="],
-
- "@babel/helper-create-regexp-features-plugin": ["@babel/helper-create-regexp-features-plugin@7.28.5", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "regexpu-core": "^6.3.1", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw=="],
-
- "@babel/helper-define-polyfill-provider": ["@babel/helper-define-polyfill-provider@0.6.5", "", { "dependencies": { "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-plugin-utils": "^7.27.1", "debug": "^4.4.1", "lodash.debounce": "^4.0.8", "resolve": "^1.22.10" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg=="],
-
- "@babel/helper-globals": ["@babel/helper-globals@7.28.0", "", {}, "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw=="],
-
- "@babel/helper-member-expression-to-functions": ["@babel/helper-member-expression-to-functions@7.28.5", "", { "dependencies": { "@babel/traverse": "^7.28.5", "@babel/types": "^7.28.5" } }, "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg=="],
-
- "@babel/helper-module-imports": ["@babel/helper-module-imports@7.27.1", "", { "dependencies": { "@babel/traverse": "^7.27.1", "@babel/types": "^7.27.1" } }, "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w=="],
-
- "@babel/helper-module-transforms": ["@babel/helper-module-transforms@7.28.3", "", { "dependencies": { "@babel/helper-module-imports": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1", "@babel/traverse": "^7.28.3" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw=="],
-
- "@babel/helper-optimise-call-expression": ["@babel/helper-optimise-call-expression@7.27.1", "", { "dependencies": { "@babel/types": "^7.27.1" } }, "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw=="],
-
- "@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@7.27.1", "", {}, "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw=="],
-
- "@babel/helper-remap-async-to-generator": ["@babel/helper-remap-async-to-generator@7.27.1", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.1", "@babel/helper-wrap-function": "^7.27.1", "@babel/traverse": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA=="],
-
- "@babel/helper-replace-supers": ["@babel/helper-replace-supers@7.27.1", "", { "dependencies": { "@babel/helper-member-expression-to-functions": "^7.27.1", "@babel/helper-optimise-call-expression": "^7.27.1", "@babel/traverse": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA=="],
-
- "@babel/helper-skip-transparent-expression-wrappers": ["@babel/helper-skip-transparent-expression-wrappers@7.27.1", "", { "dependencies": { "@babel/traverse": "^7.27.1", "@babel/types": "^7.27.1" } }, "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg=="],
-
- "@babel/helper-string-parser": ["@babel/helper-string-parser@7.27.1", "", {}, "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA=="],
-
- "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.28.5", "", {}, "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q=="],
-
- "@babel/helper-validator-option": ["@babel/helper-validator-option@7.27.1", "", {}, "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg=="],
-
- "@babel/helper-wrap-function": ["@babel/helper-wrap-function@7.28.3", "", { "dependencies": { "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.3", "@babel/types": "^7.28.2" } }, "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g=="],
-
- "@babel/helpers": ["@babel/helpers@7.28.4", "", { "dependencies": { "@babel/template": "^7.27.2", "@babel/types": "^7.28.4" } }, "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w=="],
-
- "@babel/highlight": ["@babel/highlight@7.25.9", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw=="],
-
- "@babel/parser": ["@babel/parser@7.28.5", "", { "dependencies": { "@babel/types": "^7.28.5" }, "bin": "./bin/babel-parser.js" }, "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ=="],
-
- "@babel/plugin-bugfix-firefox-class-in-computed-class-key": ["@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/traverse": "^7.28.5" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q=="],
-
- "@babel/plugin-bugfix-safari-class-field-initializer-scope": ["@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA=="],
-
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA=="],
-
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", "@babel/plugin-transform-optional-chaining": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.13.0" } }, "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw=="],
-
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/traverse": "^7.28.3" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw=="],
-
- "@babel/plugin-proposal-private-property-in-object": ["@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2", "", { "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w=="],
-
- "@babel/plugin-syntax-async-generators": ["@babel/plugin-syntax-async-generators@7.8.4", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw=="],
-
- "@babel/plugin-syntax-bigint": ["@babel/plugin-syntax-bigint@7.8.3", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg=="],
-
- "@babel/plugin-syntax-class-properties": ["@babel/plugin-syntax-class-properties@7.12.13", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA=="],
-
- "@babel/plugin-syntax-class-static-block": ["@babel/plugin-syntax-class-static-block@7.14.5", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw=="],
-
- "@babel/plugin-syntax-import-assertions": ["@babel/plugin-syntax-import-assertions@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg=="],
-
- "@babel/plugin-syntax-import-attributes": ["@babel/plugin-syntax-import-attributes@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww=="],
-
- "@babel/plugin-syntax-import-meta": ["@babel/plugin-syntax-import-meta@7.10.4", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g=="],
-
- "@babel/plugin-syntax-json-strings": ["@babel/plugin-syntax-json-strings@7.8.3", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA=="],
-
- "@babel/plugin-syntax-jsx": ["@babel/plugin-syntax-jsx@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w=="],
-
- "@babel/plugin-syntax-logical-assignment-operators": ["@babel/plugin-syntax-logical-assignment-operators@7.10.4", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig=="],
-
- "@babel/plugin-syntax-nullish-coalescing-operator": ["@babel/plugin-syntax-nullish-coalescing-operator@7.8.3", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ=="],
-
- "@babel/plugin-syntax-numeric-separator": ["@babel/plugin-syntax-numeric-separator@7.10.4", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug=="],
-
- "@babel/plugin-syntax-object-rest-spread": ["@babel/plugin-syntax-object-rest-spread@7.8.3", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA=="],
-
- "@babel/plugin-syntax-optional-catch-binding": ["@babel/plugin-syntax-optional-catch-binding@7.8.3", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q=="],
-
- "@babel/plugin-syntax-optional-chaining": ["@babel/plugin-syntax-optional-chaining@7.8.3", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg=="],
-
- "@babel/plugin-syntax-private-property-in-object": ["@babel/plugin-syntax-private-property-in-object@7.14.5", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg=="],
-
- "@babel/plugin-syntax-top-level-await": ["@babel/plugin-syntax-top-level-await@7.14.5", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw=="],
-
- "@babel/plugin-syntax-typescript": ["@babel/plugin-syntax-typescript@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ=="],
-
- "@babel/plugin-syntax-unicode-sets-regex": ["@babel/plugin-syntax-unicode-sets-regex@7.18.6", "", { "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg=="],
-
- "@babel/plugin-transform-arrow-functions": ["@babel/plugin-transform-arrow-functions@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA=="],
-
- "@babel/plugin-transform-async-generator-functions": ["@babel/plugin-transform-async-generator-functions@7.28.0", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-remap-async-to-generator": "^7.27.1", "@babel/traverse": "^7.28.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q=="],
-
- "@babel/plugin-transform-async-to-generator": ["@babel/plugin-transform-async-to-generator@7.27.1", "", { "dependencies": { "@babel/helper-module-imports": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-remap-async-to-generator": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA=="],
-
- "@babel/plugin-transform-block-scoped-functions": ["@babel/plugin-transform-block-scoped-functions@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg=="],
-
- "@babel/plugin-transform-block-scoping": ["@babel/plugin-transform-block-scoping@7.28.5", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g=="],
-
- "@babel/plugin-transform-class-properties": ["@babel/plugin-transform-class-properties@7.27.1", "", { "dependencies": { "@babel/helper-create-class-features-plugin": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA=="],
-
- "@babel/plugin-transform-class-static-block": ["@babel/plugin-transform-class-static-block@7.28.3", "", { "dependencies": { "@babel/helper-create-class-features-plugin": "^7.28.3", "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.12.0" } }, "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg=="],
-
- "@babel/plugin-transform-classes": ["@babel/plugin-transform-classes@7.28.4", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-globals": "^7.28.0", "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-replace-supers": "^7.27.1", "@babel/traverse": "^7.28.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA=="],
-
- "@babel/plugin-transform-computed-properties": ["@babel/plugin-transform-computed-properties@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/template": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw=="],
-
- "@babel/plugin-transform-destructuring": ["@babel/plugin-transform-destructuring@7.28.5", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/traverse": "^7.28.5" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw=="],
-
- "@babel/plugin-transform-dotall-regex": ["@babel/plugin-transform-dotall-regex@7.27.1", "", { "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw=="],
-
- "@babel/plugin-transform-duplicate-keys": ["@babel/plugin-transform-duplicate-keys@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q=="],
-
- "@babel/plugin-transform-duplicate-named-capturing-groups-regex": ["@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1", "", { "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ=="],
-
- "@babel/plugin-transform-dynamic-import": ["@babel/plugin-transform-dynamic-import@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A=="],
-
- "@babel/plugin-transform-explicit-resource-management": ["@babel/plugin-transform-explicit-resource-management@7.28.0", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/plugin-transform-destructuring": "^7.28.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ=="],
-
- "@babel/plugin-transform-exponentiation-operator": ["@babel/plugin-transform-exponentiation-operator@7.28.5", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw=="],
-
- "@babel/plugin-transform-export-namespace-from": ["@babel/plugin-transform-export-namespace-from@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ=="],
-
- "@babel/plugin-transform-for-of": ["@babel/plugin-transform-for-of@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw=="],
-
- "@babel/plugin-transform-function-name": ["@babel/plugin-transform-function-name@7.27.1", "", { "dependencies": { "@babel/helper-compilation-targets": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1", "@babel/traverse": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ=="],
-
- "@babel/plugin-transform-json-strings": ["@babel/plugin-transform-json-strings@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q=="],
-
- "@babel/plugin-transform-literals": ["@babel/plugin-transform-literals@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA=="],
-
- "@babel/plugin-transform-logical-assignment-operators": ["@babel/plugin-transform-logical-assignment-operators@7.28.5", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA=="],
-
- "@babel/plugin-transform-member-expression-literals": ["@babel/plugin-transform-member-expression-literals@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ=="],
-
- "@babel/plugin-transform-modules-amd": ["@babel/plugin-transform-modules-amd@7.27.1", "", { "dependencies": { "@babel/helper-module-transforms": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA=="],
-
- "@babel/plugin-transform-modules-commonjs": ["@babel/plugin-transform-modules-commonjs@7.27.1", "", { "dependencies": { "@babel/helper-module-transforms": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw=="],
-
- "@babel/plugin-transform-modules-systemjs": ["@babel/plugin-transform-modules-systemjs@7.28.5", "", { "dependencies": { "@babel/helper-module-transforms": "^7.28.3", "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5", "@babel/traverse": "^7.28.5" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew=="],
-
- "@babel/plugin-transform-modules-umd": ["@babel/plugin-transform-modules-umd@7.27.1", "", { "dependencies": { "@babel/helper-module-transforms": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w=="],
-
- "@babel/plugin-transform-named-capturing-groups-regex": ["@babel/plugin-transform-named-capturing-groups-regex@7.27.1", "", { "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng=="],
-
- "@babel/plugin-transform-new-target": ["@babel/plugin-transform-new-target@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ=="],
-
- "@babel/plugin-transform-nullish-coalescing-operator": ["@babel/plugin-transform-nullish-coalescing-operator@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA=="],
-
- "@babel/plugin-transform-numeric-separator": ["@babel/plugin-transform-numeric-separator@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw=="],
-
- "@babel/plugin-transform-object-rest-spread": ["@babel/plugin-transform-object-rest-spread@7.28.4", "", { "dependencies": { "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-plugin-utils": "^7.27.1", "@babel/plugin-transform-destructuring": "^7.28.0", "@babel/plugin-transform-parameters": "^7.27.7", "@babel/traverse": "^7.28.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew=="],
-
- "@babel/plugin-transform-object-super": ["@babel/plugin-transform-object-super@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-replace-supers": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng=="],
-
- "@babel/plugin-transform-optional-catch-binding": ["@babel/plugin-transform-optional-catch-binding@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q=="],
-
- "@babel/plugin-transform-optional-chaining": ["@babel/plugin-transform-optional-chaining@7.28.5", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ=="],
-
- "@babel/plugin-transform-parameters": ["@babel/plugin-transform-parameters@7.27.7", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg=="],
-
- "@babel/plugin-transform-private-methods": ["@babel/plugin-transform-private-methods@7.27.1", "", { "dependencies": { "@babel/helper-create-class-features-plugin": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA=="],
-
- "@babel/plugin-transform-private-property-in-object": ["@babel/plugin-transform-private-property-in-object@7.27.1", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.1", "@babel/helper-create-class-features-plugin": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ=="],
-
- "@babel/plugin-transform-property-literals": ["@babel/plugin-transform-property-literals@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ=="],
-
- "@babel/plugin-transform-react-constant-elements": ["@babel/plugin-transform-react-constant-elements@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug=="],
-
- "@babel/plugin-transform-react-display-name": ["@babel/plugin-transform-react-display-name@7.28.0", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA=="],
-
- "@babel/plugin-transform-react-jsx": ["@babel/plugin-transform-react-jsx@7.27.1", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.1", "@babel/helper-module-imports": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/types": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw=="],
-
- "@babel/plugin-transform-react-jsx-development": ["@babel/plugin-transform-react-jsx-development@7.27.1", "", { "dependencies": { "@babel/plugin-transform-react-jsx": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q=="],
-
- "@babel/plugin-transform-react-pure-annotations": ["@babel/plugin-transform-react-pure-annotations@7.27.1", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA=="],
-
- "@babel/plugin-transform-regenerator": ["@babel/plugin-transform-regenerator@7.28.4", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA=="],
-
- "@babel/plugin-transform-regexp-modifiers": ["@babel/plugin-transform-regexp-modifiers@7.27.1", "", { "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA=="],
-
- "@babel/plugin-transform-reserved-words": ["@babel/plugin-transform-reserved-words@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw=="],
-
- "@babel/plugin-transform-shorthand-properties": ["@babel/plugin-transform-shorthand-properties@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ=="],
-
- "@babel/plugin-transform-spread": ["@babel/plugin-transform-spread@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q=="],
-
- "@babel/plugin-transform-sticky-regex": ["@babel/plugin-transform-sticky-regex@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g=="],
-
- "@babel/plugin-transform-template-literals": ["@babel/plugin-transform-template-literals@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg=="],
-
- "@babel/plugin-transform-typeof-symbol": ["@babel/plugin-transform-typeof-symbol@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw=="],
-
- "@babel/plugin-transform-typescript": ["@babel/plugin-transform-typescript@7.28.5", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "@babel/helper-create-class-features-plugin": "^7.28.5", "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", "@babel/plugin-syntax-typescript": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA=="],
-
- "@babel/plugin-transform-unicode-escapes": ["@babel/plugin-transform-unicode-escapes@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg=="],
-
- "@babel/plugin-transform-unicode-property-regex": ["@babel/plugin-transform-unicode-property-regex@7.27.1", "", { "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q=="],
-
- "@babel/plugin-transform-unicode-regex": ["@babel/plugin-transform-unicode-regex@7.27.1", "", { "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw=="],
-
- "@babel/plugin-transform-unicode-sets-regex": ["@babel/plugin-transform-unicode-sets-regex@7.27.1", "", { "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw=="],
-
- "@babel/preset-env": ["@babel/preset-env@7.28.5", "", { "dependencies": { "@babel/compat-data": "^7.28.5", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-validator-option": "^7.27.1", "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-import-assertions": "^7.27.1", "@babel/plugin-syntax-import-attributes": "^7.27.1", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.27.1", "@babel/plugin-transform-async-generator-functions": "^7.28.0", "@babel/plugin-transform-async-to-generator": "^7.27.1", "@babel/plugin-transform-block-scoped-functions": "^7.27.1", "@babel/plugin-transform-block-scoping": "^7.28.5", "@babel/plugin-transform-class-properties": "^7.27.1", "@babel/plugin-transform-class-static-block": "^7.28.3", "@babel/plugin-transform-classes": "^7.28.4", "@babel/plugin-transform-computed-properties": "^7.27.1", "@babel/plugin-transform-destructuring": "^7.28.5", "@babel/plugin-transform-dotall-regex": "^7.27.1", "@babel/plugin-transform-duplicate-keys": "^7.27.1", "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", "@babel/plugin-transform-dynamic-import": "^7.27.1", "@babel/plugin-transform-explicit-resource-management": "^7.28.0", "@babel/plugin-transform-exponentiation-operator": "^7.28.5", "@babel/plugin-transform-export-namespace-from": "^7.27.1", "@babel/plugin-transform-for-of": "^7.27.1", "@babel/plugin-transform-function-name": "^7.27.1", "@babel/plugin-transform-json-strings": "^7.27.1", "@babel/plugin-transform-literals": "^7.27.1", "@babel/plugin-transform-logical-assignment-operators": "^7.28.5", "@babel/plugin-transform-member-expression-literals": "^7.27.1", "@babel/plugin-transform-modules-amd": "^7.27.1", "@babel/plugin-transform-modules-commonjs": "^7.27.1", "@babel/plugin-transform-modules-systemjs": "^7.28.5", "@babel/plugin-transform-modules-umd": "^7.27.1", "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", "@babel/plugin-transform-new-target": "^7.27.1", "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", "@babel/plugin-transform-numeric-separator": "^7.27.1", "@babel/plugin-transform-object-rest-spread": "^7.28.4", "@babel/plugin-transform-object-super": "^7.27.1", "@babel/plugin-transform-optional-catch-binding": "^7.27.1", "@babel/plugin-transform-optional-chaining": "^7.28.5", "@babel/plugin-transform-parameters": "^7.27.7", "@babel/plugin-transform-private-methods": "^7.27.1", "@babel/plugin-transform-private-property-in-object": "^7.27.1", "@babel/plugin-transform-property-literals": "^7.27.1", "@babel/plugin-transform-regenerator": "^7.28.4", "@babel/plugin-transform-regexp-modifiers": "^7.27.1", "@babel/plugin-transform-reserved-words": "^7.27.1", "@babel/plugin-transform-shorthand-properties": "^7.27.1", "@babel/plugin-transform-spread": "^7.27.1", "@babel/plugin-transform-sticky-regex": "^7.27.1", "@babel/plugin-transform-template-literals": "^7.27.1", "@babel/plugin-transform-typeof-symbol": "^7.27.1", "@babel/plugin-transform-unicode-escapes": "^7.27.1", "@babel/plugin-transform-unicode-property-regex": "^7.27.1", "@babel/plugin-transform-unicode-regex": "^7.27.1", "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.14", "babel-plugin-polyfill-corejs3": "^0.13.0", "babel-plugin-polyfill-regenerator": "^0.6.5", "core-js-compat": "^3.43.0", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg=="],
-
- "@babel/preset-modules": ["@babel/preset-modules@0.1.6-no-external-plugins", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/types": "^7.4.4", "esutils": "^2.0.2" }, "peerDependencies": { "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA=="],
-
- "@babel/preset-react": ["@babel/preset-react@7.28.5", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-validator-option": "^7.27.1", "@babel/plugin-transform-react-display-name": "^7.28.0", "@babel/plugin-transform-react-jsx": "^7.27.1", "@babel/plugin-transform-react-jsx-development": "^7.27.1", "@babel/plugin-transform-react-pure-annotations": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ=="],
-
- "@babel/preset-typescript": ["@babel/preset-typescript@7.28.5", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-validator-option": "^7.27.1", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/plugin-transform-modules-commonjs": "^7.27.1", "@babel/plugin-transform-typescript": "^7.28.5" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g=="],
-
- "@babel/runtime": ["@babel/runtime@7.28.4", "", {}, "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ=="],
-
- "@babel/template": ["@babel/template@7.27.2", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/parser": "^7.27.2", "@babel/types": "^7.27.1" } }, "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw=="],
-
- "@babel/traverse": ["@babel/traverse@7.28.5", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.5", "@babel/template": "^7.27.2", "@babel/types": "^7.28.5", "debug": "^4.3.1" } }, "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ=="],
-
- "@babel/types": ["@babel/types@7.28.5", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" } }, "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA=="],
-
- "@backstage/app-defaults": ["@backstage/app-defaults@1.7.3", "", { "dependencies": { "@backstage/core-app-api": "^1.19.3", "@backstage/core-components": "^0.18.4", "@backstage/core-plugin-api": "^1.12.1", "@backstage/plugin-permission-react": "^0.4.39", "@backstage/theme": "^0.7.1", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-qV3N5aCJQCuSmO1xVpwzhqstAFUlHQZL5kZ+BqJTmcPBoZWZzkOwwFa14f9VMQczWoUCgW3OtuYZMHs2ZI+N1g=="],
-
- "@backstage/backend-app-api": ["@backstage/backend-app-api@0.9.3", "", { "dependencies": { "@backstage/backend-common": "^0.24.1", "@backstage/backend-plugin-api": "^0.8.1", "@backstage/cli-common": "^0.1.14", "@backstage/cli-node": "^0.2.7", "@backstage/config": "^1.2.0", "@backstage/config-loader": "^1.9.0", "@backstage/errors": "^1.2.4", "@backstage/plugin-auth-node": "^0.5.1", "@backstage/plugin-permission-node": "^0.8.2", "@backstage/types": "^1.1.1", "@manypkg/get-packages": "^1.1.3", "compression": "^1.7.4", "cookie": "^0.6.0", "cors": "^2.8.5", "express": "^4.17.1", "express-promise-router": "^4.1.0", "fs-extra": "^11.2.0", "helmet": "^6.0.0", "jose": "^5.0.0", "knex": "^3.0.0", "lodash": "^4.17.21", "logform": "^2.3.2", "luxon": "^3.0.0", "minimatch": "^9.0.0", "minimist": "^1.2.5", "morgan": "^1.10.0", "node-fetch": "^2.7.0", "node-forge": "^1.3.1", "path-to-regexp": "^6.2.1", "selfsigned": "^2.0.0", "stoppable": "^1.1.0", "triple-beam": "^1.4.1", "uuid": "^9.0.0", "winston": "^3.2.1", "winston-transport": "^4.5.0" } }, "sha512-K4M5Wl3Bu7+4xRpaGdQtEi2iVFqQH766zl+R7lK1n4q/NVWEpulJpmwzPxP45xsJUCJeFkjL+dJn2pw+iS2wHQ=="],
-
- "@backstage/backend-common": ["@backstage/backend-common@0.24.1", "", { "dependencies": { "@aws-sdk/abort-controller": "^3.347.0", "@aws-sdk/client-codecommit": "^3.350.0", "@aws-sdk/client-s3": "^3.350.0", "@aws-sdk/credential-providers": "^3.350.0", "@aws-sdk/types": "^3.347.0", "@backstage/backend-dev-utils": "^0.1.5", "@backstage/backend-plugin-api": "^0.8.1", "@backstage/cli-common": "^0.1.14", "@backstage/config": "^1.2.0", "@backstage/config-loader": "^1.9.0", "@backstage/errors": "^1.2.4", "@backstage/integration": "^1.14.0", "@backstage/integration-aws-node": "^0.1.12", "@backstage/plugin-auth-node": "^0.5.1", "@backstage/types": "^1.1.1", "@google-cloud/storage": "^7.0.0", "@keyv/memcache": "^1.3.5", "@keyv/redis": "^2.5.3", "@kubernetes/client-node": "0.20.0", "@manypkg/get-packages": "^1.1.3", "@octokit/rest": "^19.0.3", "@types/cors": "^2.8.6", "@types/dockerode": "^3.3.0", "@types/express": "^4.17.6", "@types/luxon": "^3.0.0", "@types/webpack-env": "^1.15.2", "archiver": "^6.0.0", "base64-stream": "^1.0.0", "compression": "^1.7.4", "concat-stream": "^2.0.0", "cors": "^2.8.5", "dockerode": "^4.0.0", "express": "^4.17.1", "express-promise-router": "^4.1.0", "fs-extra": "^11.2.0", "git-url-parse": "^14.0.0", "helmet": "^6.0.0", "isomorphic-git": "^1.23.0", "jose": "^5.0.0", "keyv": "^4.5.2", "knex": "^3.0.0", "lodash": "^4.17.21", "logform": "^2.3.2", "luxon": "^3.0.0", "minimatch": "^9.0.0", "minimist": "^1.2.5", "morgan": "^1.10.0", "mysql2": "^3.0.0", "node-fetch": "^2.7.0", "node-forge": "^1.3.1", "p-limit": "^3.1.0", "path-to-regexp": "^6.2.1", "pg": "^8.11.3", "pg-format": "^1.0.4", "raw-body": "^2.4.1", "selfsigned": "^2.0.0", "stoppable": "^1.1.0", "tar": "^6.1.12", "triple-beam": "^1.4.1", "uuid": "^9.0.0", "winston": "^3.2.1", "winston-transport": "^4.5.0", "yauzl": "^3.0.0", "yn": "^4.0.0" }, "peerDependencies": { "pg-connection-string": "^2.3.0" }, "optionalPeers": ["pg-connection-string"] }, "sha512-U4CHgO1Ob1v4StgMolNpVRGg1c3LqhUY2L5ztjdKu3yuwgQcSTWi/sQTtua4OTWTupmhkyYGfroAoeE1QFqUCA=="],
-
- "@backstage/backend-defaults": ["@backstage/backend-defaults@0.4.4", "", { "dependencies": { "@aws-sdk/abort-controller": "^3.347.0", "@aws-sdk/client-codecommit": "^3.350.0", "@aws-sdk/client-s3": "^3.350.0", "@aws-sdk/credential-providers": "^3.350.0", "@aws-sdk/types": "^3.347.0", "@backstage/backend-app-api": "^0.9.3", "@backstage/backend-common": "^0.24.1", "@backstage/backend-dev-utils": "^0.1.5", "@backstage/backend-plugin-api": "^0.8.1", "@backstage/cli-common": "^0.1.14", "@backstage/config": "^1.2.0", "@backstage/config-loader": "^1.9.0", "@backstage/errors": "^1.2.4", "@backstage/integration": "^1.14.0", "@backstage/integration-aws-node": "^0.1.12", "@backstage/plugin-auth-node": "^0.5.1", "@backstage/plugin-events-node": "^0.3.10", "@backstage/plugin-permission-node": "^0.8.2", "@backstage/types": "^1.1.1", "@google-cloud/storage": "^7.0.0", "@keyv/memcache": "^1.3.5", "@keyv/redis": "^2.5.3", "@manypkg/get-packages": "^1.1.3", "@octokit/rest": "^19.0.3", "@opentelemetry/api": "^1.3.0", "@types/cors": "^2.8.6", "@types/express": "^4.17.6", "archiver": "^6.0.0", "base64-stream": "^1.0.0", "better-sqlite3": "^11.0.0", "compression": "^1.7.4", "concat-stream": "^2.0.0", "cookie": "^0.6.0", "cors": "^2.8.5", "cron": "^3.0.0", "express": "^4.17.1", "express-promise-router": "^4.1.0", "fs-extra": "^11.2.0", "git-url-parse": "^14.0.0", "helmet": "^6.0.0", "isomorphic-git": "^1.23.0", "jose": "^5.0.0", "keyv": "^4.5.2", "knex": "^3.0.0", "lodash": "^4.17.21", "logform": "^2.3.2", "luxon": "^3.0.0", "minimatch": "^9.0.0", "minimist": "^1.2.5", "morgan": "^1.10.0", "mysql2": "^3.0.0", "node-fetch": "^2.7.0", "node-forge": "^1.3.1", "p-limit": "^3.1.0", "path-to-regexp": "^6.2.1", "pg": "^8.11.3", "pg-connection-string": "^2.3.0", "pg-format": "^1.0.4", "raw-body": "^2.4.1", "selfsigned": "^2.0.0", "stoppable": "^1.1.0", "tar": "^6.1.12", "triple-beam": "^1.4.1", "uuid": "^9.0.0", "winston": "^3.2.1", "winston-transport": "^4.5.0", "yauzl": "^3.0.0", "yn": "^4.0.0", "zod": "^3.22.4" } }, "sha512-wQmLNxpQPykzdvVcKNUbS0VMJZCRHYYHY/0cLJ/npg8Gpq+pb85Dh+dLV61HhzF+cbig5aRgM2lql7wheyVGlw=="],
-
- "@backstage/backend-dev-utils": ["@backstage/backend-dev-utils@0.1.6", "", {}, "sha512-5TqtPyNhC4JMUdlvrhC0oOexJRCdglsOxc68IANWprNeXhVYoGyg3w/T7+XsN/iBi40a7qXJ1RNAO/hUwbLDAQ=="],
-
- "@backstage/backend-openapi-utils": ["@backstage/backend-openapi-utils@0.5.5", "", { "dependencies": { "@apidevtools/swagger-parser": "^10.1.0", "@backstage/backend-plugin-api": "^1.4.1", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.1", "@types/express": "^4.17.6", "@types/express-serve-static-core": "^4.17.5", "ajv": "^8.16.0", "express": "^4.17.1", "express-openapi-validator": "^5.0.4", "express-promise-router": "^4.1.0", "get-port": "^5.1.1", "json-schema-to-ts": "^3.0.0", "lodash": "^4.17.21", "mockttp": "^3.13.0", "openapi-merge": "^1.3.2", "openapi3-ts": "^3.1.2" } }, "sha512-oIn7rKF+FYM2bOqiuxUbwQkkde2w7QMXbnT+SbNkX4ssSD6CAvsQ/HycxBwCjbw5EXx7NtCnekB/q+QMEb4ppQ=="],
-
- "@backstage/backend-plugin-api": ["@backstage/backend-plugin-api@0.8.1", "", { "dependencies": { "@backstage/cli-common": "^0.1.14", "@backstage/config": "^1.2.0", "@backstage/errors": "^1.2.4", "@backstage/plugin-auth-node": "^0.5.1", "@backstage/plugin-permission-common": "^0.8.1", "@backstage/types": "^1.1.1", "@types/express": "^4.17.6", "@types/luxon": "^3.0.0", "express": "^4.17.1", "knex": "^3.0.0", "luxon": "^3.0.0" } }, "sha512-Ckr/aE+jSZzwooH6nRCRWhtJFhm4P1JTyukH8gygP0wIkQGdoC7n3Xt7cheGP2fMV//9p5NZ+sfNZTr8LpO8hg=="],
-
- "@backstage/catalog-client": ["@backstage/catalog-client@1.12.1", "", { "dependencies": { "@backstage/catalog-model": "^1.7.6", "@backstage/errors": "^1.2.7", "cross-fetch": "^4.0.0", "uri-template": "^2.0.0" } }, "sha512-+09CysCoP35TLNh+y+MKq8iSbSP4VkbynDEC+Wm5YdRNSr8JoQtcmaDtlhyMD2nsOrpIfAuf0KxNARIYXdhruw=="],
-
- "@backstage/catalog-model": ["@backstage/catalog-model@1.7.6", "", { "dependencies": { "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "ajv": "^8.10.0", "lodash": "^4.17.21" } }, "sha512-EaMl9kA+hJhwLz0lTZihA+66mN4PEmE4j5GDxX4Pntjjv/utIQ2kTBfWRgBL1BOayKtfeXKoe19ZoKb7mPYQwQ=="],
-
- "@backstage/cli": ["@backstage/cli@0.27.1", "", { "dependencies": { "@backstage/catalog-model": "^1.7.0", "@backstage/cli-common": "^0.1.14", "@backstage/cli-node": "^0.2.8", "@backstage/config": "^1.2.0", "@backstage/config-loader": "^1.9.1", "@backstage/errors": "^1.2.4", "@backstage/eslint-plugin": "^0.1.9", "@backstage/integration": "^1.15.0", "@backstage/release-manifests": "^0.0.11", "@backstage/types": "^1.1.1", "@manypkg/get-packages": "^1.1.3", "@module-federation/enhanced": "^0.6.0", "@octokit/graphql": "^5.0.0", "@octokit/graphql-schema": "^13.7.0", "@octokit/oauth-app": "^4.2.0", "@octokit/request": "^6.0.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.7", "@rollup/plugin-commonjs": "^26.0.0", "@rollup/plugin-json": "^6.0.0", "@rollup/plugin-node-resolve": "^15.0.0", "@rollup/plugin-yaml": "^4.0.0", "@spotify/eslint-config-base": "^15.0.0", "@spotify/eslint-config-react": "^15.0.0", "@spotify/eslint-config-typescript": "^15.0.0", "@sucrase/webpack-loader": "^2.0.0", "@svgr/core": "6.5.x", "@svgr/plugin-jsx": "6.5.x", "@svgr/plugin-svgo": "6.5.x", "@svgr/rollup": "6.5.x", "@svgr/webpack": "6.5.x", "@swc/core": "^1.3.46", "@swc/helpers": "^0.5.0", "@swc/jest": "^0.2.22", "@types/jest": "^29.5.11", "@types/webpack-env": "^1.15.2", "@typescript-eslint/eslint-plugin": "^6.12.0", "@typescript-eslint/parser": "^6.7.2", "@yarnpkg/lockfile": "^1.1.0", "@yarnpkg/parsers": "^3.0.0", "bfj": "^8.0.0", "buffer": "^6.0.3", "chalk": "^4.0.0", "chokidar": "^3.3.1", "commander": "^12.0.0", "cross-fetch": "^4.0.0", "cross-spawn": "^7.0.3", "css-loader": "^6.5.1", "ctrlc-windows": "^2.1.0", "diff": "^5.0.0", "esbuild": "^0.23.0", "esbuild-loader": "^4.0.0", "eslint": "^8.6.0", "eslint-config-prettier": "^9.0.0", "eslint-formatter-friendly": "^7.0.0", "eslint-plugin-deprecation": "^2.0.0", "eslint-plugin-import": "^2.25.4", "eslint-plugin-jest": "^28.0.0", "eslint-plugin-jsx-a11y": "^6.5.1", "eslint-plugin-react": "^7.28.0", "eslint-plugin-react-hooks": "^4.3.0", "eslint-plugin-unused-imports": "^3.0.0", "eslint-webpack-plugin": "^4.0.0", "express": "^4.17.1", "fork-ts-checker-webpack-plugin": "^9.0.0", "fs-extra": "^11.2.0", "git-url-parse": "^14.0.0", "glob": "^7.1.7", "global-agent": "^3.0.0", "handlebars": "^4.7.3", "html-webpack-plugin": "^5.3.1", "inquirer": "^8.2.0", "jest": "^29.7.0", "jest-css-modules": "^2.1.0", "jest-environment-jsdom": "^29.0.2", "jest-runtime": "^29.0.2", "json-schema": "^0.4.0", "lodash": "^4.17.21", "mini-css-extract-plugin": "^2.4.2", "minimatch": "^9.0.0", "node-fetch": "^2.7.0", "node-libs-browser": "^2.2.1", "npm-packlist": "^5.0.0", "ora": "^5.3.0", "p-limit": "^3.1.0", "p-queue": "^6.6.2", "pirates": "^4.0.6", "postcss": "^8.1.0", "process": "^0.11.10", "raw-loader": "^4.0.2", "react-dev-utils": "^12.0.0-next.60", "react-refresh": "^0.14.0", "recursive-readdir": "^2.2.2", "replace-in-file": "^7.1.0", "rollup": "^4.0.0", "rollup-plugin-dts": "^6.1.0", "rollup-plugin-esbuild": "^6.1.1", "rollup-plugin-postcss": "^4.0.0", "rollup-pluginutils": "^2.8.2", "run-script-webpack-plugin": "^0.2.0", "semver": "^7.5.3", "style-loader": "^3.3.1", "sucrase": "^3.20.2", "swc-loader": "^0.2.3", "tar": "^6.1.12", "terser-webpack-plugin": "^5.1.3", "util": "^0.12.3", "webpack": "^5.70.0", "webpack-dev-server": "^5.0.0", "webpack-node-externals": "^3.0.0", "yaml": "^2.0.0", "yml-loader": "^2.1.0", "yn": "^4.0.0", "zod": "^3.22.4" }, "peerDependencies": { "@vitejs/plugin-react": "^4.3.1", "vite": "^5.0.0", "vite-plugin-html": "^3.2.2", "vite-plugin-node-polyfills": "^0.22.0" }, "optionalPeers": ["@vitejs/plugin-react", "vite", "vite-plugin-html", "vite-plugin-node-polyfills"], "bin": { "backstage-cli": "bin/backstage-cli" } }, "sha512-w9TRDy0DGvqhuVVPCVpUEMBzzDvY5jCyrxgxyAOR/V9B9sW5VduXZCmVKIqKOEKoncFutsWFxtYqYuZynKDJag=="],
-
- "@backstage/cli-common": ["@backstage/cli-common@0.1.16", "", { "dependencies": { "@backstage/errors": "^1.2.7", "cross-spawn": "^7.0.3", "global-agent": "^3.0.0", "undici": "^7.2.3" } }, "sha512-rC2/WhzXK6YYN7jS4bwvbIlji57U8viHFLpLvq4qzskL83IIAvdozbgjY6vcSHughFxHMqYLYs7H3U6h4Z+xGQ=="],
-
- "@backstage/cli-node": ["@backstage/cli-node@0.2.16", "", { "dependencies": { "@backstage/cli-common": "^0.1.16", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "@manypkg/get-packages": "^1.1.3", "@yarnpkg/parsers": "^3.0.0", "fs-extra": "^11.2.0", "semver": "^7.5.3", "zod": "^3.22.4" } }, "sha512-fmx7B1w8fwR2jJR07gHfO1LsJBbrQbi7bIpd+WEX+wncpm7C4zr7qjXsfg6K5ZjlqeI+0+CqMwtosaPE50bKKA=="],
-
- "@backstage/config": ["@backstage/config@1.3.6", "", { "dependencies": { "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "ms": "^2.1.3" } }, "sha512-aq/xPfF1+gEBhlQnCS6L+4dzPzM+pKd47AyljMOmcX1SstnK38YErNJvMg47bJOtxQhtxEW6lyZ1aIui6XO4/A=="],
-
- "@backstage/config-loader": ["@backstage/config-loader@1.10.7", "", { "dependencies": { "@backstage/cli-common": "^0.1.16", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "@types/json-schema": "^7.0.6", "ajv": "^8.10.0", "chokidar": "^3.5.2", "fs-extra": "^11.2.0", "json-schema": "^0.4.0", "json-schema-merge-allof": "^0.8.1", "json-schema-traverse": "^1.0.0", "lodash": "^4.17.21", "minimist": "^1.2.5", "typescript-json-schema": "^0.67.0", "yaml": "^2.0.0" } }, "sha512-X/x4lBeLd6ByPv5lVa8d8TZh9INWa1mYuRzsvnchLd2oin3hL/RFH3em606Mkb/V+SdvgChpY8+h58laXvxxDA=="],
-
- "@backstage/core-app-api": ["@backstage/core-app-api@1.19.3", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/core-plugin-api": "^1.12.1", "@backstage/types": "^1.2.2", "@backstage/version-bridge": "^1.0.11", "@types/prop-types": "^15.7.3", "history": "^5.0.0", "i18next": "^22.4.15", "lodash": "^4.17.21", "prop-types": "^15.7.2", "react-use": "^17.2.4", "zen-observable": "^0.10.0", "zod": "^3.22.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-xqF0go5fdf/o74CuFJW8zMi9CJi5qp4N1arFCGpnKTLGUcVWatZHH+SLLiPqsB4xriKQslSMxyEbcQI9zGkOdw=="],
-
- "@backstage/core-compat-api": ["@backstage/core-compat-api@0.5.5", "", { "dependencies": { "@backstage/core-plugin-api": "^1.12.1", "@backstage/frontend-plugin-api": "^0.13.2", "@backstage/plugin-catalog-react": "^1.21.4", "@backstage/types": "^1.2.2", "@backstage/version-bridge": "^1.0.11", "lodash": "^4.17.21", "zod": "^3.22.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-O+t+XelOsOIyqR1FR62oPDznoHcL0lXv1QO9KUqbBHAJURBsPa9t6DOhzXRxflTFA+dhlg4LhlL08MtC65m+qA=="],
-
- "@backstage/core-components": ["@backstage/core-components@0.14.10", "", { "dependencies": { "@backstage/config": "^1.2.0", "@backstage/core-plugin-api": "^1.9.3", "@backstage/errors": "^1.2.4", "@backstage/theme": "^0.5.6", "@backstage/version-bridge": "^1.0.8", "@date-io/core": "^1.3.13", "@material-table/core": "^3.1.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^24.0.0", "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", "@types/react-sparklines": "^1.7.0", "ansi-regex": "^6.0.1", "classnames": "^2.2.6", "d3-selection": "^3.0.0", "d3-shape": "^3.0.0", "d3-zoom": "^3.0.0", "dagre": "^0.8.5", "linkify-react": "4.1.3", "linkifyjs": "4.1.3", "lodash": "^4.17.21", "pluralize": "^8.0.0", "qs": "^6.9.4", "rc-progress": "3.5.1", "react-helmet": "6.1.0", "react-hook-form": "^7.12.2", "react-idle-timer": "5.7.2", "react-markdown": "^8.0.0", "react-sparklines": "^1.7.0", "react-syntax-highlighter": "^15.4.5", "react-use": "^17.3.2", "react-virtualized-auto-sizer": "^1.0.11", "react-window": "^1.8.6", "remark-gfm": "^3.0.1", "zen-observable": "^0.10.0", "zod": "^3.22.4" }, "peerDependencies": { "react": "^16.13.1 || ^17.0.0 || ^18.0.0", "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", "react-router-dom": "6.0.0-beta.0 || ^6.3.0" } }, "sha512-RAEIQsJimokQDF0eAuRXSZreo2vjhf4a2tlMbi/edPRaGk4nTOHH7q6V7qLqqX9spTzS0bBAhkuif/v96shJuw=="],
-
- "@backstage/core-plugin-api": ["@backstage/core-plugin-api@1.12.1", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/frontend-plugin-api": "^0.13.2", "@backstage/types": "^1.2.2", "@backstage/version-bridge": "^1.0.11", "history": "^5.0.0", "zod": "^3.22.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-SxESH+BsjX10e3XsmqSZIr7dyLxE9T44lyqYqjt8hDFG7/Dh3LADYty5jI6BXzctWYOKFIKUfnpTsk+iv4w4hQ=="],
-
- "@backstage/errors": ["@backstage/errors@1.2.7", "", { "dependencies": { "@backstage/types": "^1.2.1", "serialize-error": "^8.0.1" } }, "sha512-XsH0w4hW0aJs3NuANbvgpQoKrQGYIMUaVKeDoGO/99uDgBbJ2QyDb/m9onbKV7tG9HkEe/NKixKqRhxRLx4wzA=="],
-
- "@backstage/eslint-plugin": ["@backstage/eslint-plugin@0.1.12", "", { "dependencies": { "@manypkg/get-packages": "^1.1.3", "minimatch": "^9.0.0" } }, "sha512-jgG+VF/t8rWSth2Q1BI8kNYKJRsV8k35fzFVPYfdybwejGcqxmJKzVUwbNCyhDKio0Y3ZwfZbohjiaHo+vk50A=="],
-
- "@backstage/frontend-app-api": ["@backstage/frontend-app-api@0.13.3", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/core-app-api": "^1.19.3", "@backstage/core-plugin-api": "^1.12.1", "@backstage/errors": "^1.2.7", "@backstage/frontend-defaults": "^0.3.4", "@backstage/frontend-plugin-api": "^0.13.2", "@backstage/types": "^1.2.2", "@backstage/version-bridge": "^1.0.11", "lodash": "^4.17.21", "zod": "^3.22.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-FE2+On2zPbhqYb0KNE56Ga4+pgqfEvh1UStbH9VC5pSuhE9oDO6vL7aEjjCo8ErBBfqvZMKkCA0xRNOth9cHPQ=="],
-
- "@backstage/frontend-defaults": ["@backstage/frontend-defaults@0.3.4", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/core-components": "^0.18.4", "@backstage/errors": "^1.2.7", "@backstage/frontend-app-api": "^0.13.3", "@backstage/frontend-plugin-api": "^0.13.2", "@backstage/plugin-app": "^0.3.3", "@react-hookz/web": "^24.0.0" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-jB4LiqdRRkWQvyeXP0adE56i81sDa74D2gKGx16t079g6/Jf3q6CPpSYhmKyGWgKj2gCwRjTh7xmclO7Cl0zXA=="],
-
- "@backstage/frontend-plugin-api": ["@backstage/frontend-plugin-api@0.13.2", "", { "dependencies": { "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "@backstage/version-bridge": "^1.0.11", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-bEZjeBvTCGNNDiuB44riq1g/ayPWV5kxXZlIK5No+lnqYco5qraN4TKWjhjUmNSJIQ57/97Cc1QSC02QS+bt1Q=="],
-
- "@backstage/frontend-test-utils": ["@backstage/frontend-test-utils@0.4.2", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/frontend-app-api": "^0.13.3", "@backstage/frontend-plugin-api": "^0.13.2", "@backstage/plugin-app": "^0.3.3", "@backstage/test-utils": "^1.7.14", "@backstage/types": "^1.2.2", "@backstage/version-bridge": "^1.0.11", "zod": "^3.22.4" }, "peerDependencies": { "@testing-library/react": "^16.0.0", "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-O02hVDb2bnA2cs14Xtu/YHYiIjWwWZSLUtyBkmzTV7Ahc1cDkn4ZsNDuYxIveZkGVopg2fCxUxFAdYgDkq32bA=="],
-
- "@backstage/integration": ["@backstage/integration@1.19.0", "", { "dependencies": { "@azure/identity": "^4.0.0", "@azure/storage-blob": "^12.5.0", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@octokit/auth-app": "^4.0.0", "@octokit/rest": "^19.0.3", "cross-fetch": "^4.0.0", "git-url-parse": "^15.0.0", "lodash": "^4.17.21", "luxon": "^3.0.0" } }, "sha512-WR9cFbDr1WCoI1jML/zt9wrZCSqQCbQ61CNAi/fYYv5SiDbhhpOVm56qr+5BZjowKRr6qmcuzu9Vb6HpSDbwTw=="],
-
- "@backstage/integration-aws-node": ["@backstage/integration-aws-node@0.1.19", "", { "dependencies": { "@aws-sdk/client-sts": "^3.350.0", "@aws-sdk/credential-provider-node": "^3.350.0", "@aws-sdk/credential-providers": "^3.350.0", "@aws-sdk/types": "^3.347.0", "@aws-sdk/util-arn-parser": "^3.310.0", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7" } }, "sha512-BC+tz65IjD6EhnaMgW+gbsqdvQEx2EroovmCCyHOJN6y6cGpPu8BVrvqPXKWIjUXczOVDffrNUQ7w357N+kbBw=="],
-
- "@backstage/integration-react": ["@backstage/integration-react@1.2.13", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/core-plugin-api": "^1.12.1", "@backstage/integration": "^1.19.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-l1+wI4w5zWO4WxhhJY1C5cY005AYP2gfkUfyzVpx8EHVdeSFPv1KPBCmETGXzKI7hgZ4K6jzL+sIynDxKY8ZFQ=="],
-
- "@backstage/plugin-app": ["@backstage/plugin-app@0.3.3", "", { "dependencies": { "@backstage/core-components": "^0.18.4", "@backstage/core-plugin-api": "^1.12.1", "@backstage/frontend-plugin-api": "^0.13.2", "@backstage/integration-react": "^1.2.13", "@backstage/plugin-permission-react": "^0.4.39", "@backstage/theme": "^0.7.1", "@backstage/types": "^1.2.2", "@backstage/version-bridge": "^1.0.11", "@material-ui/core": "^4.9.13", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "^4.0.0-alpha.61", "@react-hookz/web": "^24.0.0", "react-use": "^17.2.4", "zod": "^3.22.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-heRxTesxUST5QlanaqqNa7+J9Nu6o0QE018Y5nvFKNcKhdZTQW48acSjZ6mF4OQhAlFOn1G0WLVZcOINhcwNhg=="],
-
- "@backstage/plugin-app-backend": ["@backstage/plugin-app-backend@0.3.76", "", { "dependencies": { "@backstage/backend-common": "^0.25.0", "@backstage/backend-plugin-api": "^1.0.1", "@backstage/config": "^1.2.0", "@backstage/config-loader": "^1.9.1", "@backstage/errors": "^1.2.4", "@backstage/plugin-app-node": "^0.1.26", "@backstage/plugin-auth-node": "^0.5.3", "@backstage/types": "^1.1.1", "@types/express": "^4.17.6", "express": "^4.17.1", "express-promise-router": "^4.1.0", "fs-extra": "^11.2.0", "globby": "^11.0.0", "helmet": "^6.0.0", "knex": "^3.0.0", "lodash": "^4.17.21", "luxon": "^3.0.0", "yn": "^4.0.0" } }, "sha512-606xw9p8HGSQnjY4Mg9PzPcg67Iph16f5wa5JCsRKbUzAFt5u3K9J6WxDCD6hIS/TZ3FxHmzRW0kz8J20gN1YQ=="],
-
- "@backstage/plugin-app-node": ["@backstage/plugin-app-node@0.1.40", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/config-loader": "^1.10.7", "@types/express": "^4.17.6", "express": "^4.22.0", "fs-extra": "^11.2.0" } }, "sha512-1vUjiW0EuUxcW+ghTsTgOWI7Xy+A6MxSWK3x8uWHyuw1k4mGIjq36GW7Ti6Y8+PBdxF4GsjRD8C+zQlmyKZYKw=="],
-
- "@backstage/plugin-auth-backend": ["@backstage/plugin-auth-backend@0.22.12", "", { "dependencies": { "@backstage/backend-common": "^0.24.1", "@backstage/backend-plugin-api": "^0.8.1", "@backstage/catalog-client": "^1.6.6", "@backstage/catalog-model": "^1.6.0", "@backstage/config": "^1.2.0", "@backstage/errors": "^1.2.4", "@backstage/plugin-auth-backend-module-atlassian-provider": "^0.2.5", "@backstage/plugin-auth-backend-module-aws-alb-provider": "^0.1.17", "@backstage/plugin-auth-backend-module-azure-easyauth-provider": "^0.1.7", "@backstage/plugin-auth-backend-module-bitbucket-provider": "^0.1.7", "@backstage/plugin-auth-backend-module-cloudflare-access-provider": "^0.2.1", "@backstage/plugin-auth-backend-module-gcp-iap-provider": "^0.2.19", "@backstage/plugin-auth-backend-module-github-provider": "^0.1.21", "@backstage/plugin-auth-backend-module-gitlab-provider": "^0.1.21", "@backstage/plugin-auth-backend-module-google-provider": "^0.1.21", "@backstage/plugin-auth-backend-module-microsoft-provider": "^0.1.19", "@backstage/plugin-auth-backend-module-oauth2-provider": "^0.2.5", "@backstage/plugin-auth-backend-module-oauth2-proxy-provider": "^0.1.17", "@backstage/plugin-auth-backend-module-oidc-provider": "^0.2.6", "@backstage/plugin-auth-backend-module-okta-provider": "^0.0.17", "@backstage/plugin-auth-backend-module-onelogin-provider": "^0.1.5", "@backstage/plugin-auth-node": "^0.5.1", "@backstage/plugin-catalog-node": "^1.12.6", "@backstage/types": "^1.1.1", "@google-cloud/firestore": "^7.0.0", "@node-saml/passport-saml": "^4.0.4", "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "compression": "^1.7.4", "connect-session-knex": "^4.0.0", "cookie-parser": "^1.4.5", "cors": "^2.8.5", "express": "^4.17.1", "express-promise-router": "^4.1.0", "express-session": "^1.17.1", "fs-extra": "^11.2.0", "google-auth-library": "^9.0.0", "jose": "^5.0.0", "knex": "^3.0.0", "lodash": "^4.17.21", "luxon": "^3.0.0", "minimatch": "^9.0.0", "morgan": "^1.10.0", "node-cache": "^5.1.2", "node-fetch": "^2.7.0", "openid-client": "^5.2.1", "passport": "^0.7.0", "passport-auth0": "^1.4.3", "passport-github2": "^0.1.12", "passport-google-oauth20": "^2.0.0", "passport-microsoft": "^1.0.0", "passport-oauth2": "^1.6.1", "passport-onelogin-oauth": "^0.0.1", "uuid": "^9.0.0", "winston": "^3.2.1", "yn": "^4.0.0" } }, "sha512-3mP+kEkyK3HDg4lqWkF5dTLQ1PqE2JI48GTQ6FwuLqNgarrqevxa33nJSXJuSkCWqeAp4VnS0NJAhKYC/GIeyQ=="],
-
- "@backstage/plugin-auth-backend-module-atlassian-provider": ["@backstage/plugin-auth-backend-module-atlassian-provider@0.2.5", "", { "dependencies": { "@backstage/backend-plugin-api": "^0.8.1", "@backstage/plugin-auth-node": "^0.5.1", "express": "^4.18.2", "passport": "^0.7.0", "passport-atlassian-oauth2": "^2.1.0" } }, "sha512-v7QQIyxbYuajbNW9dnGumjIosmkjPbJbd0hkr2GB/VmqiXgcEEj50bhMF50i02CiE4PrHunS+bh0l1pPksYfzg=="],
-
- "@backstage/plugin-auth-backend-module-aws-alb-provider": ["@backstage/plugin-auth-backend-module-aws-alb-provider@0.1.17", "", { "dependencies": { "@backstage/backend-common": "^0.24.1", "@backstage/backend-plugin-api": "^0.8.1", "@backstage/errors": "^1.2.4", "@backstage/plugin-auth-backend": "^0.22.12", "@backstage/plugin-auth-node": "^0.5.1", "jose": "^5.0.0", "node-cache": "^5.1.2", "node-fetch": "^2.7.0" } }, "sha512-xJdW46fAqVXyoafOR8Tq2RD52FrXCCDpNLrYlOKEa8NaCZCLiaAcn9cqGdax/XtZ6NC48XLmRW8MIzLIXOaQnA=="],
-
- "@backstage/plugin-auth-backend-module-azure-easyauth-provider": ["@backstage/plugin-auth-backend-module-azure-easyauth-provider@0.1.7", "", { "dependencies": { "@backstage/backend-plugin-api": "^0.8.1", "@backstage/catalog-model": "^1.6.0", "@backstage/errors": "^1.2.4", "@backstage/plugin-auth-node": "^0.5.1", "@types/passport": "^1.0.16", "express": "^4.19.2", "jose": "^5.0.0", "passport": "^0.7.0" } }, "sha512-gZgZRljvtWZRlitLtVso3Os/0b902yjNwEp2cEllWSi4jgMcmBifqJdyjPbJErA5SK4OEZrdbiFUEQZGX7T2rA=="],
-
- "@backstage/plugin-auth-backend-module-bitbucket-provider": ["@backstage/plugin-auth-backend-module-bitbucket-provider@0.1.7", "", { "dependencies": { "@backstage/backend-plugin-api": "^0.8.1", "@backstage/plugin-auth-node": "^0.5.1", "express": "^4.18.2", "passport": "^0.7.0", "passport-bitbucket-oauth2": "^0.1.2" } }, "sha512-xWqziQ/4ZG4TtyCb3DWR7CcjpOek/4O5WMDuMPkArKS9EM0Hn0CafuFW9v1nYcxIS+ipEYUQdcyrdJqiAWezRw=="],
-
- "@backstage/plugin-auth-backend-module-cloudflare-access-provider": ["@backstage/plugin-auth-backend-module-cloudflare-access-provider@0.2.1", "", { "dependencies": { "@backstage/backend-plugin-api": "^0.8.1", "@backstage/config": "^1.2.0", "@backstage/errors": "^1.2.4", "@backstage/plugin-auth-node": "^0.5.1", "express": "^4.18.2", "jose": "^5.0.0", "node-fetch": "^2.7.0" } }, "sha512-zCce3ePLCE1/Mgzg8VG0WEP9EEUTXgASf0DuEuP1//xjEhxHG8zOY+u1OHNM5p2X8KC+U+smTWuF82nk0oZP3g=="],
-
- "@backstage/plugin-auth-backend-module-gcp-iap-provider": ["@backstage/plugin-auth-backend-module-gcp-iap-provider@0.2.19", "", { "dependencies": { "@backstage/backend-plugin-api": "^0.8.1", "@backstage/errors": "^1.2.4", "@backstage/plugin-auth-node": "^0.5.1", "@backstage/types": "^1.1.1", "google-auth-library": "^9.0.0" } }, "sha512-a9a63CPClGWqHRJzVvnEQObzMkz81Yh/sluaImPk4EH5vsxLfHXQ3Tn7Y4wC+kVSkQiu3ASD1IjXfE1P0ayjiA=="],
-
- "@backstage/plugin-auth-backend-module-github-provider": ["@backstage/plugin-auth-backend-module-github-provider@0.1.21", "", { "dependencies": { "@backstage/backend-plugin-api": "^0.8.1", "@backstage/plugin-auth-node": "^0.5.1", "passport-github2": "^0.1.12" } }, "sha512-qBhswVCnisj+uClNYlTIWcD27ojDj7XS98oKAbaqA6loBGXCJbHzQzzKeb2kJazPDcBCJi7C1WugNItEGwrYZg=="],
-
- "@backstage/plugin-auth-backend-module-gitlab-provider": ["@backstage/plugin-auth-backend-module-gitlab-provider@0.1.21", "", { "dependencies": { "@backstage/backend-plugin-api": "^0.8.1", "@backstage/plugin-auth-node": "^0.5.1", "express": "^4.18.2", "passport": "^0.7.0", "passport-gitlab2": "^5.0.0" } }, "sha512-MaCjxvpY77FFasKADB8QnE2yD4O9+7PjSgPNxNAY8u8xyeqRILVr1X7psZ89WUPwkNJxks+UuzKBy4NT0gvdRg=="],
-
- "@backstage/plugin-auth-backend-module-google-provider": ["@backstage/plugin-auth-backend-module-google-provider@0.1.21", "", { "dependencies": { "@backstage/backend-plugin-api": "^0.8.1", "@backstage/plugin-auth-node": "^0.5.1", "google-auth-library": "^9.0.0", "passport-google-oauth20": "^2.0.0" } }, "sha512-M/kn5TXZ00l44E28hrZX5LajXBSkIw2fXMZXj3KIFUf6L0iLVW5azlCDoEUXfk13d1ngQBUkfHigQKCLHWC93w=="],
-
- "@backstage/plugin-auth-backend-module-guest-provider": ["@backstage/plugin-auth-backend-module-guest-provider@0.1.10", "", { "dependencies": { "@backstage/backend-common": "^0.24.1", "@backstage/backend-plugin-api": "^0.8.1", "@backstage/catalog-model": "^1.6.0", "@backstage/errors": "^1.2.4", "@backstage/plugin-auth-node": "^0.5.1", "passport-oauth2": "^1.7.0" } }, "sha512-K90TMOuTS6vKKv51YoTWiz27x6IntwXb+vSPLng905vgem8kj9zBlhv53S6hCL3wwyq8Du5PYGUWawVah0SadQ=="],
-
- "@backstage/plugin-auth-backend-module-microsoft-provider": ["@backstage/plugin-auth-backend-module-microsoft-provider@0.1.19", "", { "dependencies": { "@backstage/backend-plugin-api": "^0.8.1", "@backstage/plugin-auth-node": "^0.5.1", "express": "^4.18.2", "jose": "^5.0.0", "node-fetch": "^2.7.0", "passport-microsoft": "^1.0.0" } }, "sha512-Xl4F+R4YDGSCOwL4ZDYoNEbyAXzs6SAKe7aTaWUi99/0Dx/yJWdrJBkqBDwShLybjqiHSpkt5otFZzONsx1Yvg=="],
-
- "@backstage/plugin-auth-backend-module-oauth2-provider": ["@backstage/plugin-auth-backend-module-oauth2-provider@0.2.5", "", { "dependencies": { "@backstage/backend-plugin-api": "^0.8.1", "@backstage/plugin-auth-node": "^0.5.1", "passport": "^0.7.0", "passport-oauth2": "^1.6.1" } }, "sha512-n+1j5SR2EFERgmJhYZeK5+tOaxnnQwi6DsKN6KeGHQzsn4dISeAeDsO3yDiQT0tSneaW9UlWC1iO44YcDeI3Dg=="],
-
- "@backstage/plugin-auth-backend-module-oauth2-proxy-provider": ["@backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.1.17", "", { "dependencies": { "@backstage/backend-plugin-api": "^0.8.1", "@backstage/errors": "^1.2.4", "@backstage/plugin-auth-node": "^0.5.1", "jose": "^5.0.0" } }, "sha512-TbXg8LFe2zgfvh/niWBlDMQMyfiB4xNJt7Ie3j+JTrgyjJnYLJ+ZZrvOeYq+s0pVOpRPuQ/qO1WiExVg4cfXPw=="],
-
- "@backstage/plugin-auth-backend-module-oidc-provider": ["@backstage/plugin-auth-backend-module-oidc-provider@0.2.6", "", { "dependencies": { "@backstage/backend-common": "^0.24.1", "@backstage/backend-plugin-api": "^0.8.1", "@backstage/plugin-auth-backend": "^0.22.12", "@backstage/plugin-auth-node": "^0.5.1", "express": "^4.18.2", "openid-client": "^5.5.0", "passport": "^0.7.0" } }, "sha512-Naf6Bm5Gf/7CNtYtmHqZepJ6pf8CKiDFK5gfojQ8v+bTc3UTarxOassV5oG77JyOVPrXmWZwRWz7Ywl6aYYgEw=="],
-
- "@backstage/plugin-auth-backend-module-okta-provider": ["@backstage/plugin-auth-backend-module-okta-provider@0.0.17", "", { "dependencies": { "@backstage/backend-plugin-api": "^0.8.1", "@backstage/plugin-auth-node": "^0.5.1", "@davidzemon/passport-okta-oauth": "^0.0.5", "express": "^4.18.2", "passport": "^0.7.0" } }, "sha512-ls4wdab8/voIYIw5Wbh+Rc5xnGKExdsSUkj1Kj9jyg3H5Fl6LnDp1gNox52mJHnLouRSFxLWrjWQiKCjPaRHwg=="],
-
- "@backstage/plugin-auth-backend-module-onelogin-provider": ["@backstage/plugin-auth-backend-module-onelogin-provider@0.1.5", "", { "dependencies": { "@backstage/backend-plugin-api": "^0.8.1", "@backstage/plugin-auth-node": "^0.5.1", "express": "^4.18.2", "passport": "^0.7.0", "passport-onelogin-oauth": "^0.0.1" } }, "sha512-Q7u89CDPn0r3PTOljD3abN6x2k2RkOGPHMCoXsjCXkjIzB4lt/fpPus1ggsiZH29ewhrY3AtLl0AJD/Yft/5KA=="],
-
- "@backstage/plugin-auth-node": ["@backstage/plugin-auth-node@0.5.6", "", { "dependencies": { "@backstage/backend-common": "^0.25.0", "@backstage/backend-plugin-api": "^1.1.1", "@backstage/catalog-client": "^1.9.1", "@backstage/catalog-model": "^1.7.3", "@backstage/config": "^1.3.2", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.1", "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "express": "^4.17.1", "jose": "^5.0.0", "lodash": "^4.17.21", "passport": "^0.7.0", "winston": "^3.2.1", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4", "zod-validation-error": "^3.4.0" } }, "sha512-C3hI7gB0hQwc/NORjZYDB368UTbZe1g2md8LHfTLeIeuyoZyFGAODKZa0XCwLFAX99awttkVeuOjffNLR295Sw=="],
-
- "@backstage/plugin-catalog": ["@backstage/plugin-catalog@1.32.1", "", { "dependencies": { "@backstage/catalog-client": "^1.12.1", "@backstage/catalog-model": "^1.7.6", "@backstage/core-compat-api": "^0.5.5", "@backstage/core-components": "^0.18.4", "@backstage/core-plugin-api": "^1.12.1", "@backstage/errors": "^1.2.7", "@backstage/frontend-plugin-api": "^0.13.2", "@backstage/integration-react": "^1.2.13", "@backstage/plugin-catalog-common": "^1.1.7", "@backstage/plugin-catalog-react": "^1.21.4", "@backstage/plugin-permission-react": "^0.4.39", "@backstage/plugin-scaffolder-common": "^1.7.4", "@backstage/plugin-search-common": "^1.2.21", "@backstage/plugin-search-react": "^1.10.1", "@backstage/plugin-techdocs-common": "^0.1.1", "@backstage/plugin-techdocs-react": "^1.3.6", "@backstage/types": "^1.2.2", "@backstage/version-bridge": "^1.0.11", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@mui/utils": "^5.14.15", "classnames": "^2.3.1", "dataloader": "^2.0.0", "history": "^5.0.0", "lodash": "^4.17.21", "pluralize": "^8.0.0", "react-helmet": "6.1.0", "react-use": "^17.2.4", "zen-observable": "^0.10.0" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-Xni8jdlvoOAI2OGaxEPayQrDJJY3physVMfhNZJU6o/zkuiieiIx/oiGgfq3K5eXtf8Nft1comn+wmmYLpeC+Q=="],
-
- "@backstage/plugin-catalog-backend": ["@backstage/plugin-catalog-backend@1.32.1", "", { "dependencies": { "@backstage/backend-common": "^0.25.0", "@backstage/backend-openapi-utils": "^0.5.2", "@backstage/backend-plugin-api": "^1.3.0", "@backstage/catalog-client": "^1.9.1", "@backstage/catalog-model": "^1.7.3", "@backstage/config": "^1.3.2", "@backstage/errors": "^1.2.7", "@backstage/integration": "^1.16.3", "@backstage/plugin-catalog-common": "^1.1.3", "@backstage/plugin-catalog-node": "^1.16.3", "@backstage/plugin-events-node": "^0.4.10", "@backstage/plugin-permission-common": "^0.8.4", "@backstage/plugin-permission-node": "^0.9.1", "@backstage/plugin-search-backend-module-catalog": "^0.3.3", "@backstage/plugin-search-common": "^1.2.17", "@backstage/types": "^1.2.1", "@opentelemetry/api": "^1.9.0", "@types/express": "^4.17.6", "codeowners-utils": "^1.0.2", "core-js": "^3.6.5", "express": "^4.17.1", "fast-json-stable-stringify": "^2.1.0", "fs-extra": "^11.2.0", "git-url-parse": "^15.0.0", "glob": "^7.1.6", "knex": "^3.0.0", "lodash": "^4.17.21", "luxon": "^3.0.0", "minimatch": "^9.0.0", "p-limit": "^3.0.2", "prom-client": "^15.0.0", "uuid": "^11.0.0", "yaml": "^2.0.0", "yn": "^4.0.0", "zod": "^3.22.4" } }, "sha512-qmwoGXUi31mg2WSkVUzMUH44KiIl74dQ5goZqg/AMaplyJkudBogyTvwwfJprSvURUyGZ4N42su5SW5S8wIZzw=="],
-
- "@backstage/plugin-catalog-common": ["@backstage/plugin-catalog-common@1.1.7", "", { "dependencies": { "@backstage/catalog-model": "^1.7.6", "@backstage/plugin-permission-common": "^0.9.3", "@backstage/plugin-search-common": "^1.2.21" } }, "sha512-HIU99MiXvPpUbdsdNtXo+sLo+eMcePjnj8eqIZ9JAkTmod+wGV38T96cYJlyevp4tix80djz8qyuc2FjJTY5LQ=="],
-
- "@backstage/plugin-catalog-graph": ["@backstage/plugin-catalog-graph@0.4.22", "", { "dependencies": { "@backstage/catalog-client": "^1.11.0", "@backstage/catalog-model": "^1.7.5", "@backstage/core-compat-api": "^0.5.0", "@backstage/core-components": "^0.17.5", "@backstage/core-plugin-api": "^1.10.9", "@backstage/frontend-plugin-api": "^0.11.0", "@backstage/plugin-catalog-react": "^1.20.0", "@backstage/types": "^1.2.1", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "classnames": "^2.3.1", "lodash": "^4.17.15", "p-limit": "^3.1.0", "qs": "^6.9.4", "react-use": "^17.2.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-x5WieCiI4/wA6KOdSmCc00B9Tr5uMZUPalhSVKpuaQYG8cP36lNoSm2Ad2DQIbnDaKX9K5r/yQa9o4CY3OTg1Q=="],
-
- "@backstage/plugin-catalog-import": ["@backstage/plugin-catalog-import@0.12.13", "", { "dependencies": { "@backstage/catalog-client": "^1.9.1", "@backstage/catalog-model": "^1.7.3", "@backstage/config": "^1.3.2", "@backstage/core-compat-api": "^0.4.1", "@backstage/core-components": "^0.17.1", "@backstage/core-plugin-api": "^1.10.6", "@backstage/errors": "^1.2.7", "@backstage/frontend-plugin-api": "^0.10.1", "@backstage/integration": "^1.16.3", "@backstage/integration-react": "^1.2.6", "@backstage/plugin-catalog-common": "^1.1.3", "@backstage/plugin-catalog-react": "^1.17.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@octokit/rest": "^19.0.3", "git-url-parse": "^15.0.0", "js-base64": "^3.6.0", "lodash": "^4.17.21", "react-hook-form": "^7.12.2", "react-use": "^17.2.4", "yaml": "^2.0.0" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-ZzDYCo277RRuZbFoAIt+xN2+5P67MsONsLFd2kmCQp4gODJaaLS2j9R7ByGMW9ltvRDcoj38ffzlDeI4sTMK0g=="],
-
- "@backstage/plugin-catalog-node": ["@backstage/plugin-catalog-node@1.20.1", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/catalog-client": "^1.12.1", "@backstage/catalog-model": "^1.7.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-catalog-common": "^1.1.7", "@backstage/plugin-permission-common": "^0.9.3", "@backstage/plugin-permission-node": "^0.10.7", "@backstage/types": "^1.2.2", "lodash": "^4.17.21", "yaml": "^2.0.0" } }, "sha512-EkIk1mzHL3ffOgWXN1qC7gRxbraEQalAbsYzDaa57FdGM+Dabagdx18kC0L00AkGdUxzQk1GTL7bTo8Vptua3A=="],
-
- "@backstage/plugin-catalog-react": ["@backstage/plugin-catalog-react@1.21.4", "", { "dependencies": { "@backstage/catalog-client": "^1.12.1", "@backstage/catalog-model": "^1.7.6", "@backstage/core-compat-api": "^0.5.5", "@backstage/core-components": "^0.18.4", "@backstage/core-plugin-api": "^1.12.1", "@backstage/errors": "^1.2.7", "@backstage/frontend-plugin-api": "^0.13.2", "@backstage/frontend-test-utils": "^0.4.2", "@backstage/integration-react": "^1.2.13", "@backstage/plugin-catalog-common": "^1.1.7", "@backstage/plugin-permission-common": "^0.9.3", "@backstage/plugin-permission-react": "^0.4.39", "@backstage/types": "^1.2.2", "@backstage/version-bridge": "^1.0.11", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^24.0.0", "classnames": "^2.2.6", "lodash": "^4.17.21", "material-ui-popup-state": "^5.3.6", "qs": "^6.9.4", "react-use": "^17.2.4", "yaml": "^2.0.0", "zen-observable": "^0.10.0" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-F8hkM8QsvV4ueAX7TQpHBVUs4hTsyES0KPlPVGDb1YPx9aqYi5kIrK70Tik5z2xib3u3fNlBIPk+lKhvLhw6rg=="],
-
- "@backstage/plugin-events-node": ["@backstage/plugin-events-node@0.3.10", "", { "dependencies": { "@backstage/backend-plugin-api": "^0.8.1" } }, "sha512-A+x674f5VrrwkIxm3LskvnMC7Cw2HibYLvf89jIJFDLsimktOiKwKqv6o11yhqJjoUhaul+z/sDJeQsCMg+Dmg=="],
-
- "@backstage/plugin-home": ["@backstage/plugin-home@0.7.11", "", { "dependencies": { "@backstage/catalog-client": "^1.7.0", "@backstage/catalog-model": "^1.7.0", "@backstage/config": "^1.2.0", "@backstage/core-app-api": "^1.15.0", "@backstage/core-compat-api": "^0.3.0", "@backstage/core-components": "^0.15.0", "@backstage/core-plugin-api": "^1.9.4", "@backstage/frontend-plugin-api": "^0.8.0", "@backstage/plugin-catalog-react": "^1.13.1", "@backstage/plugin-home-react": "^0.1.17", "@backstage/theme": "^0.5.7", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@rjsf/core": "5.21.1", "@rjsf/material-ui": "5.21.1", "@rjsf/utils": "5.21.1", "@rjsf/validator-ajv8": "5.21.1", "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", "lodash": "^4.17.21", "luxon": "^3.4.3", "react-grid-layout": "1.3.4", "react-resizable": "^3.0.4", "react-use": "^17.2.4", "zod": "^3.22.4" }, "peerDependencies": { "react": "^16.13.1 || ^17.0.0 || ^18.0.0", "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", "react-router-dom": "6.0.0-beta.0 || ^6.3.0" } }, "sha512-GdJMFAPx2laf+FddMhS5RIlvM47j8bApp+7IkiBxm9G0hSTtUpij1ZKGp2SXynTOI6zH2h3PKpjcxMUQertJeQ=="],
-
- "@backstage/plugin-home-react": ["@backstage/plugin-home-react@0.1.33", "", { "dependencies": { "@backstage/core-components": "^0.18.4", "@backstage/core-plugin-api": "^1.12.1", "@backstage/frontend-plugin-api": "^0.13.2", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@rjsf/utils": "5.24.13" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-LNwgk6c/Rw8LZqCPM8+NHmW9IYlOQ/dOvz7N1CdkBPyTGDcJa7Bu9KnerMnexa4IN2bKi/qGM/YcijyAva2v+A=="],
-
- "@backstage/plugin-permission-common": ["@backstage/plugin-permission-common@0.9.3", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "cross-fetch": "^4.0.0", "uuid": "^11.0.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" } }, "sha512-QB9HtU4DlKyWaQFJvwiiURej1GYeMn4fB38lsVmvHuFTxraMIwEgoHjSjzdCFBBItrOUl4FILaaIZBtJGei9vA=="],
-
- "@backstage/plugin-permission-node": ["@backstage/plugin-permission-node@0.8.8", "", { "dependencies": { "@backstage/backend-common": "^0.25.0", "@backstage/backend-plugin-api": "^1.2.0", "@backstage/config": "^1.3.2", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.0", "@backstage/plugin-permission-common": "^0.8.4", "@types/express": "^4.17.6", "express": "^4.17.1", "express-promise-router": "^4.1.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" } }, "sha512-CCOjbKFyaZB81fxc/+HAzTsHWfY07XUb6KGNw4D0UlObMLfozfJX09/wvOEM51jDWo+E1YprZ/HJ9CafGfWvgg=="],
-
- "@backstage/plugin-permission-react": ["@backstage/plugin-permission-react@0.4.39", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/core-plugin-api": "^1.12.1", "@backstage/plugin-permission-common": "^0.9.3", "swr": "^2.0.0" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-qCS1AYd0iKGe4Y+LrRRBPF2wlY85tf7rs6tJ6PpR530+WV04SXzthCNNdnjyuoqIFG2RxwbZ9V2F3KVx3gqP7A=="],
-
- "@backstage/plugin-proxy-backend": ["@backstage/plugin-proxy-backend@0.5.11", "", { "dependencies": { "@backstage/backend-common": "^0.25.0", "@backstage/backend-plugin-api": "^1.2.0", "@backstage/config": "^1.3.2", "@backstage/plugin-proxy-node": "^0.1.1", "@backstage/types": "^1.2.1", "@types/express": "^4.17.6", "express": "^4.17.1", "express-promise-router": "^4.1.0", "http-proxy-middleware": "^2.0.0", "morgan": "^1.10.0", "uuid": "^11.0.0", "winston": "^3.2.1", "yaml": "^2.0.0", "yn": "^4.0.0", "yup": "^1.0.0" } }, "sha512-lfTpfLgKPehz7GYhZl0gTMzLq3+0vEuu4N5wuKJyYQ6mxHoZJB9vDaZZoEqpkGoqTfL9gk0fO0UR8yKZuJNqUg=="],
-
- "@backstage/plugin-proxy-node": ["@backstage/plugin-proxy-node@0.1.11", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "http-proxy-middleware": "^2.0.0" } }, "sha512-oorNVc9LEGbh7n2YTVnPZklR8/SImsGYe49VaiQLKviePIZlfPKq3yjHtWfeoJMAo5sVND81mEXNSsmG04hhTA=="],
-
- "@backstage/plugin-scaffolder-common": ["@backstage/plugin-scaffolder-common@1.7.4", "", { "dependencies": { "@backstage/catalog-model": "^1.7.6", "@backstage/errors": "^1.2.7", "@backstage/integration": "^1.19.0", "@backstage/plugin-permission-common": "^0.9.3", "@backstage/types": "^1.2.2", "@microsoft/fetch-event-source": "^2.0.1", "@types/json-schema": "^7.0.9", "cross-fetch": "^4.0.0", "json-schema": "^0.4.0", "uri-template": "^2.0.0", "zen-observable": "^0.10.0" } }, "sha512-cgzdxFhuiwXl5jjlaBGrT0lJ9hJXTr3uzM8zW16Xccz5nt2G/6gmYNy7l6Zl25wkpdfZ89V4b5OIfDNuRmFu0Q=="],
-
- "@backstage/plugin-search": ["@backstage/plugin-search@1.5.1", "", { "dependencies": { "@backstage/core-components": "^0.18.4", "@backstage/core-plugin-api": "^1.12.1", "@backstage/errors": "^1.2.7", "@backstage/frontend-plugin-api": "^0.13.2", "@backstage/plugin-catalog-react": "^1.21.4", "@backstage/plugin-search-common": "^1.2.21", "@backstage/plugin-search-react": "^1.10.1", "@backstage/types": "^1.2.2", "@backstage/version-bridge": "^1.0.11", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "qs": "^6.9.4", "react-use": "^17.2.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-hiwbMhAgQlFRYWzI3+CRuhVQzhMMZZXwhU+JXBclv+6V6ViYRPvX3TWqaABgL8Y0qTy4KxNbHlCnl2XuWdsb/g=="],
-
- "@backstage/plugin-search-backend-module-catalog": ["@backstage/plugin-search-backend-module-catalog@0.3.11", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/catalog-client": "^1.12.1", "@backstage/catalog-model": "^1.7.6", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-catalog-common": "^1.1.7", "@backstage/plugin-catalog-node": "^1.20.1", "@backstage/plugin-permission-common": "^0.9.3", "@backstage/plugin-search-backend-node": "^1.4.0", "@backstage/plugin-search-common": "^1.2.21" } }, "sha512-xnv893eCNcxy70XIi0tKw2LItea2+Qh8k7aEJo4G9DiZKgg5lBtNBGj3mW6hlzVkKLhJdTc8PF29xvs+o8SCkQ=="],
-
- "@backstage/plugin-search-backend-node": ["@backstage/plugin-search-backend-node@1.4.0", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-permission-common": "^0.9.3", "@backstage/plugin-search-common": "^1.2.21", "@types/lunr": "^2.3.3", "lodash": "^4.17.21", "lunr": "^2.3.9", "ndjson": "^2.0.0", "uuid": "^11.0.0" } }, "sha512-zztPebLhqQ1aeOrbpSLeuwlSKowyQnTZGjmxMpGZGTU27CA5VBN9IJ+PwNocug3F221LGgvYwKr+XJOp53YjNQ=="],
-
- "@backstage/plugin-search-common": ["@backstage/plugin-search-common@1.2.21", "", { "dependencies": { "@backstage/plugin-permission-common": "^0.9.3", "@backstage/types": "^1.2.2" } }, "sha512-3M42J4R+qenDSO2fJhHq6V/NN5dFOYBEwuCLKZWPj+4gpeXYdLXaEEF0qTu9oZJqjjQYFrU1k6p1nfw7Ltwaag=="],
-
- "@backstage/plugin-search-react": ["@backstage/plugin-search-react@1.10.1", "", { "dependencies": { "@backstage/core-components": "^0.18.4", "@backstage/core-plugin-api": "^1.12.1", "@backstage/frontend-plugin-api": "^0.13.2", "@backstage/plugin-search-common": "^1.2.21", "@backstage/theme": "^0.7.1", "@backstage/types": "^1.2.2", "@backstage/version-bridge": "^1.0.11", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "lodash": "^4.17.21", "qs": "^6.9.4", "react-use": "^17.3.2", "uuid": "^11.0.2" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-J/5JPg5JVnO3GwqupQmDlRDbHFu/UX0V7qOfgunhu6GAj0XdmiQjWPIytobQ1UmdsXKjyXl+y8gYHwgEfd88iA=="],
-
- "@backstage/plugin-techdocs-common": ["@backstage/plugin-techdocs-common@0.1.1", "", {}, "sha512-MWYW1uVweSJQkI9it2g0xM/4YfykS0GzIlbA3D9YawQIfqQ7UCdsblKHt2Xb3eWLrk+itWrp4IXbW2bUa02DyA=="],
-
- "@backstage/plugin-techdocs-react": ["@backstage/plugin-techdocs-react@1.3.6", "", { "dependencies": { "@backstage/catalog-model": "^1.7.6", "@backstage/config": "^1.3.6", "@backstage/core-components": "^0.18.4", "@backstage/core-plugin-api": "^1.12.1", "@backstage/frontend-plugin-api": "^0.13.2", "@backstage/plugin-techdocs-common": "^0.1.1", "@backstage/version-bridge": "^1.0.11", "@material-ui/core": "^4.12.2", "@material-ui/styles": "^4.11.0", "jss": "~10.10.0", "lodash": "^4.17.21", "react-helmet": "6.1.0", "react-use": "^17.2.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-++GFQUYH/E9ixtClNlZDid7erfI+arwp4+CTC/Wt8vucwJVsc/Ex02ztVTuyiwDSc/iYnqepnm8rDgyQX/lf/Q=="],
-
- "@backstage/release-manifests": ["@backstage/release-manifests@0.0.11", "", { "dependencies": { "cross-fetch": "^4.0.0" } }, "sha512-OZFwv7ohRRB9fDQ+fShgQgM5H4VvKXAtvErSjZCmqGnUiNpyT9e/km0wF2/QVTm2ry5kCEj37f/B/dDp0gmNAw=="],
-
- "@backstage/test-utils": ["@backstage/test-utils@1.7.14", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/core-app-api": "^1.19.3", "@backstage/core-plugin-api": "^1.12.1", "@backstage/plugin-permission-common": "^0.9.3", "@backstage/plugin-permission-react": "^0.4.39", "@backstage/theme": "^0.7.1", "@backstage/types": "^1.2.2", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "cross-fetch": "^4.0.0", "i18next": "^22.4.15", "zen-observable": "^0.10.0" }, "peerDependencies": { "@testing-library/react": "^16.0.0", "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-LyjfJHO9Hu3rPQLZHe3GAVSxzRoIf7hLhIoVx4Zwq4J+EZVcOnCG2TCp8VWFGZoADYiv6/V5YxVd2J0GQoBn9g=="],
-
- "@backstage/theme": ["@backstage/theme@0.5.7", "", { "dependencies": { "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@mui/material": "^5.12.2" }, "peerDependencies": { "@material-ui/core": "^4.12.2", "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", "react": "^16.13.1 || ^17.0.0 || ^18.0.0", "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0" } }, "sha512-XztEKnNot3DA4BuLZJocbSYvpYpWm/OF9PP7nOk9pJ4Jg4YIrEzZxOxPorOp7r/UhZhLwnqneIV3RcFBhOt9BA=="],
-
- "@backstage/types": ["@backstage/types@1.2.2", "", {}, "sha512-gCctHIL3VSCKiffbWDq4Zl2n7g8NPO/dD2ksdOEm9KzWfb5AubsfQzakoKjZ8XvmdaY9jY7j1yRmHSjAqq7rBA=="],
-
- "@backstage/ui": ["@backstage/ui@0.10.0", "", { "dependencies": { "@remixicon/react": "^4.6.0", "@tanstack/react-table": "^8.21.3", "clsx": "^2.1.1", "react-aria-components": "^1.13.0" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-eKIAVM7bnPhuj7TIMYO/jeQ6QkqxyzG3lJj+k9J7XvmxuHK1YQlmdhUrfhMu/s6/NYO1TR5kw7pdxtwN3vMGwA=="],
-
- "@backstage/version-bridge": ["@backstage/version-bridge@1.0.11", "", { "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-gigfUgs6cLWAkU5EZp6C4hwSp7UsYMXf2W6EcLPn/IQAzeO77v2y+SEhWa0MBrfAgxQdEdvcztRCCkTdiXWcxQ=="],
-
- "@balena/dockerignore": ["@balena/dockerignore@1.0.2", "", {}, "sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q=="],
-
- "@bcoe/v8-coverage": ["@bcoe/v8-coverage@0.2.3", "", {}, "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw=="],
-
- "@changesets/types": ["@changesets/types@4.1.0", "", {}, "sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw=="],
-
- "@colors/colors": ["@colors/colors@1.6.0", "", {}, "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA=="],
-
- "@cspotcode/source-map-support": ["@cspotcode/source-map-support@0.8.1", "", { "dependencies": { "@jridgewell/trace-mapping": "0.3.9" } }, "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw=="],
-
- "@dabh/diagnostics": ["@dabh/diagnostics@2.0.8", "", { "dependencies": { "@so-ric/colorspace": "^1.1.6", "enabled": "2.0.x", "kuler": "^2.0.0" } }, "sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q=="],
-
- "@dagrejs/dagre": ["@dagrejs/dagre@1.1.8", "", { "dependencies": { "@dagrejs/graphlib": "2.2.4" } }, "sha512-5SEDlndt4W/LaVzPYJW+bSmSEZc9EzTf8rJ20WCKvjS5EAZAN0b+x0Yww7VMT4R3Wootkg+X9bUfUxazYw6Blw=="],
-
- "@dagrejs/graphlib": ["@dagrejs/graphlib@2.2.4", "", {}, "sha512-mepCf/e9+SKYy1d02/UkvSy6+6MoyXhVxP8lLDfA7BPE1X1d4dR0sZznmbM8/XVJ1GPM+Svnx7Xj6ZweByWUkw=="],
-
- "@date-io/core": ["@date-io/core@1.3.13", "", {}, "sha512-AlEKV7TxjeK+jxWVKcCFrfYAk8spX9aCyiToFIiLPtfQbsjmRGLIhb5VZgptQcJdHtLXo7+m0DuurwFgUToQuA=="],
-
- "@date-io/date-fns": ["@date-io/date-fns@1.3.13", "", { "dependencies": { "@date-io/core": "^1.3.13" }, "peerDependencies": { "date-fns": "^2.0.0" } }, "sha512-yXxGzcRUPcogiMj58wVgFjc9qUYrCnnU9eLcyNbsQCmae4jPuZCDoIBR21j8ZURsM7GRtU62VOw5yNd4dDHunA=="],
-
- "@davidzemon/passport-okta-oauth": ["@davidzemon/passport-okta-oauth@0.0.5", "", { "dependencies": { "@types/passport-oauth2": "^1.4.11", "passport-oauth2": "^1.6.1", "pkginfo": "^0.4.1", "uid2": "^1.0.0" } }, "sha512-eaC2Ve2MIoqR7dLKgpHxhVKRcfgJCes0Fozxm5SefZh/zqLNb8tGIou+dj0EbylksLmB+nVlhr8p8qwjA9n2sA=="],
-
- "@emnapi/core": ["@emnapi/core@1.7.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" } }, "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg=="],
-
- "@emnapi/runtime": ["@emnapi/runtime@1.7.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA=="],
-
- "@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.1.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ=="],
-
- "@emotion/babel-plugin": ["@emotion/babel-plugin@11.13.5", "", { "dependencies": { "@babel/helper-module-imports": "^7.16.7", "@babel/runtime": "^7.18.3", "@emotion/hash": "^0.9.2", "@emotion/memoize": "^0.9.0", "@emotion/serialize": "^1.3.3", "babel-plugin-macros": "^3.1.0", "convert-source-map": "^1.5.0", "escape-string-regexp": "^4.0.0", "find-root": "^1.1.0", "source-map": "^0.5.7", "stylis": "4.2.0" } }, "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ=="],
-
- "@emotion/cache": ["@emotion/cache@11.14.0", "", { "dependencies": { "@emotion/memoize": "^0.9.0", "@emotion/sheet": "^1.4.0", "@emotion/utils": "^1.4.2", "@emotion/weak-memoize": "^0.4.0", "stylis": "4.2.0" } }, "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA=="],
-
- "@emotion/hash": ["@emotion/hash@0.8.0", "", {}, "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow=="],
-
- "@emotion/is-prop-valid": ["@emotion/is-prop-valid@1.4.0", "", { "dependencies": { "@emotion/memoize": "^0.9.0" } }, "sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw=="],
-
- "@emotion/memoize": ["@emotion/memoize@0.9.0", "", {}, "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ=="],
-
- "@emotion/react": ["@emotion/react@11.14.0", "", { "dependencies": { "@babel/runtime": "^7.18.3", "@emotion/babel-plugin": "^11.13.5", "@emotion/cache": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", "@emotion/utils": "^1.4.2", "@emotion/weak-memoize": "^0.4.0", "hoist-non-react-statics": "^3.3.1" }, "peerDependencies": { "react": ">=16.8.0" } }, "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA=="],
-
- "@emotion/serialize": ["@emotion/serialize@1.3.3", "", { "dependencies": { "@emotion/hash": "^0.9.2", "@emotion/memoize": "^0.9.0", "@emotion/unitless": "^0.10.0", "@emotion/utils": "^1.4.2", "csstype": "^3.0.2" } }, "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA=="],
-
- "@emotion/sheet": ["@emotion/sheet@1.4.0", "", {}, "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg=="],
-
- "@emotion/styled": ["@emotion/styled@11.14.1", "", { "dependencies": { "@babel/runtime": "^7.18.3", "@emotion/babel-plugin": "^11.13.5", "@emotion/is-prop-valid": "^1.3.0", "@emotion/serialize": "^1.3.3", "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", "@emotion/utils": "^1.4.2" }, "peerDependencies": { "@emotion/react": "^11.0.0-rc.0", "react": ">=16.8.0" } }, "sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw=="],
-
- "@emotion/unitless": ["@emotion/unitless@0.10.0", "", {}, "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg=="],
-
- "@emotion/use-insertion-effect-with-fallbacks": ["@emotion/use-insertion-effect-with-fallbacks@1.2.0", "", { "peerDependencies": { "react": ">=16.8.0" } }, "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg=="],
-
- "@emotion/utils": ["@emotion/utils@1.4.2", "", {}, "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA=="],
-
- "@emotion/weak-memoize": ["@emotion/weak-memoize@0.4.0", "", {}, "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg=="],
-
- "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.23.1", "", { "os": "aix", "cpu": "ppc64" }, "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ=="],
-
- "@esbuild/android-arm": ["@esbuild/android-arm@0.23.1", "", { "os": "android", "cpu": "arm" }, "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ=="],
-
- "@esbuild/android-arm64": ["@esbuild/android-arm64@0.23.1", "", { "os": "android", "cpu": "arm64" }, "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw=="],
-
- "@esbuild/android-x64": ["@esbuild/android-x64@0.23.1", "", { "os": "android", "cpu": "x64" }, "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg=="],
-
- "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.23.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q=="],
-
- "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.23.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw=="],
-
- "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.23.1", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA=="],
-
- "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.23.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g=="],
-
- "@esbuild/linux-arm": ["@esbuild/linux-arm@0.23.1", "", { "os": "linux", "cpu": "arm" }, "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ=="],
-
- "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.23.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g=="],
-
- "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.23.1", "", { "os": "linux", "cpu": "ia32" }, "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ=="],
-
- "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.23.1", "", { "os": "linux", "cpu": "none" }, "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw=="],
-
- "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.23.1", "", { "os": "linux", "cpu": "none" }, "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q=="],
-
- "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.23.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw=="],
-
- "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.23.1", "", { "os": "linux", "cpu": "none" }, "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA=="],
-
- "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.23.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw=="],
-
- "@esbuild/linux-x64": ["@esbuild/linux-x64@0.23.1", "", { "os": "linux", "cpu": "x64" }, "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ=="],
-
- "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.27.2", "", { "os": "none", "cpu": "arm64" }, "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw=="],
-
- "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.23.1", "", { "os": "none", "cpu": "x64" }, "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA=="],
-
- "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.23.1", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q=="],
-
- "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.23.1", "", { "os": "openbsd", "cpu": "x64" }, "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA=="],
-
- "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.27.2", "", { "os": "none", "cpu": "arm64" }, "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag=="],
-
- "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.23.1", "", { "os": "sunos", "cpu": "x64" }, "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA=="],
-
- "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.23.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A=="],
-
- "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.23.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ=="],
-
- "@esbuild/win32-x64": ["@esbuild/win32-x64@0.23.1", "", { "os": "win32", "cpu": "x64" }, "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg=="],
-
- "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.9.0", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g=="],
-
- "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.2", "", {}, "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew=="],
-
- "@eslint/eslintrc": ["@eslint/eslintrc@2.1.4", "", { "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" } }, "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ=="],
-
- "@eslint/js": ["@eslint/js@8.57.1", "", {}, "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q=="],
-
- "@formatjs/ecma402-abstract": ["@formatjs/ecma402-abstract@2.3.6", "", { "dependencies": { "@formatjs/fast-memoize": "2.2.7", "@formatjs/intl-localematcher": "0.6.2", "decimal.js": "^10.4.3", "tslib": "^2.8.0" } }, "sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw=="],
-
- "@formatjs/fast-memoize": ["@formatjs/fast-memoize@2.2.7", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ=="],
-
- "@formatjs/icu-messageformat-parser": ["@formatjs/icu-messageformat-parser@2.11.4", "", { "dependencies": { "@formatjs/ecma402-abstract": "2.3.6", "@formatjs/icu-skeleton-parser": "1.8.16", "tslib": "^2.8.0" } }, "sha512-7kR78cRrPNB4fjGFZg3Rmj5aah8rQj9KPzuLsmcSn4ipLXQvC04keycTI1F7kJYDwIXtT2+7IDEto842CfZBtw=="],
-
- "@formatjs/icu-skeleton-parser": ["@formatjs/icu-skeleton-parser@1.8.16", "", { "dependencies": { "@formatjs/ecma402-abstract": "2.3.6", "tslib": "^2.8.0" } }, "sha512-H13E9Xl+PxBd8D5/6TVUluSpxGNvFSlN/b3coUp0e0JpuWXXnQDiavIpY3NnvSp4xhEMoXyyBvVfdFX8jglOHQ=="],
-
- "@formatjs/intl-localematcher": ["@formatjs/intl-localematcher@0.6.2", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA=="],
-
- "@google-cloud/firestore": ["@google-cloud/firestore@7.11.6", "", { "dependencies": { "@opentelemetry/api": "^1.3.0", "fast-deep-equal": "^3.1.1", "functional-red-black-tree": "^1.0.1", "google-gax": "^4.3.3", "protobufjs": "^7.2.6" } }, "sha512-EW/O8ktzwLfyWBOsNuhRoMi8lrC3clHM5LVFhGvO1HCsLozCOOXRAlHrYBoE6HL42Sc8yYMuCb2XqcnJ4OOEpw=="],
-
- "@google-cloud/paginator": ["@google-cloud/paginator@5.0.2", "", { "dependencies": { "arrify": "^2.0.0", "extend": "^3.0.2" } }, "sha512-DJS3s0OVH4zFDB1PzjxAsHqJT6sKVbRwwML0ZBP9PbU7Yebtu/7SWMRzvO2J3nUi9pRNITCfu4LJeooM2w4pjg=="],
-
- "@google-cloud/projectify": ["@google-cloud/projectify@4.0.0", "", {}, "sha512-MmaX6HeSvyPbWGwFq7mXdo0uQZLGBYCwziiLIGq5JVX+/bdI3SAq6bP98trV5eTWfLuvsMcIC1YJOF2vfteLFA=="],
-
- "@google-cloud/promisify": ["@google-cloud/promisify@4.0.0", "", {}, "sha512-Orxzlfb9c67A15cq2JQEyVc7wEsmFBmHjZWZYQMUyJ1qivXyMwdyNOs9odi79hze+2zqdTtu1E19IM/FtqZ10g=="],
-
- "@google-cloud/storage": ["@google-cloud/storage@7.18.0", "", { "dependencies": { "@google-cloud/paginator": "^5.0.0", "@google-cloud/projectify": "^4.0.0", "@google-cloud/promisify": "<4.1.0", "abort-controller": "^3.0.0", "async-retry": "^1.3.3", "duplexify": "^4.1.3", "fast-xml-parser": "^4.4.1", "gaxios": "^6.0.2", "google-auth-library": "^9.6.3", "html-entities": "^2.5.2", "mime": "^3.0.0", "p-limit": "^3.0.1", "retry-request": "^7.0.0", "teeny-request": "^9.0.0", "uuid": "^8.0.0" } }, "sha512-r3ZwDMiz4nwW6R922Z1pwpePxyRwE5GdevYX63hRmAQUkUQJcBH/79EnQPDv5cOv1mFBgevdNWQfi3tie3dHrQ=="],
-
- "@graphql-tools/merge": ["@graphql-tools/merge@8.3.1", "", { "dependencies": { "@graphql-tools/utils": "8.9.0", "tslib": "^2.4.0" }, "peerDependencies": { "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, "sha512-BMm99mqdNZbEYeTPK3it9r9S6rsZsQKtlqJsSBknAclXq2pGEfOxjcIZi+kBSkHZKPKCRrYDd5vY0+rUmIHVLg=="],
-
- "@graphql-tools/schema": ["@graphql-tools/schema@8.5.1", "", { "dependencies": { "@graphql-tools/merge": "8.3.1", "@graphql-tools/utils": "8.9.0", "tslib": "^2.4.0", "value-or-promise": "1.0.11" }, "peerDependencies": { "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, "sha512-0Esilsh0P/qYcB5DKQpiKeQs/jevzIadNTaT0jeWklPMwNbT7yMX4EqZany7mbeRRlSRwMzNzL5olyFdffHBZg=="],
-
- "@graphql-tools/utils": ["@graphql-tools/utils@8.13.1", "", { "dependencies": { "tslib": "^2.4.0" }, "peerDependencies": { "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, "sha512-qIh9yYpdUFmctVqovwMdheVNJqFh+DQNWIhX87FJStfXYnmweBUDATok9fWPleKeFwxnW8IapKmY8m8toJEkAw=="],
-
- "@grpc/grpc-js": ["@grpc/grpc-js@1.14.3", "", { "dependencies": { "@grpc/proto-loader": "^0.8.0", "@js-sdsl/ordered-map": "^4.4.2" } }, "sha512-Iq8QQQ/7X3Sac15oB6p0FmUg/klxQvXLeileoqrTRGJYLV+/9tubbr9ipz0GKHjmXVsgFPo/+W+2cA8eNcR+XA=="],
-
- "@grpc/proto-loader": ["@grpc/proto-loader@0.7.15", "", { "dependencies": { "lodash.camelcase": "^4.3.0", "long": "^5.0.0", "protobufjs": "^7.2.5", "yargs": "^17.7.2" }, "bin": { "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" } }, "sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ=="],
-
- "@happy-dom/global-registrator": ["@happy-dom/global-registrator@20.0.11", "", { "dependencies": { "@types/node": "^20.0.0", "happy-dom": "^20.0.11" } }, "sha512-GqNqiShBT/lzkHTMC/slKBrvN0DsD4Di8ssBk4aDaVgEn+2WMzE6DXxq701ndSXj7/0cJ8mNT71pM7Bnrr6JRw=="],
-
- "@httptoolkit/httpolyglot": ["@httptoolkit/httpolyglot@2.2.2", "", { "dependencies": { "@types/node": "*" } }, "sha512-Mm75bidN/jrUsuhBjHAMoQbmR52zQYi8xr/+0mQYGW+dQelg+sdJR/kGRKKZGeAoPgp/1rrZWJqdohZP0xm18g=="],
-
- "@httptoolkit/subscriptions-transport-ws": ["@httptoolkit/subscriptions-transport-ws@0.11.2", "", { "dependencies": { "backo2": "^1.0.2", "eventemitter3": "^3.1.0", "iterall": "^1.2.1", "symbol-observable": "^1.0.4", "ws": "^8.8.0" }, "peerDependencies": { "graphql": "^15.7.2 || ^16.0.0" } }, "sha512-YB+gYYVjgYUeJrGkfS91ABeNWCFU7EVcn9Cflf2UXjsIiPJEI6yPxujPcjKv9wIJpM+33KQW/qVEmc+BdIDK2w=="],
-
- "@httptoolkit/websocket-stream": ["@httptoolkit/websocket-stream@6.0.1", "", { "dependencies": { "@types/ws": "*", "duplexify": "^3.5.1", "inherits": "^2.0.1", "isomorphic-ws": "^4.0.1", "readable-stream": "^2.3.3", "safe-buffer": "^5.1.2", "ws": "*", "xtend": "^4.0.0" } }, "sha512-A0NOZI+Glp3Xgcz6Na7i7o09+/+xm2m0UCU8gdtM2nIv6/cjLmhMZMqehSpTlgbx9omtLmV8LVqOskPEyWnmZQ=="],
-
- "@humanwhocodes/config-array": ["@humanwhocodes/config-array@0.13.0", "", { "dependencies": { "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" } }, "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw=="],
-
- "@humanwhocodes/module-importer": ["@humanwhocodes/module-importer@1.0.1", "", {}, "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="],
-
- "@humanwhocodes/object-schema": ["@humanwhocodes/object-schema@2.0.3", "", {}, "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA=="],
-
- "@inquirer/ansi": ["@inquirer/ansi@1.0.2", "", {}, "sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ=="],
-
- "@inquirer/confirm": ["@inquirer/confirm@5.1.21", "", { "dependencies": { "@inquirer/core": "^10.3.2", "@inquirer/type": "^3.0.10" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ=="],
-
- "@inquirer/core": ["@inquirer/core@10.3.2", "", { "dependencies": { "@inquirer/ansi": "^1.0.2", "@inquirer/figures": "^1.0.15", "@inquirer/type": "^3.0.10", "cli-width": "^4.1.0", "mute-stream": "^2.0.0", "signal-exit": "^4.1.0", "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.3" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A=="],
-
- "@inquirer/external-editor": ["@inquirer/external-editor@1.0.3", "", { "dependencies": { "chardet": "^2.1.1", "iconv-lite": "^0.7.0" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA=="],
-
- "@inquirer/figures": ["@inquirer/figures@1.0.15", "", {}, "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g=="],
-
- "@inquirer/type": ["@inquirer/type@3.0.10", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA=="],
-
- "@internationalized/date": ["@internationalized/date@3.10.1", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-oJrXtQiAXLvT9clCf1K4kxp3eKsQhIaZqxEyowkBcsvZDdZkbWrVmnGknxs5flTD0VGsxrxKgBCZty1EzoiMzA=="],
-
- "@internationalized/message": ["@internationalized/message@3.1.8", "", { "dependencies": { "@swc/helpers": "^0.5.0", "intl-messageformat": "^10.1.0" } }, "sha512-Rwk3j/TlYZhn3HQ6PyXUV0XP9Uv42jqZGNegt0BXlxjE6G3+LwHjbQZAGHhCnCPdaA6Tvd3ma/7QzLlLkJxAWA=="],
-
- "@internationalized/number": ["@internationalized/number@3.6.5", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g=="],
-
- "@internationalized/string": ["@internationalized/string@3.2.7", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-D4OHBjrinH+PFZPvfCXvG28n2LSykWcJ7GIioQL+ok0LON15SdfoUssoHzzOUmVZLbRoREsQXVzA6r8JKsbP6A=="],
-
- "@ioredis/commands": ["@ioredis/commands@1.4.0", "", {}, "sha512-aFT2yemJJo+TZCmieA7qnYGQooOS7QfNmYrzGtsYd3g9j5iDP8AimYYAesf79ohjbLG12XxC4nG5DyEnC88AsQ=="],
-
- "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="],
-
- "@istanbuljs/load-nyc-config": ["@istanbuljs/load-nyc-config@1.1.0", "", { "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", "get-package-type": "^0.1.0", "js-yaml": "^3.13.1", "resolve-from": "^5.0.0" } }, "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ=="],
-
- "@istanbuljs/schema": ["@istanbuljs/schema@0.1.3", "", {}, "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA=="],
-
- "@jest/console": ["@jest/console@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "jest-message-util": "^29.7.0", "jest-util": "^29.7.0", "slash": "^3.0.0" } }, "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg=="],
-
- "@jest/core": ["@jest/core@29.7.0", "", { "dependencies": { "@jest/console": "^29.7.0", "@jest/reporters": "^29.7.0", "@jest/test-result": "^29.7.0", "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "jest-changed-files": "^29.7.0", "jest-config": "^29.7.0", "jest-haste-map": "^29.7.0", "jest-message-util": "^29.7.0", "jest-regex-util": "^29.6.3", "jest-resolve": "^29.7.0", "jest-resolve-dependencies": "^29.7.0", "jest-runner": "^29.7.0", "jest-runtime": "^29.7.0", "jest-snapshot": "^29.7.0", "jest-util": "^29.7.0", "jest-validate": "^29.7.0", "jest-watcher": "^29.7.0", "micromatch": "^4.0.4", "pretty-format": "^29.7.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "optionalPeers": ["node-notifier"] }, "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg=="],
-
- "@jest/create-cache-key-function": ["@jest/create-cache-key-function@30.2.0", "", { "dependencies": { "@jest/types": "30.2.0" } }, "sha512-44F4l4Enf+MirJN8X/NhdGkl71k5rBYiwdVlo4HxOwbu0sHV8QKrGEedb1VUU4K3W7fBKE0HGfbn7eZm0Ti3zg=="],
-
- "@jest/environment": ["@jest/environment@29.7.0", "", { "dependencies": { "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "jest-mock": "^29.7.0" } }, "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw=="],
-
- "@jest/expect": ["@jest/expect@29.7.0", "", { "dependencies": { "expect": "^29.7.0", "jest-snapshot": "^29.7.0" } }, "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ=="],
-
- "@jest/expect-utils": ["@jest/expect-utils@29.7.0", "", { "dependencies": { "jest-get-type": "^29.6.3" } }, "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA=="],
-
- "@jest/fake-timers": ["@jest/fake-timers@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", "@types/node": "*", "jest-message-util": "^29.7.0", "jest-mock": "^29.7.0", "jest-util": "^29.7.0" } }, "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ=="],
-
- "@jest/globals": ["@jest/globals@29.7.0", "", { "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", "@jest/types": "^29.6.3", "jest-mock": "^29.7.0" } }, "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ=="],
-
- "@jest/pattern": ["@jest/pattern@30.0.1", "", { "dependencies": { "@types/node": "*", "jest-regex-util": "30.0.1" } }, "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA=="],
-
- "@jest/reporters": ["@jest/reporters@29.7.0", "", { "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.7.0", "@jest/test-result": "^29.7.0", "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "@jridgewell/trace-mapping": "^0.3.18", "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", "istanbul-lib-coverage": "^3.0.0", "istanbul-lib-instrument": "^6.0.0", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", "jest-message-util": "^29.7.0", "jest-util": "^29.7.0", "jest-worker": "^29.7.0", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", "v8-to-istanbul": "^9.0.1" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "optionalPeers": ["node-notifier"] }, "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg=="],
-
- "@jest/schemas": ["@jest/schemas@29.6.3", "", { "dependencies": { "@sinclair/typebox": "^0.27.8" } }, "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA=="],
-
- "@jest/source-map": ["@jest/source-map@29.6.3", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", "graceful-fs": "^4.2.9" } }, "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw=="],
-
- "@jest/test-result": ["@jest/test-result@29.7.0", "", { "dependencies": { "@jest/console": "^29.7.0", "@jest/types": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA=="],
-
- "@jest/test-sequencer": ["@jest/test-sequencer@29.7.0", "", { "dependencies": { "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", "jest-haste-map": "^29.7.0", "slash": "^3.0.0" } }, "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw=="],
-
- "@jest/transform": ["@jest/transform@29.7.0", "", { "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", "@jridgewell/trace-mapping": "^0.3.18", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^2.0.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", "jest-haste-map": "^29.7.0", "jest-regex-util": "^29.6.3", "jest-util": "^29.7.0", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", "write-file-atomic": "^4.0.2" } }, "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw=="],
-
- "@jest/types": ["@jest/types@29.6.3", "", { "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", "@types/yargs": "^17.0.8", "chalk": "^4.0.0" } }, "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw=="],
-
- "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="],
-
- "@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="],
-
- "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="],
-
- "@jridgewell/source-map": ["@jridgewell/source-map@0.3.11", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" } }, "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA=="],
-
- "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="],
-
- "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="],
-
- "@js-sdsl/ordered-map": ["@js-sdsl/ordered-map@4.4.2", "", {}, "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw=="],
-
- "@jsdevtools/ono": ["@jsdevtools/ono@7.1.3", "", {}, "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg=="],
-
- "@jsonjoy.com/base64": ["@jsonjoy.com/base64@1.1.2", "", { "peerDependencies": { "tslib": "2" } }, "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA=="],
-
- "@jsonjoy.com/buffers": ["@jsonjoy.com/buffers@1.2.1", "", { "peerDependencies": { "tslib": "2" } }, "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA=="],
-
- "@jsonjoy.com/codegen": ["@jsonjoy.com/codegen@1.0.0", "", { "peerDependencies": { "tslib": "2" } }, "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g=="],
-
- "@jsonjoy.com/json-pack": ["@jsonjoy.com/json-pack@1.21.0", "", { "dependencies": { "@jsonjoy.com/base64": "^1.1.2", "@jsonjoy.com/buffers": "^1.2.0", "@jsonjoy.com/codegen": "^1.0.0", "@jsonjoy.com/json-pointer": "^1.0.2", "@jsonjoy.com/util": "^1.9.0", "hyperdyperid": "^1.2.0", "thingies": "^2.5.0", "tree-dump": "^1.1.0" }, "peerDependencies": { "tslib": "2" } }, "sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg=="],
-
- "@jsonjoy.com/json-pointer": ["@jsonjoy.com/json-pointer@1.0.2", "", { "dependencies": { "@jsonjoy.com/codegen": "^1.0.0", "@jsonjoy.com/util": "^1.9.0" }, "peerDependencies": { "tslib": "2" } }, "sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg=="],
-
- "@jsonjoy.com/util": ["@jsonjoy.com/util@1.9.0", "", { "dependencies": { "@jsonjoy.com/buffers": "^1.0.0", "@jsonjoy.com/codegen": "^1.0.0" }, "peerDependencies": { "tslib": "2" } }, "sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ=="],
-
- "@keyv/memcache": ["@keyv/memcache@1.4.1", "", { "dependencies": { "json-buffer": "^3.0.1", "memjs": "^1.3.2" } }, "sha512-BoXgJG3xZO6J3JPuJGzbP+gyc1QcqzEK7o0SP7TFdMu+AXJ8LAXflCqJug3BmDNTCnBb3mqUgMr01EOhJ+CqWw=="],
-
- "@keyv/redis": ["@keyv/redis@2.8.5", "", { "dependencies": { "ioredis": "^5.4.1" } }, "sha512-e9W1faN32A1Wy5726qtorAvPu1Xffh75ngfQQtETQ0hIN/FQtK0RcBTz/OH/vwDvLX8zrzdu0sWq/KoSHDYfVw=="],
-
- "@kubernetes/client-node": ["@kubernetes/client-node@0.20.0", "", { "dependencies": { "@types/js-yaml": "^4.0.1", "@types/node": "^20.1.1", "@types/request": "^2.47.1", "@types/ws": "^8.5.3", "byline": "^5.0.0", "isomorphic-ws": "^5.0.0", "js-yaml": "^4.1.0", "jsonpath-plus": "^7.2.0", "request": "^2.88.0", "rfc4648": "^1.3.0", "stream-buffers": "^3.0.2", "tar": "^6.1.11", "tslib": "^2.4.1", "ws": "^8.11.0" }, "optionalDependencies": { "openid-client": "^5.3.0" } }, "sha512-xxlv5GLX4FVR/dDKEsmi4SPeuB49aRc35stndyxcC73XnUEEwF39vXbROpHOirmDse8WE9vxOjABnSVS+jb7EA=="],
-
- "@leichtgewicht/ip-codec": ["@leichtgewicht/ip-codec@2.0.5", "", {}, "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw=="],
-
- "@manypkg/find-root": ["@manypkg/find-root@1.1.0", "", { "dependencies": { "@babel/runtime": "^7.5.5", "@types/node": "^12.7.1", "find-up": "^4.1.0", "fs-extra": "^8.1.0" } }, "sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA=="],
-
- "@manypkg/get-packages": ["@manypkg/get-packages@1.1.3", "", { "dependencies": { "@babel/runtime": "^7.5.5", "@changesets/types": "^4.0.1", "@manypkg/find-root": "^1.1.0", "fs-extra": "^8.1.0", "globby": "^11.0.0", "read-yaml-file": "^1.1.0" } }, "sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A=="],
-
- "@material-table/core": ["@material-table/core@3.2.5", "", { "dependencies": { "@babel/runtime": "^7.12.5", "@date-io/date-fns": "^1.3.13", "@material-ui/pickers": "^3.2.10", "@material-ui/styles": "^4.11.4", "classnames": "^2.2.6", "date-fns": "^2.16.1", "debounce": "^1.2.0", "fast-deep-equal": "^3.1.3", "prop-types": "^15.7.2", "react-beautiful-dnd": "^13.0.0", "react-double-scrollbar": "0.0.15", "uuid": "^3.4.0" }, "peerDependencies": { "@date-io/core": "^1.3.13", "@material-ui/core": "^4.11.2", "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-TmVN/In15faabezW3COb4Ve5+YhqxFEQnf2Q2Cz3FVXXCFqJvtu3pkRLi+7N9UJ5bvistszz6wfHeiZZY1Rf9Q=="],
-
- "@material-ui/core": ["@material-ui/core@4.12.4", "", { "dependencies": { "@babel/runtime": "^7.4.4", "@material-ui/styles": "^4.11.5", "@material-ui/system": "^4.12.2", "@material-ui/types": "5.1.0", "@material-ui/utils": "^4.11.3", "@types/react-transition-group": "^4.2.0", "clsx": "^1.0.4", "hoist-non-react-statics": "^3.3.2", "popper.js": "1.16.1-lts", "prop-types": "^15.7.2", "react-is": "^16.8.0 || ^17.0.0", "react-transition-group": "^4.4.0" }, "peerDependencies": { "@types/react": "^16.8.6 || ^17.0.0", "react": "^16.8.0 || ^17.0.0", "react-dom": "^16.8.0 || ^17.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ=="],
-
- "@material-ui/icons": ["@material-ui/icons@4.11.3", "", { "dependencies": { "@babel/runtime": "^7.4.4" }, "peerDependencies": { "@material-ui/core": "^4.0.0", "@types/react": "^16.8.6 || ^17.0.0", "react": "^16.8.0 || ^17.0.0", "react-dom": "^16.8.0 || ^17.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-IKHlyx6LDh8n19vzwH5RtHIOHl9Tu90aAAxcbWME6kp4dmvODM3UvOHJeMIDzUbd4muuJKHmlNoBN+mDY4XkBA=="],
-
- "@material-ui/lab": ["@material-ui/lab@4.0.0-alpha.61", "", { "dependencies": { "@babel/runtime": "^7.4.4", "@material-ui/utils": "^4.11.3", "clsx": "^1.0.4", "prop-types": "^15.7.2", "react-is": "^16.8.0 || ^17.0.0" }, "peerDependencies": { "@material-ui/core": "^4.12.1", "@types/react": "^16.8.6 || ^17.0.0", "react": "^16.8.0 || ^17.0.0", "react-dom": "^16.8.0 || ^17.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-rSzm+XKiNUjKegj8bzt5+pygZeckNLOr+IjykH8sYdVk7dE9y2ZuUSofiMV2bJk3qU+JHwexmw+q0RyNZB9ugg=="],
-
- "@material-ui/pickers": ["@material-ui/pickers@3.3.11", "", { "dependencies": { "@babel/runtime": "^7.6.0", "@date-io/core": "1.x", "@types/styled-jsx": "^2.2.8", "clsx": "^1.0.2", "react-transition-group": "^4.0.0", "rifm": "^0.7.0" }, "peerDependencies": { "@material-ui/core": "^4.0.0", "prop-types": "^15.6.0", "react": "^16.8.0 || ^17.0.0", "react-dom": "^16.8.0 || ^17.0.0" } }, "sha512-pDYjbjUeabapijS2FpSwK/ruJdk7IGeAshpLbKDa3PRRKRy7Nv6sXxAvUg2F+lID/NwUKgBmCYS5bzrl7Xxqzw=="],
-
- "@material-ui/styles": ["@material-ui/styles@4.11.5", "", { "dependencies": { "@babel/runtime": "^7.4.4", "@emotion/hash": "^0.8.0", "@material-ui/types": "5.1.0", "@material-ui/utils": "^4.11.3", "clsx": "^1.0.4", "csstype": "^2.5.2", "hoist-non-react-statics": "^3.3.2", "jss": "^10.5.1", "jss-plugin-camel-case": "^10.5.1", "jss-plugin-default-unit": "^10.5.1", "jss-plugin-global": "^10.5.1", "jss-plugin-nested": "^10.5.1", "jss-plugin-props-sort": "^10.5.1", "jss-plugin-rule-value-function": "^10.5.1", "jss-plugin-vendor-prefixer": "^10.5.1", "prop-types": "^15.7.2" }, "peerDependencies": { "@types/react": "^16.8.6 || ^17.0.0", "react": "^16.8.0 || ^17.0.0", "react-dom": "^16.8.0 || ^17.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA=="],
-
- "@material-ui/system": ["@material-ui/system@4.12.2", "", { "dependencies": { "@babel/runtime": "^7.4.4", "@material-ui/utils": "^4.11.3", "csstype": "^2.5.2", "prop-types": "^15.7.2" }, "peerDependencies": { "@types/react": "^16.8.6 || ^17.0.0", "react": "^16.8.0 || ^17.0.0", "react-dom": "^16.8.0 || ^17.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw=="],
-
- "@material-ui/types": ["@material-ui/types@5.1.0", "", { "peerDependencies": { "@types/react": "*" }, "optionalPeers": ["@types/react"] }, "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A=="],
-
- "@material-ui/utils": ["@material-ui/utils@4.11.3", "", { "dependencies": { "@babel/runtime": "^7.4.4", "prop-types": "^15.7.2", "react-is": "^16.8.0 || ^17.0.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0", "react-dom": "^16.8.0 || ^17.0.0" } }, "sha512-ZuQPV4rBK/V1j2dIkSSEcH5uT6AaHuKWFfotADHsC0wVL1NLd2WkFCm4ZZbX33iO4ydl6V0GPngKm8HZQ2oujg=="],
-
- "@microsoft/fetch-event-source": ["@microsoft/fetch-event-source@2.0.1", "", {}, "sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA=="],
-
- "@module-federation/bridge-react-webpack-plugin": ["@module-federation/bridge-react-webpack-plugin@0.6.16", "", { "dependencies": { "@module-federation/sdk": "0.6.16", "@types/semver": "7.5.8", "semver": "7.6.3" } }, "sha512-AQj20lUL5fmdz4un56W3VF8naZaRDmztczl+/j4Qa69JAaUbbZK6zZJ3NEjx0cNzpiq/mGmG9Vik3V4rI/4BUA=="],
-
- "@module-federation/data-prefetch": ["@module-federation/data-prefetch@0.6.16", "", { "dependencies": { "@module-federation/runtime": "0.6.16", "@module-federation/sdk": "0.6.16", "fs-extra": "9.1.0" }, "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" } }, "sha512-m5SNKlAkB2FFCs2cl6LWqo6s2NZ7HuCrp6QrrMzuKjB6EddvKojVQxOzrWdcMLs1vESy6fyU4M4U7PxSojw6Ww=="],
-
- "@module-federation/dts-plugin": ["@module-federation/dts-plugin@0.6.16", "", { "dependencies": { "@module-federation/error-codes": "0.6.14", "@module-federation/managers": "0.6.16", "@module-federation/sdk": "0.6.16", "@module-federation/third-party-dts-extractor": "0.6.16", "adm-zip": "^0.5.10", "ansi-colors": "^4.1.3", "axios": "^1.7.4", "chalk": "3.0.0", "fs-extra": "9.1.0", "isomorphic-ws": "5.0.0", "koa": "2.15.3", "lodash.clonedeepwith": "4.5.0", "log4js": "6.9.1", "node-schedule": "2.1.1", "rambda": "^9.1.0", "ws": "8.18.0" }, "peerDependencies": { "typescript": "^4.9.0 || ^5.0.0", "vue-tsc": ">=1.0.24" }, "optionalPeers": ["vue-tsc"] }, "sha512-XM6+EYVrS2Q/ZW0u9cH0sJT5t5SQHRjzmW7JWdPv0+wKGCA15WtRMc55boM4Wan7jXJZf+JeD5QLXWiSjaJdnw=="],
-
- "@module-federation/enhanced": ["@module-federation/enhanced@0.6.16", "", { "dependencies": { "@module-federation/bridge-react-webpack-plugin": "0.6.16", "@module-federation/data-prefetch": "0.6.16", "@module-federation/dts-plugin": "0.6.16", "@module-federation/managers": "0.6.16", "@module-federation/manifest": "0.6.16", "@module-federation/rspack": "0.6.16", "@module-federation/runtime-tools": "0.6.16", "@module-federation/sdk": "0.6.16", "btoa": "^1.2.1", "upath": "2.0.1" }, "peerDependencies": { "typescript": "^4.9.0 || ^5.0.0", "vue-tsc": ">=1.0.24", "webpack": "^5.0.0" }, "optionalPeers": ["typescript", "vue-tsc", "webpack"] }, "sha512-5MqA35WGvPmCScT/xNnheR4RBa2oYHkLpeVjOA0xg0PeUTC7aSfGRLsntzFeyzLITSjbVTupK2YwmjiZr3Z0LQ=="],
-
- "@module-federation/error-codes": ["@module-federation/error-codes@0.6.14", "", {}, "sha512-ik+ezloFkxmE5atqTUG9lRr9xV5EcKDjH+MZba2IJQT5cZIM6o2ThTC45E013N4SCleaGxBtIGoPLZJzT4xa0Q=="],
-
- "@module-federation/managers": ["@module-federation/managers@0.6.16", "", { "dependencies": { "@module-federation/sdk": "0.6.16", "find-pkg": "2.0.0", "fs-extra": "9.1.0" } }, "sha512-9oqJT0F61GhaFE4EFgJjVyQlD8ohXxMJBS9UGCKC6nHd3+PI4NBWGN2D+alBOwvwtt3LhtssbVH8H8HZEM1GnQ=="],
-
- "@module-federation/manifest": ["@module-federation/manifest@0.6.16", "", { "dependencies": { "@module-federation/dts-plugin": "0.6.16", "@module-federation/managers": "0.6.16", "@module-federation/sdk": "0.6.16", "chalk": "3.0.0", "find-pkg": "2.0.0" } }, "sha512-YjOk+1uR6E5qIEWiy35IrMyEy+rDGI5nJd+6MQobkXG40DK94mdPxJ7TSCozj/bpZ9SadCxXRCkMiE/gTkryAQ=="],
-
- "@module-federation/rspack": ["@module-federation/rspack@0.6.16", "", { "dependencies": { "@module-federation/bridge-react-webpack-plugin": "0.6.16", "@module-federation/dts-plugin": "0.6.16", "@module-federation/managers": "0.6.16", "@module-federation/manifest": "0.6.16", "@module-federation/runtime-tools": "0.6.16", "@module-federation/sdk": "0.6.16" }, "peerDependencies": { "typescript": "^4.9.0 || ^5.0.0", "vue-tsc": ">=1.0.24" }, "optionalPeers": ["typescript", "vue-tsc"] }, "sha512-9nQAyw7QvgXJYPTQseyQ31qQtSlo0VsppQOyFLstLITzgWWugN7cN8cGAriUKYBI78THuX+lp1mdgsNTBvxJPA=="],
-
- "@module-federation/runtime": ["@module-federation/runtime@0.6.16", "", { "dependencies": { "@module-federation/error-codes": "0.6.14", "@module-federation/sdk": "0.6.16" } }, "sha512-3oFDRkolGwiXuQz+wzX3YzBWI9so0+K05YRf0TEdJguj3W/v/AMrBCz7W4c4O/wSK45Kuqd4lHKhCyKWRPyhOw=="],
-
- "@module-federation/runtime-tools": ["@module-federation/runtime-tools@0.6.16", "", { "dependencies": { "@module-federation/runtime": "0.6.16", "@module-federation/webpack-bundler-runtime": "0.6.16" } }, "sha512-AIaxnx99tVYppYCgdJQz43mrGZ2pPJtC7YEIjuQV+UnSORj+d/GOIqF88MDx3i7siFcQ4zrT5BVtEWhXcJdv0g=="],
-
- "@module-federation/sdk": ["@module-federation/sdk@0.6.16", "", { "dependencies": { "isomorphic-rslog": "0.0.5" } }, "sha512-rzQH/v9bVc032lzV4j1IGYRc5gszwzBevYBBDJf3oNLwkY2kIDUJ99OWvq3aaPJoE0jEWPVe3K5iNc+dZe4tMQ=="],
-
- "@module-federation/third-party-dts-extractor": ["@module-federation/third-party-dts-extractor@0.6.16", "", { "dependencies": { "find-pkg": "2.0.0", "fs-extra": "9.1.0", "resolve": "1.22.8" } }, "sha512-F4W8QBlPLNY22TGjUWA+FyFYN6wVgGKhefd170A8BOqv2gB1yhm6OIEmDnO6TwfDfQQebVCcAu23AzLzgS5eCg=="],
-
- "@module-federation/webpack-bundler-runtime": ["@module-federation/webpack-bundler-runtime@0.6.16", "", { "dependencies": { "@module-federation/runtime": "0.6.16", "@module-federation/sdk": "0.6.16" } }, "sha512-Tpi251DApEaQ62KCaJCh1RU1SZTUcVh8lx2zotn/YOMZdw83IzYu3PYYA1V0Eg5jVe6I2GmGH52pJPCtwbgjqA=="],
-
- "@mswjs/interceptors": ["@mswjs/interceptors@0.40.0", "", { "dependencies": { "@open-draft/deferred-promise": "^2.2.0", "@open-draft/logger": "^0.3.0", "@open-draft/until": "^2.0.0", "is-node-process": "^1.2.0", "outvariant": "^1.4.3", "strict-event-emitter": "^0.5.1" } }, "sha512-EFd6cVbHsgLa6wa4RljGj6Wk75qoHxUSyc5asLyyPSyuhIcdS2Q3Phw6ImS1q+CkALthJRShiYfKANcQMuMqsQ=="],
-
- "@mui/core-downloads-tracker": ["@mui/core-downloads-tracker@5.18.0", "", {}, "sha512-jbhwoQ1AY200PSSOrNXmrFCaSDSJWP7qk6urkTmIirvRXDROkqe+QwcLlUiw/PrREwsIF/vm3/dAXvjlMHF0RA=="],
-
- "@mui/material": ["@mui/material@5.18.0", "", { "dependencies": { "@babel/runtime": "^7.23.9", "@mui/core-downloads-tracker": "^5.18.0", "@mui/system": "^5.18.0", "@mui/types": "~7.2.15", "@mui/utils": "^5.17.1", "@popperjs/core": "^2.11.8", "@types/react-transition-group": "^4.4.10", "clsx": "^2.1.0", "csstype": "^3.1.3", "prop-types": "^15.8.1", "react-is": "^19.0.0", "react-transition-group": "^4.4.5" }, "peerDependencies": { "@emotion/react": "^11.5.0", "@emotion/styled": "^11.3.0", "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/react", "@emotion/styled", "@types/react"] }, "sha512-bbH/HaJZpFtXGvWg3TsBWG4eyt3gah3E7nCNU8GLyRjVoWcA91Vm/T+sjHfUcwgJSw9iLtucfHBoq+qW/T30aA=="],
-
- "@mui/private-theming": ["@mui/private-theming@5.17.1", "", { "dependencies": { "@babel/runtime": "^7.23.9", "@mui/utils": "^5.17.1", "prop-types": "^15.8.1" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-XMxU0NTYcKqdsG8LRmSoxERPXwMbp16sIXPcLVgLGII/bVNagX0xaheWAwFv8+zDK7tI3ajllkuD3GZZE++ICQ=="],
-
- "@mui/styled-engine": ["@mui/styled-engine@5.18.0", "", { "dependencies": { "@babel/runtime": "^7.23.9", "@emotion/cache": "^11.13.5", "@emotion/serialize": "^1.3.3", "csstype": "^3.1.3", "prop-types": "^15.8.1" }, "peerDependencies": { "@emotion/react": "^11.4.1", "@emotion/styled": "^11.3.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/react", "@emotion/styled"] }, "sha512-BN/vKV/O6uaQh2z5rXV+MBlVrEkwoS/TK75rFQ2mjxA7+NBo8qtTAOA4UaM0XeJfn7kh2wZ+xQw2HAx0u+TiBg=="],
-
- "@mui/system": ["@mui/system@5.18.0", "", { "dependencies": { "@babel/runtime": "^7.23.9", "@mui/private-theming": "^5.17.1", "@mui/styled-engine": "^5.18.0", "@mui/types": "~7.2.15", "@mui/utils": "^5.17.1", "clsx": "^2.1.0", "csstype": "^3.1.3", "prop-types": "^15.8.1" }, "peerDependencies": { "@emotion/react": "^11.5.0", "@emotion/styled": "^11.3.0", "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/react", "@emotion/styled", "@types/react"] }, "sha512-ojZGVcRWqWhu557cdO3pWHloIGJdzVtxs3rk0F9L+x55LsUjcMUVkEhiF7E4TMxZoF9MmIHGGs0ZX3FDLAf0Xw=="],
-
- "@mui/types": ["@mui/types@7.2.24", "", { "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-3c8tRt/CbWZ+pEg7QpSwbdxOk36EfmhbKf6AGZsD1EcLDLTSZoxxJ86FVtcjxvjuhdyBiWKSTGZFaXCnidO2kw=="],
-
- "@mui/utils": ["@mui/utils@5.17.1", "", { "dependencies": { "@babel/runtime": "^7.23.9", "@mui/types": "~7.2.15", "@types/prop-types": "^15.7.12", "clsx": "^2.1.1", "prop-types": "^15.8.1", "react-is": "^19.0.0" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-jEZ8FTqInt2WzxDV8bhImWBqeQRD99c/id/fq83H0ER9tFl+sfZlaAoCdznGvbSQQ9ividMxqSV2c7cC1vBcQg=="],
-
- "@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.0", "", { "dependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1", "@tybys/wasm-util": "^0.10.1" } }, "sha512-Fq6DJW+Bb5jaWE69/qOE0D1TUN9+6uWhCeZpdnSBk14pjLcCWR7Q8n49PTSPHazM37JqrsdpEthXy2xn6jWWiA=="],
-
- "@node-saml/node-saml": ["@node-saml/node-saml@4.0.5", "", { "dependencies": { "@types/debug": "^4.1.7", "@types/passport": "^1.0.11", "@types/xml-crypto": "^1.4.2", "@types/xml-encryption": "^1.2.1", "@types/xml2js": "^0.4.11", "@xmldom/xmldom": "^0.8.6", "debug": "^4.3.4", "xml-crypto": "^3.0.1", "xml-encryption": "^3.0.2", "xml2js": "^0.5.0", "xmlbuilder": "^15.1.1" } }, "sha512-J5DglElbY1tjOuaR1NPtjOXkXY5bpUhDoKVoeucYN98A3w4fwgjIOPqIGcb6cQsqFq2zZ6vTCeKn5C/hvefSaw=="],
-
- "@node-saml/passport-saml": ["@node-saml/passport-saml@4.0.4", "", { "dependencies": { "@node-saml/node-saml": "^4.0.4", "@types/express": "^4.17.14", "@types/passport": "^1.0.11", "@types/passport-strategy": "^0.2.35", "passport": "^0.6.0", "passport-strategy": "^1.0.0" } }, "sha512-xFw3gw0yo+K1mzlkW15NeBF7cVpRHN/4vpjmBKzov5YFImCWh/G0LcTZ8krH3yk2/eRPc3Or8LRPudVJBjmYaw=="],
-
- "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="],
-
- "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="],
-
- "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="],
-
- "@octokit/auth-app": ["@octokit/auth-app@4.0.13", "", { "dependencies": { "@octokit/auth-oauth-app": "^5.0.0", "@octokit/auth-oauth-user": "^2.0.0", "@octokit/request": "^6.0.0", "@octokit/request-error": "^3.0.0", "@octokit/types": "^9.0.0", "deprecation": "^2.3.1", "lru-cache": "^9.0.0", "universal-github-app-jwt": "^1.1.1", "universal-user-agent": "^6.0.0" } }, "sha512-NBQkmR/Zsc+8fWcVIFrwDgNXS7f4XDrkd9LHdi9DPQw1NdGHLviLzRO2ZBwTtepnwHXW5VTrVU9eFGijMUqllg=="],
-
- "@octokit/auth-oauth-app": ["@octokit/auth-oauth-app@5.0.6", "", { "dependencies": { "@octokit/auth-oauth-device": "^4.0.0", "@octokit/auth-oauth-user": "^2.0.0", "@octokit/request": "^6.0.0", "@octokit/types": "^9.0.0", "@types/btoa-lite": "^1.0.0", "btoa-lite": "^1.0.0", "universal-user-agent": "^6.0.0" } }, "sha512-SxyfIBfeFcWd9Z/m1xa4LENTQ3l1y6Nrg31k2Dcb1jS5ov7pmwMJZ6OGX8q3K9slRgVpeAjNA1ipOAMHkieqyw=="],
-
- "@octokit/auth-oauth-device": ["@octokit/auth-oauth-device@4.0.5", "", { "dependencies": { "@octokit/oauth-methods": "^2.0.0", "@octokit/request": "^6.0.0", "@octokit/types": "^9.0.0", "universal-user-agent": "^6.0.0" } }, "sha512-XyhoWRTzf2ZX0aZ52a6Ew5S5VBAfwwx1QnC2Np6Et3MWQpZjlREIcbcvVZtkNuXp6Z9EeiSLSDUqm3C+aMEHzQ=="],
-
- "@octokit/auth-oauth-user": ["@octokit/auth-oauth-user@2.1.2", "", { "dependencies": { "@octokit/auth-oauth-device": "^4.0.0", "@octokit/oauth-methods": "^2.0.0", "@octokit/request": "^6.0.0", "@octokit/types": "^9.0.0", "btoa-lite": "^1.0.0", "universal-user-agent": "^6.0.0" } }, "sha512-kkRqNmFe7s5GQcojE3nSlF+AzYPpPv7kvP/xYEnE57584pixaFBH8Vovt+w5Y3E4zWUEOxjdLItmBTFAWECPAg=="],
-
- "@octokit/auth-token": ["@octokit/auth-token@3.0.4", "", {}, "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ=="],
-
- "@octokit/auth-unauthenticated": ["@octokit/auth-unauthenticated@3.0.5", "", { "dependencies": { "@octokit/request-error": "^3.0.0", "@octokit/types": "^9.0.0" } }, "sha512-yH2GPFcjrTvDWPwJWWCh0tPPtTL5SMgivgKPA+6v/XmYN6hGQkAto8JtZibSKOpf8ipmeYhLNWQ2UgW0GYILCw=="],
-
- "@octokit/core": ["@octokit/core@4.2.4", "", { "dependencies": { "@octokit/auth-token": "^3.0.0", "@octokit/graphql": "^5.0.0", "@octokit/request": "^6.0.0", "@octokit/request-error": "^3.0.0", "@octokit/types": "^9.0.0", "before-after-hook": "^2.2.0", "universal-user-agent": "^6.0.0" } }, "sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ=="],
-
- "@octokit/endpoint": ["@octokit/endpoint@7.0.6", "", { "dependencies": { "@octokit/types": "^9.0.0", "is-plain-object": "^5.0.0", "universal-user-agent": "^6.0.0" } }, "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg=="],
-
- "@octokit/graphql": ["@octokit/graphql@5.0.6", "", { "dependencies": { "@octokit/request": "^6.0.0", "@octokit/types": "^9.0.0", "universal-user-agent": "^6.0.0" } }, "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw=="],
-
- "@octokit/graphql-schema": ["@octokit/graphql-schema@13.10.0", "", { "dependencies": { "graphql": "^16.0.0", "graphql-tag": "^2.10.3" } }, "sha512-D9ci/oCYOIea/AFmWUxD67aMaoMw392Nu4sxaO+kW+w/aeDeyECpGuztzXASyCn53ROPTweAg1fk7Payzmu5xQ=="],
-
- "@octokit/oauth-app": ["@octokit/oauth-app@4.2.4", "", { "dependencies": { "@octokit/auth-oauth-app": "^5.0.0", "@octokit/auth-oauth-user": "^2.0.0", "@octokit/auth-unauthenticated": "^3.0.0", "@octokit/core": "^4.0.0", "@octokit/oauth-authorization-url": "^5.0.0", "@octokit/oauth-methods": "^2.0.0", "@types/aws-lambda": "^8.10.83", "fromentries": "^1.3.1", "universal-user-agent": "^6.0.0" } }, "sha512-iuOVFrmm5ZKNavRtYu5bZTtmlKLc5uVgpqTfMEqYYf2OkieV6VdxKZAb5qLVdEPL8LU2lMWcGpavPBV835cgoA=="],
-
- "@octokit/oauth-authorization-url": ["@octokit/oauth-authorization-url@5.0.0", "", {}, "sha512-y1WhN+ERDZTh0qZ4SR+zotgsQUE1ysKnvBt1hvDRB2WRzYtVKQjn97HEPzoehh66Fj9LwNdlZh+p6TJatT0zzg=="],
-
- "@octokit/oauth-methods": ["@octokit/oauth-methods@2.0.6", "", { "dependencies": { "@octokit/oauth-authorization-url": "^5.0.0", "@octokit/request": "^6.2.3", "@octokit/request-error": "^3.0.3", "@octokit/types": "^9.0.0", "btoa-lite": "^1.0.0" } }, "sha512-l9Uml2iGN2aTWLZcm8hV+neBiFXAQ9+3sKiQe/sgumHlL6HDg0AQ8/l16xX/5jJvfxueqTW5CWbzd0MjnlfHZw=="],
-
- "@octokit/openapi-types": ["@octokit/openapi-types@18.1.1", "", {}, "sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw=="],
-
- "@octokit/plugin-paginate-rest": ["@octokit/plugin-paginate-rest@6.1.2", "", { "dependencies": { "@octokit/tsconfig": "^1.0.2", "@octokit/types": "^9.2.3" }, "peerDependencies": { "@octokit/core": ">=4" } }, "sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ=="],
-
- "@octokit/plugin-request-log": ["@octokit/plugin-request-log@1.0.4", "", { "peerDependencies": { "@octokit/core": ">=3" } }, "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA=="],
-
- "@octokit/plugin-rest-endpoint-methods": ["@octokit/plugin-rest-endpoint-methods@7.2.3", "", { "dependencies": { "@octokit/types": "^10.0.0" }, "peerDependencies": { "@octokit/core": ">=3" } }, "sha512-I5Gml6kTAkzVlN7KCtjOM+Ruwe/rQppp0QU372K1GP7kNOYEKe8Xn5BW4sE62JAHdwpq95OQK/qGNyKQMUzVgA=="],
-
- "@octokit/request": ["@octokit/request@6.2.8", "", { "dependencies": { "@octokit/endpoint": "^7.0.0", "@octokit/request-error": "^3.0.0", "@octokit/types": "^9.0.0", "is-plain-object": "^5.0.0", "node-fetch": "^2.6.7", "universal-user-agent": "^6.0.0" } }, "sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw=="],
-
- "@octokit/request-error": ["@octokit/request-error@3.0.3", "", { "dependencies": { "@octokit/types": "^9.0.0", "deprecation": "^2.0.0", "once": "^1.4.0" } }, "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ=="],
-
- "@octokit/rest": ["@octokit/rest@19.0.13", "", { "dependencies": { "@octokit/core": "^4.2.1", "@octokit/plugin-paginate-rest": "^6.1.2", "@octokit/plugin-request-log": "^1.0.4", "@octokit/plugin-rest-endpoint-methods": "^7.1.2" } }, "sha512-/EzVox5V9gYGdbAI+ovYj3nXQT1TtTHRT+0eZPcuC05UFSWO3mdO9UY1C0i2eLF9Un1ONJkAk+IEtYGAC+TahA=="],
-
- "@octokit/tsconfig": ["@octokit/tsconfig@1.0.2", "", {}, "sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA=="],
-
- "@octokit/types": ["@octokit/types@9.3.2", "", { "dependencies": { "@octokit/openapi-types": "^18.0.0" } }, "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA=="],
-
- "@open-draft/deferred-promise": ["@open-draft/deferred-promise@2.2.0", "", {}, "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA=="],
-
- "@open-draft/logger": ["@open-draft/logger@0.3.0", "", { "dependencies": { "is-node-process": "^1.2.0", "outvariant": "^1.4.0" } }, "sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ=="],
-
- "@open-draft/until": ["@open-draft/until@2.1.0", "", {}, "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg=="],
-
- "@opentelemetry/api": ["@opentelemetry/api@1.9.0", "", {}, "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg=="],
-
- "@operator/plugin-issuetypes": ["@operator/plugin-issuetypes@workspace:packages/plugins/plugin-issuetypes"],
-
- "@oxc-resolver/binding-android-arm-eabi": ["@oxc-resolver/binding-android-arm-eabi@11.16.1", "", { "os": "android", "cpu": "arm" }, "sha512-EkOmYEFccQfSdsYjqBVeA6/m1eM3agQQp29RvI8x6Z++Ng5++76rXqgSHl/4G3I3FvO273vb33tmwsjMLyKPaQ=="],
-
- "@oxc-resolver/binding-android-arm64": ["@oxc-resolver/binding-android-arm64@11.16.1", "", { "os": "android", "cpu": "arm64" }, "sha512-Sj+URM2+3jWEoe8uyozhRRI2azgRs54wldvEEbndVhk2XrB2xTUFV+YB/pPLCqr0eSlfamtmpjmakJFpN6oBCw=="],
-
- "@oxc-resolver/binding-darwin-arm64": ["@oxc-resolver/binding-darwin-arm64@11.16.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-80vNc2c+Da274yxJaenJi79iENOoQ/r6YG/lnNMyFN4aEkpYFUJu/zji8u4gxHWm121VdA2rdVzody1dgFq/Kg=="],
-
- "@oxc-resolver/binding-darwin-x64": ["@oxc-resolver/binding-darwin-x64@11.16.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-pYmRpiB7BrJVoaYsfhxybp3kqgzqjm8BE8RPGdYoPMItmBh4bVItpx1i0djCJXyx3dcZfG4kD9ZfDK2JUMPvcw=="],
-
- "@oxc-resolver/binding-freebsd-x64": ["@oxc-resolver/binding-freebsd-x64@11.16.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-XxGkO8CywZKirr2lnhQH1UGVNJY6GMtQZs7C05Rwj2d0p72VDliAL2w1PkWov/WrrqbXGAPqeQxc0XJ8ycEFIw=="],
-
- "@oxc-resolver/binding-linux-arm-gnueabihf": ["@oxc-resolver/binding-linux-arm-gnueabihf@11.16.1", "", { "os": "linux", "cpu": "arm" }, "sha512-PaCQgtsNG9JQrRFLVfW3NJlWQ6OR8EuntvgnbmkMQ4SDAP4xZLFXR/4J3JyavUlvGcAcCrbOvGoVXpZAptSyLQ=="],
-
- "@oxc-resolver/binding-linux-arm-musleabihf": ["@oxc-resolver/binding-linux-arm-musleabihf@11.16.1", "", { "os": "linux", "cpu": "arm" }, "sha512-5ZOgCH2PMvk92y5RFX7ReDhUVAZnv/1UntURDE6EaAbKVSwHzzD2o9NaW1WFHY3noqJpEN0VdDVG2+ih/uoWqg=="],
-
- "@oxc-resolver/binding-linux-arm64-gnu": ["@oxc-resolver/binding-linux-arm64-gnu@11.16.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-Y5pnJDKm85atZgN7LAKy+5ta/+qUzm+P+8RDKCQSstFwIrseS163B5XK93BxlHSKS31GGjVBoxRXUxiYotpLyQ=="],
-
- "@oxc-resolver/binding-linux-arm64-musl": ["@oxc-resolver/binding-linux-arm64-musl@11.16.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-ZYQgkl7dzjCbI2q05uZwSDWCBJRZy5fyhiO0KEuG6Ni+imJUoRFgaLHQ5YJWjYGP+pgswCFV09gURTZqA3mpUQ=="],
-
- "@oxc-resolver/binding-linux-ppc64-gnu": ["@oxc-resolver/binding-linux-ppc64-gnu@11.16.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-IO+L910FaHv/6cJ09GLXlg6kTeo7nQEhGNCgXM2mypMOX2mZIbG7wIDaCiZyBBYykfu/s0N+6zmQjM4RanTc8Q=="],
-
- "@oxc-resolver/binding-linux-riscv64-gnu": ["@oxc-resolver/binding-linux-riscv64-gnu@11.16.1", "", { "os": "linux", "cpu": "none" }, "sha512-JfS9ap5rn2xKBMCtT2KoTdkVP4d56Xk7ydpBhIo50zWVCbV4M42ScmJhOj4Rt9BCEFKARAj5Y3dpGZ4WG2Vkag=="],
-
- "@oxc-resolver/binding-linux-riscv64-musl": ["@oxc-resolver/binding-linux-riscv64-musl@11.16.1", "", { "os": "linux", "cpu": "none" }, "sha512-FtAXP2LDnSn2Q334KdGUMK+/XhSVD+CxlLthAKUUv+hK+6PsFCTnL99iHKMBr0jVLuar4pYZnULri032BpdYrA=="],
-
- "@oxc-resolver/binding-linux-s390x-gnu": ["@oxc-resolver/binding-linux-s390x-gnu@11.16.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-obYGj/cR8yk1IZVYeWRJlWtJkYap9d9x1y/tewatVkRca+5QgC8o8+fGz2HZIpKEXLkuMyFBoC9xnC2455MYoQ=="],
-
- "@oxc-resolver/binding-linux-x64-gnu": ["@oxc-resolver/binding-linux-x64-gnu@11.16.1", "", { "os": "linux", "cpu": "x64" }, "sha512-vLUCPrgQ7KN2XTtn3ZGCsEFi1HVwjkRfUxYa5jd0dgwiI9xRP8m5mMolMZO5aGgwq62JbYXTdmlLhll46lc5Aw=="],
-
- "@oxc-resolver/binding-linux-x64-musl": ["@oxc-resolver/binding-linux-x64-musl@11.16.1", "", { "os": "linux", "cpu": "x64" }, "sha512-Habu7Q/FrnIMuPfAslFPry42yUE8FVG4No1SWeJ21SW+vrMU7nZh6jQSfGT4t+jcgWUsuTYXfnewlIxMpmEHNw=="],
-
- "@oxc-resolver/binding-openharmony-arm64": ["@oxc-resolver/binding-openharmony-arm64@11.16.1", "", { "os": "none", "cpu": "arm64" }, "sha512-4zPHQ0g/3C6QKxfxe130+mJlp1Hr1Ias1VgaN3ulktO50v3V1MWgSnNZ6rnEHY2FGOyY1QpzJarZsN5OYG/PLw=="],
-
- "@oxc-resolver/binding-wasm32-wasi": ["@oxc-resolver/binding-wasm32-wasi@11.16.1", "", { "dependencies": { "@napi-rs/wasm-runtime": "^1.1.0" }, "cpu": "none" }, "sha512-uCF71JE6Z6bLzaZORasf81Zp6t7r6r3DV6o+EZPoNAYH4FMUUTFr1MHpkZLrwi+ifI+DtuSGJDCcSeQW31rx5w=="],
-
- "@oxc-resolver/binding-win32-arm64-msvc": ["@oxc-resolver/binding-win32-arm64-msvc@11.16.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-GIm51df6OR6EVdusezBsRrI496AnV7U6elDXlwzJnKmgX+WuUXTUUDcepMSIX8dV4B9+nDxAHa/0X0THWyzA0A=="],
-
- "@oxc-resolver/binding-win32-ia32-msvc": ["@oxc-resolver/binding-win32-ia32-msvc@11.16.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-lvMx7XWLJED1JGMyOUKSXFlebdCUMGzBu6fnOjt7iLDtJpwyR/HUs+kMhoUyiMDEsN8DRGLoy+C7V/VUIwxRqg=="],
-
- "@oxc-resolver/binding-win32-x64-msvc": ["@oxc-resolver/binding-win32-x64-msvc@11.16.1", "", { "os": "win32", "cpu": "x64" }, "sha512-PhzhSbDJP8q1T47DzUKMgWecRcfZjYKJdCkmMpW8eSsh86xpnBgrz37UGyBes2g9CAiPp2RmnZAoAA/ufuf3YQ=="],
-
- "@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="],
-
- "@playwright/test": ["@playwright/test@1.57.0", "", { "dependencies": { "playwright": "1.57.0" }, "bin": { "playwright": "cli.js" } }, "sha512-6TyEnHgd6SArQO8UO2OMTxshln3QMWBtPGrOCgs3wVEmQmwyuNtB10IZMfmYDE0riwNR1cu4q+pPcxMVtaG3TA=="],
-
- "@pmmmwh/react-refresh-webpack-plugin": ["@pmmmwh/react-refresh-webpack-plugin@0.5.17", "", { "dependencies": { "ansi-html": "^0.0.9", "core-js-pure": "^3.23.3", "error-stack-parser": "^2.0.6", "html-entities": "^2.1.0", "loader-utils": "^2.0.4", "schema-utils": "^4.2.0", "source-map": "^0.7.3" }, "peerDependencies": { "@types/webpack": "4.x || 5.x", "react-refresh": ">=0.10.0 <1.0.0", "sockjs-client": "^1.4.0", "type-fest": ">=0.17.0 <5.0.0", "webpack": ">=4.43.0 <6.0.0", "webpack-dev-server": "3.x || 4.x || 5.x", "webpack-hot-middleware": "2.x", "webpack-plugin-serve": "0.x || 1.x" }, "optionalPeers": ["@types/webpack", "sockjs-client", "type-fest", "webpack-dev-server", "webpack-hot-middleware", "webpack-plugin-serve"] }, "sha512-tXDyE1/jzFsHXjhRZQ3hMl0IVhYe5qula43LDWIhVfjp9G/nT5OQY5AORVOrkEGAUltBJOfOWeETbmhm6kHhuQ=="],
-
- "@popperjs/core": ["@popperjs/core@2.11.8", "", {}, "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A=="],
-
- "@protobufjs/aspromise": ["@protobufjs/aspromise@1.1.2", "", {}, "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="],
-
- "@protobufjs/base64": ["@protobufjs/base64@1.1.2", "", {}, "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="],
-
- "@protobufjs/codegen": ["@protobufjs/codegen@2.0.4", "", {}, "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="],
-
- "@protobufjs/eventemitter": ["@protobufjs/eventemitter@1.1.0", "", {}, "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="],
-
- "@protobufjs/fetch": ["@protobufjs/fetch@1.1.0", "", { "dependencies": { "@protobufjs/aspromise": "^1.1.1", "@protobufjs/inquire": "^1.1.0" } }, "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ=="],
-
- "@protobufjs/float": ["@protobufjs/float@1.0.2", "", {}, "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="],
-
- "@protobufjs/inquire": ["@protobufjs/inquire@1.1.0", "", {}, "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="],
-
- "@protobufjs/path": ["@protobufjs/path@1.1.2", "", {}, "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="],
-
- "@protobufjs/pool": ["@protobufjs/pool@1.1.0", "", {}, "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="],
-
- "@protobufjs/utf8": ["@protobufjs/utf8@1.1.0", "", {}, "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="],
-
- "@react-aria/autocomplete": ["@react-aria/autocomplete@3.0.0-rc.4", "", { "dependencies": { "@react-aria/combobox": "^3.14.1", "@react-aria/focus": "^3.21.3", "@react-aria/i18n": "^3.12.14", "@react-aria/interactions": "^3.26.0", "@react-aria/listbox": "^3.15.1", "@react-aria/searchfield": "^3.8.10", "@react-aria/textfield": "^3.18.3", "@react-aria/utils": "^3.32.0", "@react-stately/autocomplete": "3.0.0-beta.4", "@react-stately/combobox": "^3.12.1", "@react-types/autocomplete": "3.0.0-alpha.36", "@react-types/button": "^3.14.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-4bMMVNaCuYDZX9HM4ZNSAImZMcL/orwhLLe818+lyzmSrvGmW9h433PZxTolb0d+FnJVfn1MDY0zEWLiyI86GA=="],
-
- "@react-aria/breadcrumbs": ["@react-aria/breadcrumbs@3.5.30", "", { "dependencies": { "@react-aria/i18n": "^3.12.14", "@react-aria/link": "^3.8.7", "@react-aria/utils": "^3.32.0", "@react-types/breadcrumbs": "^3.7.17", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-DZymglA70SwvDJA7GB147sUexvdDy6vWcriGrlEHhMMzBLhGB30I5J96R4pPzURLxXISrWFH56KC5rRgIqsqqg=="],
-
- "@react-aria/button": ["@react-aria/button@3.14.3", "", { "dependencies": { "@react-aria/interactions": "^3.26.0", "@react-aria/toolbar": "3.0.0-beta.22", "@react-aria/utils": "^3.32.0", "@react-stately/toggle": "^3.9.3", "@react-types/button": "^3.14.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-iJTuEECs9im7TwrCRZ0dvuwp8Gao0+I1IuYs1LQvJQgKLpgRH2/6jAiqb2bdAcoAjdbaMs7Xe0xUwURpVNkEyA=="],
-
- "@react-aria/calendar": ["@react-aria/calendar@3.9.3", "", { "dependencies": { "@internationalized/date": "^3.10.1", "@react-aria/i18n": "^3.12.14", "@react-aria/interactions": "^3.26.0", "@react-aria/live-announcer": "^3.4.4", "@react-aria/utils": "^3.32.0", "@react-stately/calendar": "^3.9.1", "@react-types/button": "^3.14.1", "@react-types/calendar": "^3.8.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-F12UQ4zd8GIxpJxs9GAHzDD9Lby2hESHm0LF5tjsYBIOBJc5K7ICeeE5UqLMBPzgnEP5nfh1CKS8KhCB0mS7PA=="],
-
- "@react-aria/checkbox": ["@react-aria/checkbox@3.16.3", "", { "dependencies": { "@react-aria/form": "^3.1.3", "@react-aria/interactions": "^3.26.0", "@react-aria/label": "^3.7.23", "@react-aria/toggle": "^3.12.3", "@react-aria/utils": "^3.32.0", "@react-stately/checkbox": "^3.7.3", "@react-stately/form": "^3.2.2", "@react-stately/toggle": "^3.9.3", "@react-types/checkbox": "^3.10.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-2p1haCUtERo5XavBAWNaX//dryNVnOOWfSKyzLs4UiCZR/NL0ttN+Nu/i445q0ipjLqZ6bBJtx0g0NNrubbU7Q=="],
-
- "@react-aria/collections": ["@react-aria/collections@3.0.1", "", { "dependencies": { "@react-aria/interactions": "^3.26.0", "@react-aria/ssr": "^3.9.10", "@react-aria/utils": "^3.32.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0", "use-sync-external-store": "^1.4.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-C8KBQGXzVefR4I+hQmkb10t09Jt1Ivl12qgQKshmT0hV2yBESXEYWMZUxV4ggOgWDreAgCtr+Ho3X+7MzBQT8Q=="],
-
- "@react-aria/color": ["@react-aria/color@3.1.3", "", { "dependencies": { "@react-aria/i18n": "^3.12.14", "@react-aria/interactions": "^3.26.0", "@react-aria/numberfield": "^3.12.3", "@react-aria/slider": "^3.8.3", "@react-aria/spinbutton": "^3.7.0", "@react-aria/textfield": "^3.18.3", "@react-aria/utils": "^3.32.0", "@react-aria/visually-hidden": "^3.8.29", "@react-stately/color": "^3.9.3", "@react-stately/form": "^3.2.2", "@react-types/color": "^3.1.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-EHzsFbqzFrO1/3irEa8E8wawlQg7hRd4/Jscvl9zhplAcrWFd6L5TWl8463Z6h0J6zN1eH9T2QDEn6rivDLkkg=="],
-
- "@react-aria/combobox": ["@react-aria/combobox@3.14.1", "", { "dependencies": { "@react-aria/focus": "^3.21.3", "@react-aria/i18n": "^3.12.14", "@react-aria/listbox": "^3.15.1", "@react-aria/live-announcer": "^3.4.4", "@react-aria/menu": "^3.19.4", "@react-aria/overlays": "^3.31.0", "@react-aria/selection": "^3.27.0", "@react-aria/textfield": "^3.18.3", "@react-aria/utils": "^3.32.0", "@react-stately/collections": "^3.12.8", "@react-stately/combobox": "^3.12.1", "@react-stately/form": "^3.2.2", "@react-types/button": "^3.14.1", "@react-types/combobox": "^3.13.10", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-wuP/4UQrGsYXLw1Gk8G/FcnUlHuoViA9G6w3LhtUgu5Q3E5DvASJalxej3NtyYU+4w4epD1gJidzosAL0rf8Ug=="],
-
- "@react-aria/datepicker": ["@react-aria/datepicker@3.15.3", "", { "dependencies": { "@internationalized/date": "^3.10.1", "@internationalized/number": "^3.6.5", "@internationalized/string": "^3.2.7", "@react-aria/focus": "^3.21.3", "@react-aria/form": "^3.1.3", "@react-aria/i18n": "^3.12.14", "@react-aria/interactions": "^3.26.0", "@react-aria/label": "^3.7.23", "@react-aria/spinbutton": "^3.7.0", "@react-aria/utils": "^3.32.0", "@react-stately/datepicker": "^3.15.3", "@react-stately/form": "^3.2.2", "@react-types/button": "^3.14.1", "@react-types/calendar": "^3.8.1", "@react-types/datepicker": "^3.13.3", "@react-types/dialog": "^3.5.22", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-0KkLYeLs+IubHXb879n8dzzKU/NWcxC9DXtv7M/ofL7vAvMSTmaceYJcMW+2gGYhJVpyYz8B6bk0W7kTxgB3jg=="],
-
- "@react-aria/dialog": ["@react-aria/dialog@3.5.32", "", { "dependencies": { "@react-aria/interactions": "^3.26.0", "@react-aria/overlays": "^3.31.0", "@react-aria/utils": "^3.32.0", "@react-types/dialog": "^3.5.22", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-2puMjsJS2FtB8LiFuQDAdBSU4dt3lqdJn4FWt/8GL6l91RZBqp2Dnm5Obuee6rV2duNJZcSAUWsQZ/S1iW8Y2g=="],
-
- "@react-aria/disclosure": ["@react-aria/disclosure@3.1.1", "", { "dependencies": { "@react-aria/ssr": "^3.9.10", "@react-aria/utils": "^3.32.0", "@react-stately/disclosure": "^3.0.9", "@react-types/button": "^3.14.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-4k8Y3CZEl+Qhou0fH7Sj7BbzvwAfi1JDL+hG7U20ZL5+MJ/VbDYuYX2gYK2KqdlbeuuzGcov3ZFQbyIVHMY+/A=="],
-
- "@react-aria/dnd": ["@react-aria/dnd@3.11.4", "", { "dependencies": { "@internationalized/string": "^3.2.7", "@react-aria/i18n": "^3.12.14", "@react-aria/interactions": "^3.26.0", "@react-aria/live-announcer": "^3.4.4", "@react-aria/overlays": "^3.31.0", "@react-aria/utils": "^3.32.0", "@react-stately/collections": "^3.12.8", "@react-stately/dnd": "^3.7.2", "@react-types/button": "^3.14.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-dBrnM33Kmk76F+Pknh2WfSLIX4dsYwFzWJUIABJCPmPc80hTG0so7mfqH45ba759/6ERMfXXoodZPLtypOjYPg=="],
-
- "@react-aria/focus": ["@react-aria/focus@3.21.3", "", { "dependencies": { "@react-aria/interactions": "^3.26.0", "@react-aria/utils": "^3.32.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0", "clsx": "^2.0.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-FsquWvjSCwC2/sBk4b+OqJyONETUIXQ2vM0YdPAuC+QFQh2DT6TIBo6dOZVSezlhudDla69xFBd6JvCFq1AbUw=="],
-
- "@react-aria/form": ["@react-aria/form@3.1.3", "", { "dependencies": { "@react-aria/interactions": "^3.26.0", "@react-aria/utils": "^3.32.0", "@react-stately/form": "^3.2.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-HAKnPjMiqTxoGLVbfZyGYcZQ1uu6aSeCi9ODmtZuKM5DWZZnTUjDmM1i2L6IXvF+d1kjyApyJC7VTbKZ8AI77g=="],
-
- "@react-aria/grid": ["@react-aria/grid@3.14.6", "", { "dependencies": { "@react-aria/focus": "^3.21.3", "@react-aria/i18n": "^3.12.14", "@react-aria/interactions": "^3.26.0", "@react-aria/live-announcer": "^3.4.4", "@react-aria/selection": "^3.27.0", "@react-aria/utils": "^3.32.0", "@react-stately/collections": "^3.12.8", "@react-stately/grid": "^3.11.7", "@react-stately/selection": "^3.20.7", "@react-types/checkbox": "^3.10.2", "@react-types/grid": "^3.3.6", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-xagBKHNPu4Ovt/I5He7T/oIEq82MDMSrRi5Sw3oxSCwwtZpv+7eyKRSrFz9vrNUzNgWCcx5VHLE660bLdeVNDQ=="],
-
- "@react-aria/gridlist": ["@react-aria/gridlist@3.14.2", "", { "dependencies": { "@react-aria/focus": "^3.21.3", "@react-aria/grid": "^3.14.6", "@react-aria/i18n": "^3.12.14", "@react-aria/interactions": "^3.26.0", "@react-aria/selection": "^3.27.0", "@react-aria/utils": "^3.32.0", "@react-stately/list": "^3.13.2", "@react-stately/tree": "^3.9.4", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-c51ip0bc/lKppfrPNFHbWu1n/r0NHd9Xl114904cDxuRcElJ3H/V/3e3U9HyDy+4xioiXZIdZ75CNxtEoTmrxw=="],
-
- "@react-aria/i18n": ["@react-aria/i18n@3.12.14", "", { "dependencies": { "@internationalized/date": "^3.10.1", "@internationalized/message": "^3.1.8", "@internationalized/number": "^3.6.5", "@internationalized/string": "^3.2.7", "@react-aria/ssr": "^3.9.10", "@react-aria/utils": "^3.32.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-zYvs1FlLamFD49uneX3i5mPHrAsB3OjVpSWApTcPw8ydxOaphQDp/Q1aqrbcxlrQCcxZdXWHuvLlbkNR4+8jzw=="],
-
- "@react-aria/interactions": ["@react-aria/interactions@3.26.0", "", { "dependencies": { "@react-aria/ssr": "^3.9.10", "@react-aria/utils": "^3.32.0", "@react-stately/flags": "^3.1.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-AAEcHiltjfbmP1i9iaVw34Mb7kbkiHpYdqieWufldh4aplWgsF11YQZOfaCJW4QoR2ML4Zzoa9nfFwLXA52R7Q=="],
-
- "@react-aria/label": ["@react-aria/label@3.7.23", "", { "dependencies": { "@react-aria/utils": "^3.32.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-dRkuCJfsyBHPTq3WOJVHNRvNyQL4cRRLELmjYfUX9/jQKIsUW2l71YnUHZTRCSn2ZjhdAcdwq96fNcQo0hncBQ=="],
-
- "@react-aria/landmark": ["@react-aria/landmark@3.0.8", "", { "dependencies": { "@react-aria/utils": "^3.32.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0", "use-sync-external-store": "^1.4.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-xuY8kYxCrF9C0h0Pj2lZHoxCidNfQ/SrkYWXuiN+LuBTJGCmPVif93gt7TklQ0rKJ+pKJsUgh8AC0pgwI3QP7A=="],
-
- "@react-aria/link": ["@react-aria/link@3.8.7", "", { "dependencies": { "@react-aria/interactions": "^3.26.0", "@react-aria/utils": "^3.32.0", "@react-types/link": "^3.6.5", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-TOC6Hf/x3N0P8SLR1KD/dGiJ9PmwAq8H57RiwbFbdINnG/HIvIQr5MxGTjwBvOOWcJu9brgWL5HkQaZK7Q/4Yw=="],
-
- "@react-aria/listbox": ["@react-aria/listbox@3.15.1", "", { "dependencies": { "@react-aria/interactions": "^3.26.0", "@react-aria/label": "^3.7.23", "@react-aria/selection": "^3.27.0", "@react-aria/utils": "^3.32.0", "@react-stately/collections": "^3.12.8", "@react-stately/list": "^3.13.2", "@react-types/listbox": "^3.7.4", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-81iDLFhmPXvLOtkI0SKzgrngfzwfR2o9oFDAYRfpYCOxgT7jjh8SaB4wCteJXRiMwymRGmgyTvD4yxWTluEeXA=="],
-
- "@react-aria/live-announcer": ["@react-aria/live-announcer@3.4.4", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-PTTBIjNRnrdJOIRTDGNifY2d//kA7GUAwRFJNOEwSNG4FW+Bq9awqLiflw0JkpyB0VNIwou6lqKPHZVLsGWOXA=="],
-
- "@react-aria/menu": ["@react-aria/menu@3.19.4", "", { "dependencies": { "@react-aria/focus": "^3.21.3", "@react-aria/i18n": "^3.12.14", "@react-aria/interactions": "^3.26.0", "@react-aria/overlays": "^3.31.0", "@react-aria/selection": "^3.27.0", "@react-aria/utils": "^3.32.0", "@react-stately/collections": "^3.12.8", "@react-stately/menu": "^3.9.9", "@react-stately/selection": "^3.20.7", "@react-stately/tree": "^3.9.4", "@react-types/button": "^3.14.1", "@react-types/menu": "^3.10.5", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-0A0DUEkEvZynmaD3zktHavM+EmgZSR/ht+g1ExS2jXe73CegA+dbSRfPl9eIKcHxaRrWOV96qMj2pTf0yWTBDg=="],
-
- "@react-aria/meter": ["@react-aria/meter@3.4.28", "", { "dependencies": { "@react-aria/progress": "^3.4.28", "@react-types/meter": "^3.4.13", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-elACITUBOf4Dp+BQ2aIgHIe58fjWYjspxhVcE5BMiqePktOfRkpb9ESj8nWcNXO8eqCYwrFJpElHvXkjYLWemw=="],
-
- "@react-aria/numberfield": ["@react-aria/numberfield@3.12.3", "", { "dependencies": { "@react-aria/i18n": "^3.12.14", "@react-aria/interactions": "^3.26.0", "@react-aria/spinbutton": "^3.7.0", "@react-aria/textfield": "^3.18.3", "@react-aria/utils": "^3.32.0", "@react-stately/form": "^3.2.2", "@react-stately/numberfield": "^3.10.3", "@react-types/button": "^3.14.1", "@react-types/numberfield": "^3.8.16", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-70LRXWPEuj2X8mbQXUx6l6We+RGs49Kb+2eUiSSLArHK4RvTWJWEfSjHL5IHHJ+j2AkbORdryD7SR3gcXSX+5w=="],
-
- "@react-aria/overlays": ["@react-aria/overlays@3.31.0", "", { "dependencies": { "@react-aria/focus": "^3.21.3", "@react-aria/i18n": "^3.12.14", "@react-aria/interactions": "^3.26.0", "@react-aria/ssr": "^3.9.10", "@react-aria/utils": "^3.32.0", "@react-aria/visually-hidden": "^3.8.29", "@react-stately/overlays": "^3.6.21", "@react-types/button": "^3.14.1", "@react-types/overlays": "^3.9.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-Vq41X1s8XheGIhGbbuqRJslJEX08qmMVX//dwuBaFX9T18mMR04tumKOMxp8Lz+vqwdGLvjNUYDMcgolL+AMjw=="],
-
- "@react-aria/progress": ["@react-aria/progress@3.4.28", "", { "dependencies": { "@react-aria/i18n": "^3.12.14", "@react-aria/label": "^3.7.23", "@react-aria/utils": "^3.32.0", "@react-types/progress": "^3.5.16", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-3NUUAu+rwf1M7pau9WFkrxe/PlBPiqCl/1maGU7iufVveHnz+SVVqXdNkjYx+WkPE0ViwG86Zx6OU4AYJ1pjNw=="],
-
- "@react-aria/radio": ["@react-aria/radio@3.12.3", "", { "dependencies": { "@react-aria/focus": "^3.21.3", "@react-aria/form": "^3.1.3", "@react-aria/i18n": "^3.12.14", "@react-aria/interactions": "^3.26.0", "@react-aria/label": "^3.7.23", "@react-aria/utils": "^3.32.0", "@react-stately/radio": "^3.11.3", "@react-types/radio": "^3.9.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-noucVX++9J3VYWg7dB+r09NVX8UZSR1TWUMCbT/MffzhltOsmiLJVvgJ0uEeeVRuu3+ZM63jOshrzG89anX4TQ=="],
-
- "@react-aria/searchfield": ["@react-aria/searchfield@3.8.10", "", { "dependencies": { "@react-aria/i18n": "^3.12.14", "@react-aria/textfield": "^3.18.3", "@react-aria/utils": "^3.32.0", "@react-stately/searchfield": "^3.5.17", "@react-types/button": "^3.14.1", "@react-types/searchfield": "^3.6.6", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-1wMoSjXoekcETC4ZP5AUcWoaK96FssVuF9MgqQNqE5VnauQDjZBpPCfz6GSZwRHTGwoqb7CI4iEi7433kd50xg=="],
-
- "@react-aria/select": ["@react-aria/select@3.17.1", "", { "dependencies": { "@react-aria/form": "^3.1.3", "@react-aria/i18n": "^3.12.14", "@react-aria/interactions": "^3.26.0", "@react-aria/label": "^3.7.23", "@react-aria/listbox": "^3.15.1", "@react-aria/menu": "^3.19.4", "@react-aria/selection": "^3.27.0", "@react-aria/utils": "^3.32.0", "@react-aria/visually-hidden": "^3.8.29", "@react-stately/select": "^3.9.0", "@react-types/button": "^3.14.1", "@react-types/select": "^3.12.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-jPMuaSp+4SbdE9G5UrrTer2CPbbUnUSLd8I2wgRgGcyk3wFw9DtnUNfms+UBA/2SrVnAEJ6KCQAI0oiMK2m+tQ=="],
-
- "@react-aria/selection": ["@react-aria/selection@3.27.0", "", { "dependencies": { "@react-aria/focus": "^3.21.3", "@react-aria/i18n": "^3.12.14", "@react-aria/interactions": "^3.26.0", "@react-aria/utils": "^3.32.0", "@react-stately/selection": "^3.20.7", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-4zgreuCu4QM4t2U7aF3mbMvIKCEkTEo6h6nGJvbyZALZ/eFtLTvUiV8/5CGDJRLGvgMvi3XxUeF9PZbpk5nMJg=="],
-
- "@react-aria/separator": ["@react-aria/separator@3.4.14", "", { "dependencies": { "@react-aria/utils": "^3.32.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-a32OB5HMAmXEdExyDvsadsnlmNcVxxpx3tt+Jxxl6H9CHsLO+Ak077KGFJteGVg4bTfhWGAgczOsnvIioR88xw=="],
-
- "@react-aria/slider": ["@react-aria/slider@3.8.3", "", { "dependencies": { "@react-aria/i18n": "^3.12.14", "@react-aria/interactions": "^3.26.0", "@react-aria/label": "^3.7.23", "@react-aria/utils": "^3.32.0", "@react-stately/slider": "^3.7.3", "@react-types/shared": "^3.32.1", "@react-types/slider": "^3.8.2", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-tOZVH+wLt3ik0C3wyuXqHL9fvnQ5S+/tHMYB7z8aZV5cEe36Gt4efBILphlA7ChkL/RvpHGK2AGpEGxvuEQIuQ=="],
-
- "@react-aria/spinbutton": ["@react-aria/spinbutton@3.7.0", "", { "dependencies": { "@react-aria/i18n": "^3.12.14", "@react-aria/live-announcer": "^3.4.4", "@react-aria/utils": "^3.32.0", "@react-types/button": "^3.14.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-FOyH94BZp+jNhUJuZqXSubQZDNQEJyW/J19/gwCxQvQvxAP79dhDFshh1UtrL4EjbjIflmaOes+sH/XEHUnJVA=="],
-
- "@react-aria/ssr": ["@react-aria/ssr@3.9.10", "", { "dependencies": { "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-hvTm77Pf+pMBhuBm760Li0BVIO38jv1IBws1xFm1NoL26PU+fe+FMW5+VZWyANR6nYL65joaJKZqOdTQMkO9IQ=="],
-
- "@react-aria/switch": ["@react-aria/switch@3.7.9", "", { "dependencies": { "@react-aria/toggle": "^3.12.3", "@react-stately/toggle": "^3.9.3", "@react-types/shared": "^3.32.1", "@react-types/switch": "^3.5.15", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-RZtuFRXews0PBx8Fc2R/kqaIARD5YIM5uYtmwnWfY7y5bEsBGONxp0d+m2vDyY7yk+VNpVFBdwewY9GbZmH1CA=="],
-
- "@react-aria/table": ["@react-aria/table@3.17.9", "", { "dependencies": { "@react-aria/focus": "^3.21.3", "@react-aria/grid": "^3.14.6", "@react-aria/i18n": "^3.12.14", "@react-aria/interactions": "^3.26.0", "@react-aria/live-announcer": "^3.4.4", "@react-aria/utils": "^3.32.0", "@react-aria/visually-hidden": "^3.8.29", "@react-stately/collections": "^3.12.8", "@react-stately/flags": "^3.1.2", "@react-stately/table": "^3.15.2", "@react-types/checkbox": "^3.10.2", "@react-types/grid": "^3.3.6", "@react-types/shared": "^3.32.1", "@react-types/table": "^3.13.4", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-Jby561E1YfzoRgtp+RQuhDz4vnxlcqol9RTgQQ7FWXC2IcN9Pny1COU34LkA1cL9VeB9LJ0+qfMhGw4aAwaUmw=="],
-
- "@react-aria/tabs": ["@react-aria/tabs@3.10.9", "", { "dependencies": { "@react-aria/focus": "^3.21.3", "@react-aria/i18n": "^3.12.14", "@react-aria/selection": "^3.27.0", "@react-aria/utils": "^3.32.0", "@react-stately/tabs": "^3.8.7", "@react-types/shared": "^3.32.1", "@react-types/tabs": "^3.3.20", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-2+FNd7Ohr3hrEgYrKdZW0FWbgybzTVZft6tw95oQ2+9PnjdDVdtzHliI+8HY8jzb4hTf4bU7O8n+s/HBlCBSIw=="],
-
- "@react-aria/tag": ["@react-aria/tag@3.7.3", "", { "dependencies": { "@react-aria/gridlist": "^3.14.2", "@react-aria/i18n": "^3.12.14", "@react-aria/interactions": "^3.26.0", "@react-aria/label": "^3.7.23", "@react-aria/selection": "^3.27.0", "@react-aria/utils": "^3.32.0", "@react-stately/list": "^3.13.2", "@react-types/button": "^3.14.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-fonqGFxhpnlIDOz3u38y4+MG5wyAef9+oDybsCKaJ57K+D4BTvSmpGBemN/mcaxdabnYfyhasCm0H91Q9XRcCA=="],
-
- "@react-aria/textfield": ["@react-aria/textfield@3.18.3", "", { "dependencies": { "@react-aria/form": "^3.1.3", "@react-aria/interactions": "^3.26.0", "@react-aria/label": "^3.7.23", "@react-aria/utils": "^3.32.0", "@react-stately/form": "^3.2.2", "@react-stately/utils": "^3.11.0", "@react-types/shared": "^3.32.1", "@react-types/textfield": "^3.12.6", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ehiSHOKuKCwPdxFe7wGE0QJlSeeJR4iJuH+OdsYVlZzYbl9J/uAdGbpsj/zPhNtBo1g/Td76U8TtTlYRZ8lUZw=="],
-
- "@react-aria/toast": ["@react-aria/toast@3.0.9", "", { "dependencies": { "@react-aria/i18n": "^3.12.14", "@react-aria/interactions": "^3.26.0", "@react-aria/landmark": "^3.0.8", "@react-aria/utils": "^3.32.0", "@react-stately/toast": "^3.1.2", "@react-types/button": "^3.14.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-2sRitczXl5VEwyq97o8TVvq3bIqLA7EfA7dhDPkYlHGa4T1vzKkhNqgkskKd9+Tw7gqeFRFjnokh+es9jkM11g=="],
-
- "@react-aria/toggle": ["@react-aria/toggle@3.12.3", "", { "dependencies": { "@react-aria/interactions": "^3.26.0", "@react-aria/utils": "^3.32.0", "@react-stately/toggle": "^3.9.3", "@react-types/checkbox": "^3.10.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-mciUbeVP99fRObnH5qLFrkKXX+5VKeV6BhFJlmz1eo3ltR/0xZKnUcycA2CGzmqtB70w09CAhr8NMEnpNH8dwQ=="],
-
- "@react-aria/toolbar": ["@react-aria/toolbar@3.0.0-beta.22", "", { "dependencies": { "@react-aria/focus": "^3.21.3", "@react-aria/i18n": "^3.12.14", "@react-aria/utils": "^3.32.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-Q1gOj6N4vzvpGrIoNAxpUudEQP82UgQACENH/bcH8FnEMbSP7DHvVfDhj7GTU6ldMXO2cjqLhiidoUK53gkCiA=="],
-
- "@react-aria/tooltip": ["@react-aria/tooltip@3.9.0", "", { "dependencies": { "@react-aria/interactions": "^3.26.0", "@react-aria/utils": "^3.32.0", "@react-stately/tooltip": "^3.5.9", "@react-types/shared": "^3.32.1", "@react-types/tooltip": "^3.5.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-2O1DXEV8/+DeUq9dIlAfaNa7lSG+7FCZDuF+sNiPYnZM6tgFOrsId26uMF5EuwpVfOvXSSGnq0+6Ma2On7mZPg=="],
-
- "@react-aria/tree": ["@react-aria/tree@3.1.5", "", { "dependencies": { "@react-aria/gridlist": "^3.14.2", "@react-aria/i18n": "^3.12.14", "@react-aria/selection": "^3.27.0", "@react-aria/utils": "^3.32.0", "@react-stately/tree": "^3.9.4", "@react-types/button": "^3.14.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-FAq7pAhRVrWU0U/8QbQIJfBqHuoCD+F9rR9ruoM3oL0vVIZxVN57ak/dhyge3EGlraTl9vzFi6IRceXiMuk5kg=="],
-
- "@react-aria/utils": ["@react-aria/utils@3.32.0", "", { "dependencies": { "@react-aria/ssr": "^3.9.10", "@react-stately/flags": "^3.1.2", "@react-stately/utils": "^3.11.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0", "clsx": "^2.0.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-/7Rud06+HVBIlTwmwmJa2W8xVtgxgzm0+kLbuFooZRzKDON6hhozS1dOMR/YLMxyJOaYOTpImcP4vRR9gL1hEg=="],
-
- "@react-aria/virtualizer": ["@react-aria/virtualizer@4.1.11", "", { "dependencies": { "@react-aria/i18n": "^3.12.14", "@react-aria/interactions": "^3.26.0", "@react-aria/utils": "^3.32.0", "@react-stately/virtualizer": "^4.4.4", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-eYL//bX11Aox4Eh1BSZFX4I/4EdyVVWLjmpW+Y5qy4WajNrowjiuJJM7Fp1rQBlOAVuz0KbaDmFhiU3Z3rWjsw=="],
-
- "@react-aria/visually-hidden": ["@react-aria/visually-hidden@3.8.29", "", { "dependencies": { "@react-aria/interactions": "^3.26.0", "@react-aria/utils": "^3.32.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-1joCP+MHBLd+YA6Gb08nMFfDBhOF0Kh1gR1SA8zoxEB5RMfQEEkufIB8k0GGwvHGSCK3gFyO8UAVsD0+rRYEyg=="],
-
- "@react-hookz/deep-equal": ["@react-hookz/deep-equal@1.0.4", "", {}, "sha512-N56fTrAPUDz/R423pag+n6TXWbvlBZDtTehaGFjK0InmN+V2OFWLE/WmORhmn6Ce7dlwH5+tQN1LJFw3ngTJVg=="],
-
- "@react-hookz/web": ["@react-hookz/web@24.0.4", "", { "dependencies": { "@react-hookz/deep-equal": "^1.0.4" }, "peerDependencies": { "js-cookie": "^3.0.5", "react": "^16.8 || ^17 || ^18", "react-dom": "^16.8 || ^17 || ^18" }, "optionalPeers": ["js-cookie"] }, "sha512-DcIM6JiZklDyHF6CRD1FTXzuggAkQ+3Ncq2Wln7Kdih8GV6ZIeN9JfS6ZaQxpQUxan8/4n0J2V/R7nMeiSrb2Q=="],
-
- "@react-stately/autocomplete": ["@react-stately/autocomplete@3.0.0-beta.4", "", { "dependencies": { "@react-stately/utils": "^3.11.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-K2Uy7XEdseFvgwRQ8CyrYEHMupjVKEszddOapP8deNz4hntYvT1aRm0m+sKa5Kl/4kvg9c/3NZpQcrky/vRZIg=="],
-
- "@react-stately/calendar": ["@react-stately/calendar@3.9.1", "", { "dependencies": { "@internationalized/date": "^3.10.1", "@react-stately/utils": "^3.11.0", "@react-types/calendar": "^3.8.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-q0Q8fivpQa1rcLg5daUVxwVj1smCp1VnpX9A5Q5PkI9lH9x+xdS0Y6eOqb8Ih3TKBDkx9/oEZonOX7RYNIzSig=="],
-
- "@react-stately/checkbox": ["@react-stately/checkbox@3.7.3", "", { "dependencies": { "@react-stately/form": "^3.2.2", "@react-stately/utils": "^3.11.0", "@react-types/checkbox": "^3.10.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ve2K+uWT+NRM1JMn+tkWJDP2iBAaWvbZ0TbSXs371IUcTWaNW61HygZ+UFOB/frAZGloazEKGqAsX5XjFpgB9w=="],
-
- "@react-stately/collections": ["@react-stately/collections@3.12.8", "", { "dependencies": { "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-AceJYLLXt1Y2XIcOPi6LEJSs4G/ubeYW3LqOCQbhfIgMaNqKfQMIfagDnPeJX9FVmPFSlgoCBxb1pTJW2vjCAQ=="],
-
- "@react-stately/color": ["@react-stately/color@3.9.3", "", { "dependencies": { "@internationalized/number": "^3.6.5", "@internationalized/string": "^3.2.7", "@react-stately/form": "^3.2.2", "@react-stately/numberfield": "^3.10.3", "@react-stately/slider": "^3.7.3", "@react-stately/utils": "^3.11.0", "@react-types/color": "^3.1.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-H5lQgl07upsI7+cxTwYo639ziDDG1DFgOtq5pmC4Nxi8uNl8sR/8YeLaYuxyJiVkj2VLHBYRQ3+JcxrdduFvPQ=="],
-
- "@react-stately/combobox": ["@react-stately/combobox@3.12.1", "", { "dependencies": { "@react-stately/collections": "^3.12.8", "@react-stately/form": "^3.2.2", "@react-stately/list": "^3.13.2", "@react-stately/overlays": "^3.6.21", "@react-stately/utils": "^3.11.0", "@react-types/combobox": "^3.13.10", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-RwfTTYgKJ9raIY+7grZ5DbfVRSO5pDjo/ur2VN/28LZzM0eOQrLFQ00vpBmY7/R64sHRpcXLDxpz5cqpKCdvTw=="],
-
- "@react-stately/data": ["@react-stately/data@3.15.0", "", { "dependencies": { "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ocP39NQQkrbtHVCPsqltNncpEHaONyYX/8s2UK9xeLRc+55NtDI2RZDKTUf/mi6H2SHxzEwLMQH8hWtEwC55mQ=="],
-
- "@react-stately/datepicker": ["@react-stately/datepicker@3.15.3", "", { "dependencies": { "@internationalized/date": "^3.10.1", "@internationalized/string": "^3.2.7", "@react-stately/form": "^3.2.2", "@react-stately/overlays": "^3.6.21", "@react-stately/utils": "^3.11.0", "@react-types/datepicker": "^3.13.3", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-RDYoz1R/EkCyxHYewb58T7DngU3gl6CnQL7xiWiDlayPnstGaanoQ3yCZGJaIQwR8PrKdNbQwXF9NlSmj8iCOw=="],
-
- "@react-stately/disclosure": ["@react-stately/disclosure@3.0.9", "", { "dependencies": { "@react-stately/utils": "^3.11.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-M3HKsXqdzYKQf1TpnQRLZ6+/b8E3Nba3oOuY0OW5NnM5dZWSnXuj8foBQJT118FdLgMjpfBdPIkUvnaGiDCs5w=="],
-
- "@react-stately/dnd": ["@react-stately/dnd@3.7.2", "", { "dependencies": { "@react-stately/selection": "^3.20.7", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-tr5nNgrLMn5GV308K1f010XUZ2j8CApqHrrcjg5fa2AnpO2gECcOf+UEnAvoFNUsvknje4iPX8y0/0No2ZHsgA=="],
-
- "@react-stately/flags": ["@react-stately/flags@3.1.2", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg=="],
-
- "@react-stately/form": ["@react-stately/form@3.2.2", "", { "dependencies": { "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-soAheOd7oaTO6eNs6LXnfn0tTqvOoe3zN9FvtIhhrErKz9XPc5sUmh3QWwR45+zKbitOi1HOjfA/gifKhZcfWw=="],
-
- "@react-stately/grid": ["@react-stately/grid@3.11.7", "", { "dependencies": { "@react-stately/collections": "^3.12.8", "@react-stately/selection": "^3.20.7", "@react-types/grid": "^3.3.6", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-SqzBSxUTFZKLZicfXDK+M0A3gh07AYK1pmU/otcq2cjZ0nSC4CceKijQ2GBZnl+YGcGHI1RgkhpLP6ZioMYctQ=="],
-
- "@react-stately/layout": ["@react-stately/layout@4.5.2", "", { "dependencies": { "@react-stately/collections": "^3.12.8", "@react-stately/table": "^3.15.2", "@react-stately/virtualizer": "^4.4.4", "@react-types/grid": "^3.3.6", "@react-types/shared": "^3.32.1", "@react-types/table": "^3.13.4", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-quAzYkshApkv1vChz2NXBaLTC7ihJUmv3ijqJBHCkZSY6qq+1qnc4aGespDF1f3mPhmpGswTFGXFImFTAYfi5g=="],
-
- "@react-stately/list": ["@react-stately/list@3.13.2", "", { "dependencies": { "@react-stately/collections": "^3.12.8", "@react-stately/selection": "^3.20.7", "@react-stately/utils": "^3.11.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-dGFALuQWNNOkv7W12qSsXLF4mJHLeWeK2hVvdyj4SI8Vxku+BOfaVKuW3sn3mNiixI1dM/7FY2ip4kK+kv27vw=="],
-
- "@react-stately/menu": ["@react-stately/menu@3.9.9", "", { "dependencies": { "@react-stately/overlays": "^3.6.21", "@react-types/menu": "^3.10.5", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-moW5JANxMxPilfR0SygpCWCZe7Ef09oadgzTZthRymNRv0PXVS9ad4wd1EkwuMvPH/n0uZLZE2s8hNyFDgyqPA=="],
-
- "@react-stately/numberfield": ["@react-stately/numberfield@3.10.3", "", { "dependencies": { "@internationalized/number": "^3.6.5", "@react-stately/form": "^3.2.2", "@react-stately/utils": "^3.11.0", "@react-types/numberfield": "^3.8.16", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-40g/oyVcWoEaLqkr61KuHZzQVLLXFi3oa2K8XLnb6o+859SM4TX3XPNqL6eNQjXSKoJO5Hlgpqhee9j+VDbGog=="],
-
- "@react-stately/overlays": ["@react-stately/overlays@3.6.21", "", { "dependencies": { "@react-stately/utils": "^3.11.0", "@react-types/overlays": "^3.9.2", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-7f25H1PS2g+SNvuWPEW30pSGqYNHxesCP4w+1RcV/XV1oQI7oP5Ji2WfI0QsJEFc9wP/ZO1pyjHNKpfLI3O88g=="],
-
- "@react-stately/radio": ["@react-stately/radio@3.11.3", "", { "dependencies": { "@react-stately/form": "^3.2.2", "@react-stately/utils": "^3.11.0", "@react-types/radio": "^3.9.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-8+Cy0azV1aBWKcBfGHi3nBa285lAS6XhmVw2LfEwxq8DeVKTbJAaCHHwvDoclxDiOAnqzE0pio0QMD8rYISt9g=="],
-
- "@react-stately/searchfield": ["@react-stately/searchfield@3.5.17", "", { "dependencies": { "@react-stately/utils": "^3.11.0", "@react-types/searchfield": "^3.6.6", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-/KExpJt6EGyuLxy/PRQJlETQxJGw8tRxVws6qF1lankN49Os2UhFEWi7ogbMCOWN67gIgevhZRdzmJnuov6BEQ=="],
-
- "@react-stately/select": ["@react-stately/select@3.9.0", "", { "dependencies": { "@react-stately/form": "^3.2.2", "@react-stately/list": "^3.13.2", "@react-stately/overlays": "^3.6.21", "@react-stately/utils": "^3.11.0", "@react-types/select": "^3.12.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-eNE33zVYpVdCPKRPGYyViN3LnEq82e1wjBIrs9T7Vo4EBnJeT57pqMZpalTPk7qsA+861t14Qrj7GnUd+YbEXw=="],
-
- "@react-stately/selection": ["@react-stately/selection@3.20.7", "", { "dependencies": { "@react-stately/collections": "^3.12.8", "@react-stately/utils": "^3.11.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-NkiRsNCfORBIHNF1bCavh4Vvj+Yd5NffE10iXtaFuhF249NlxLynJZmkcVCqNP9taC2pBIHX00+9tcBgxhG+mA=="],
-
- "@react-stately/slider": ["@react-stately/slider@3.7.3", "", { "dependencies": { "@react-stately/utils": "^3.11.0", "@react-types/shared": "^3.32.1", "@react-types/slider": "^3.8.2", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-9QGnQNXFAH52BzxtU7weyOV/VV7/so6uIvE8VOHfc6QR3GMBM/kJvqBCTWZfQ0pxDIsRagBQDD/tjB09ixTOzg=="],
-
- "@react-stately/table": ["@react-stately/table@3.15.2", "", { "dependencies": { "@react-stately/collections": "^3.12.8", "@react-stately/flags": "^3.1.2", "@react-stately/grid": "^3.11.7", "@react-stately/selection": "^3.20.7", "@react-stately/utils": "^3.11.0", "@react-types/grid": "^3.3.6", "@react-types/shared": "^3.32.1", "@react-types/table": "^3.13.4", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-vgEArBN5ocqsQdeORBj6xk8acu5iFnd/CyXEQKl0R5RyuYuw0ms8UmFHvs8Fv1HONehPYg+XR4QPliDFPX8R9A=="],
-
- "@react-stately/tabs": ["@react-stately/tabs@3.8.7", "", { "dependencies": { "@react-stately/list": "^3.13.2", "@react-types/shared": "^3.32.1", "@react-types/tabs": "^3.3.20", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ETZEzg7s9F2SCvisZ2cCpLx6XBHqdvVgDGU5l3C3s9zBKBr6lgyLFt61IdGW8XXZRUvw4mMGT6tGQbXeGvR0Wg=="],
-
- "@react-stately/toast": ["@react-stately/toast@3.1.2", "", { "dependencies": { "@swc/helpers": "^0.5.0", "use-sync-external-store": "^1.4.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-HiInm7bck32khFBHZThTQaAF6e6/qm57F4mYRWdTq8IVeGDzpkbUYibnLxRhk0UZ5ybc6me+nqqPkG/lVmM42Q=="],
-
- "@react-stately/toggle": ["@react-stately/toggle@3.9.3", "", { "dependencies": { "@react-stately/utils": "^3.11.0", "@react-types/checkbox": "^3.10.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-G6aA/aTnid/6dQ9dxNEd7/JqzRmVkVYYpOAP+l02hepiuSmFwLu4nE98i4YFBQqFZ5b4l01gMrS90JGL7HrNmw=="],
-
- "@react-stately/tooltip": ["@react-stately/tooltip@3.5.9", "", { "dependencies": { "@react-stately/overlays": "^3.6.21", "@react-types/tooltip": "^3.5.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-YwqtxFqQFfJtbeh+axHVGAfz9XHf73UaBndHxSbVM/T5c1PfI2yOB39T2FOU5fskZ2VMO3qTDhiXmFgGbGYSfQ=="],
-
- "@react-stately/tree": ["@react-stately/tree@3.9.4", "", { "dependencies": { "@react-stately/collections": "^3.12.8", "@react-stately/selection": "^3.20.7", "@react-stately/utils": "^3.11.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-Re1fdEiR0hHPcEda+7ecw+52lgGfFW0MAEDzFg9I6J/t8STQSP+1YC0VVVkv2xRrkLbKLPqggNKgmD8nggecnw=="],
-
- "@react-stately/utils": ["@react-stately/utils@3.11.0", "", { "dependencies": { "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-8LZpYowJ9eZmmYLpudbo/eclIRnbhWIJZ994ncmlKlouNzKohtM8qTC6B1w1pwUbiwGdUoyzLuQbeaIor5Dvcw=="],
-
- "@react-stately/virtualizer": ["@react-stately/virtualizer@4.4.4", "", { "dependencies": { "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ri8giqXSZOrznZDCCOE4U36wSkOhy+hrFK7yo/YVcpxTqqp3d3eisfKMqbDsgqBW+XTHycTU/xeAf0u9NqrfpQ=="],
-
- "@react-types/autocomplete": ["@react-types/autocomplete@3.0.0-alpha.36", "", { "dependencies": { "@react-types/combobox": "^3.13.10", "@react-types/searchfield": "^3.6.6", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-J/wYkXom9zmEX/xuGjKrqMco9sf5AcByNXOgGAx82LMlk0jFcViggVjIYo/Qzr0TmDeTWyy++r1N59POI6179g=="],
-
- "@react-types/breadcrumbs": ["@react-types/breadcrumbs@3.7.17", "", { "dependencies": { "@react-types/link": "^3.6.5", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-IhvVTcfli5o/UDlGACXxjlor2afGlMQA8pNR3faH0bBUay1Fmm3IWktVw9Xwmk+KraV2RTAg9e+E6p8DOQZfiw=="],
-
- "@react-types/button": ["@react-types/button@3.14.1", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-D8C4IEwKB7zEtiWYVJ3WE/5HDcWlze9mLWQ5hfsBfpePyWCgO3bT/+wjb/7pJvcAocrkXo90QrMm85LcpBtrpg=="],
-
- "@react-types/calendar": ["@react-types/calendar@3.8.1", "", { "dependencies": { "@internationalized/date": "^3.10.1", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-B0UuitMP7YkArBAQldwSZSNL2WwazNGCG+lp6yEDj831NrH9e36/jcjv1rObQ9ZMS6uDX9LXu5C8V5RFwGQabA=="],
-
- "@react-types/checkbox": ["@react-types/checkbox@3.10.2", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ktPkl6ZfIdGS1tIaGSU/2S5Agf2NvXI9qAgtdMDNva0oLyAZ4RLQb6WecPvofw1J7YKXu0VA5Mu7nlX+FM2weQ=="],
-
- "@react-types/color": ["@react-types/color@3.1.2", "", { "dependencies": { "@react-types/shared": "^3.32.1", "@react-types/slider": "^3.8.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-NP0TAY3j4tlMztOp/bBfMlPwC9AQKTjSiTFmc2oQNkx5M4sl3QpPqFPosdt7jZ8M4nItvfCWZrlZGjST4SB83A=="],
-
- "@react-types/combobox": ["@react-types/combobox@3.13.10", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-Wo4iix++ID6JzoH9eD7ddGUlirQiGpN/VQc3iFjnaTXiJ/cj3v+1oGsDGCZZTklTVeUMU7SRBfMhMgxHHIYLXA=="],
-
- "@react-types/datepicker": ["@react-types/datepicker@3.13.3", "", { "dependencies": { "@internationalized/date": "^3.10.1", "@react-types/calendar": "^3.8.1", "@react-types/overlays": "^3.9.2", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-OTRa3banGxcUQKRTLUzr0zTVUMUL+Az1BWARCYQ+8Z/dlkYXYUW0fnS5I0pUEqihgai15KxiY13U0gAqbNSfcA=="],
-
- "@react-types/dialog": ["@react-types/dialog@3.5.22", "", { "dependencies": { "@react-types/overlays": "^3.9.2", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-smSvzOcqKE196rWk0oqJDnz+ox5JM5+OT0PmmJXiUD4q7P5g32O6W5Bg7hMIFUI9clBtngo8kLaX2iMg+GqAzg=="],
-
- "@react-types/form": ["@react-types/form@3.7.16", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-Sb7KJoWEaQ/e4XIY+xRbjKvbP1luome98ZXevpD+zVSyGjEcfIroebizP6K1yMHCWP/043xH6GUkgEqWPoVGjg=="],
-
- "@react-types/grid": ["@react-types/grid@3.3.6", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-vIZJlYTii2n1We9nAugXwM2wpcpsC6JigJFBd6vGhStRdRWRoU4yv1Gc98Usbx0FQ/J7GLVIgeG8+1VMTKBdxw=="],
-
- "@react-types/link": ["@react-types/link@3.6.5", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-+I2s3XWBEvLrzts0GnNeA84mUkwo+a7kLUWoaJkW0TOBDG7my95HFYxF9WnqKye7NgpOkCqz4s3oW96xPdIniQ=="],
-
- "@react-types/listbox": ["@react-types/listbox@3.7.4", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-p4YEpTl/VQGrqVE8GIfqTS5LkT5jtjDTbVeZgrkPnX/fiPhsfbTPiZ6g0FNap4+aOGJFGEEZUv2q4vx+rCORww=="],
-
- "@react-types/menu": ["@react-types/menu@3.10.5", "", { "dependencies": { "@react-types/overlays": "^3.9.2", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-HBTrKll2hm0VKJNM4ubIv1L9MNo8JuOnm2G3M+wXvb6EYIyDNxxJkhjsqsGpUXJdAOSkacHBDcNh2HsZABNX4A=="],
-
- "@react-types/meter": ["@react-types/meter@3.4.13", "", { "dependencies": { "@react-types/progress": "^3.5.16" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-EiarfbpHcvmeyXvXcr6XLaHkNHuGc4g7fBVEiDPwssFJKKfbUzqnnknDxPjyspqUVRcXC08CokS98J1jYobqDg=="],
-
- "@react-types/numberfield": ["@react-types/numberfield@3.8.16", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-945F0GsD7K2T293YXhap+2Runl3tZWbnhadXVHFWLbqIKKONZFSZTfLKxQcbFr+bQXr2uh1bVJhYcOiS1l5M+A=="],
-
- "@react-types/overlays": ["@react-types/overlays@3.9.2", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-Q0cRPcBGzNGmC8dBuHyoPR7N3057KTS5g+vZfQ53k8WwmilXBtemFJPLsogJbspuewQ/QJ3o2HYsp2pne7/iNw=="],
-
- "@react-types/progress": ["@react-types/progress@3.5.16", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-I9tSdCFfvQ7gHJtm90VAKgwdTWXQgVNvLRStEc0z9h+bXBxdvZb+QuiRPERChwFQ9VkK4p4rDqaFo69nDqWkpw=="],
-
- "@react-types/radio": ["@react-types/radio@3.9.2", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-3UcJXu37JrTkRyP4GJPDBU7NmDTInrEdOe+bVzA1j4EegzdkJmLBkLg5cLDAbpiEHB+xIsvbJdx6dxeMuc+H3g=="],
-
- "@react-types/searchfield": ["@react-types/searchfield@3.6.6", "", { "dependencies": { "@react-types/shared": "^3.32.1", "@react-types/textfield": "^3.12.6" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-cl3itr/fk7wbIQc2Gz5Ie8aVeUmPjVX/mRGS5/EXlmzycAKNYTvqf2mlxwObLndtLISmt7IgNjRRhbUUDI8Ang=="],
-
- "@react-types/select": ["@react-types/select@3.12.0", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-tM3mEbQNotvCJs1gYRFyIeXmXrIBSBLGw7feCIaYSO45IyjCGv8NZwpQWjoKPaWo3GpbHfHMNlWlq3v5QQPIXw=="],
-
- "@react-types/shared": ["@react-types/shared@3.32.1", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-famxyD5emrGGpFuUlgOP6fVW2h/ZaF405G5KDi3zPHzyjAWys/8W6NAVJtNbkCkhedmvL0xOhvt8feGXyXaw5w=="],
-
- "@react-types/slider": ["@react-types/slider@3.8.2", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-MQYZP76OEOYe7/yA2To+Dl0LNb0cKKnvh5JtvNvDnAvEprn1RuLiay8Oi/rTtXmc2KmBa4VdTcsXsmkbbkeN2Q=="],
-
- "@react-types/switch": ["@react-types/switch@3.5.15", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-r/ouGWQmIeHyYSP1e5luET+oiR7N7cLrAlWsrAfYRWHxqXOSNQloQnZJ3PLHrKFT02fsrQhx2rHaK2LfKeyN3A=="],
-
- "@react-types/table": ["@react-types/table@3.13.4", "", { "dependencies": { "@react-types/grid": "^3.3.6", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-I/DYiZQl6aNbMmjk90J9SOhkzVDZvyA3Vn3wMWCiajkMNjvubFhTfda5DDf2SgFP5l0Yh6TGGH5XumRv9LqL5Q=="],
-
- "@react-types/tabs": ["@react-types/tabs@3.3.20", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-Kjq4PypapdMOVPAQgaFIKH65Kr3YnRvaxBGd6RYizTsqYImQhXoGj6B4lBpjYy4KhfRd4dYS82frHqTGKmBYiA=="],
-
- "@react-types/textfield": ["@react-types/textfield@3.12.6", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-hpEVKE+M3uUkTjw2WrX1NrH/B3rqDJFUa+ViNK2eVranLY4ZwFqbqaYXSzHupOF3ecSjJJv2C103JrwFvx6TPQ=="],
-
- "@react-types/tooltip": ["@react-types/tooltip@3.5.0", "", { "dependencies": { "@react-types/overlays": "^3.9.2", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-o/m1wlKlOD2sLb9vZLWdVkD5LFLHBMLGeeK/bhyUtp0IEdUeKy0ZRTS7pa/A50trov9RvdbzLK79xG8nKNxHew=="],
-
- "@remix-run/router": ["@remix-run/router@1.23.1", "", {}, "sha512-vDbaOzF7yT2Qs4vO6XV1MHcJv+3dgR1sT+l3B8xxOVhUC336prMvqrvsLL/9Dnw2xr6Qhz4J0dmS0llNAbnUmQ=="],
-
- "@remixicon/react": ["@remixicon/react@4.7.0", "", { "peerDependencies": { "react": ">=18.2.0" } }, "sha512-ODBQjdbOjnFguCqctYkpDjERXOInNaBnRPDKfZOBvbzExBAwr2BaH/6AHFTg/UAFzBDkwtylfMT8iKPAkLwPLQ=="],
-
- "@rjsf/core": ["@rjsf/core@5.21.1", "", { "dependencies": { "lodash": "^4.17.21", "lodash-es": "^4.17.21", "markdown-to-jsx": "^7.4.1", "nanoid": "^3.3.7", "prop-types": "^15.8.1" }, "peerDependencies": { "@rjsf/utils": "^5.20.x", "react": "^16.14.0 || >=17" } }, "sha512-qURYyhL5RO8S8mkBKFL506mzc20ywJiIQbByozUYudAc25TL7ebxskwscdwhMnuzqQbMjBBimvHJGjcwzfIVxQ=="],
-
- "@rjsf/material-ui": ["@rjsf/material-ui@5.21.1", "", { "peerDependencies": { "@material-ui/core": "^4.12.3", "@material-ui/icons": "^4.11.2", "@rjsf/core": "^5.20.x", "@rjsf/utils": "^5.20.x", "react": "^16.14.0 || >=17" } }, "sha512-E4We7bETnvQQeo5d2e7po8SipTLzRBxLylC4043/Dsogx1AEy4zyfne6GmtTFAFoVmBZeTQuH6NPuXd25h8SlQ=="],
-
- "@rjsf/utils": ["@rjsf/utils@5.21.1", "", { "dependencies": { "json-schema-merge-allof": "^0.8.1", "jsonpointer": "^5.0.1", "lodash": "^4.17.21", "lodash-es": "^4.17.21", "react-is": "^18.2.0" }, "peerDependencies": { "react": "^16.14.0 || >=17" } }, "sha512-KEwEtIswzKE2WTLRxvh5vwMwvNMTHnRSxwaRlz3QKz5/iQr9XGJTWcmArjIN3y0ypfLk+X6qZsboamQBIhTV3w=="],
-
- "@rjsf/validator-ajv8": ["@rjsf/validator-ajv8@5.21.1", "", { "dependencies": { "ajv": "^8.12.0", "ajv-formats": "^2.1.1", "lodash": "^4.17.21", "lodash-es": "^4.17.21" }, "peerDependencies": { "@rjsf/utils": "^5.20.x" } }, "sha512-wR8sSQCnHQT51JzGZMsJfYednOKs3nahnpInkkZmJrK+FvlWkfMfB2QOl8ZgTrKX3egde3362QtBp9QCKEXYxg=="],
-
- "@rollup/plugin-commonjs": ["@rollup/plugin-commonjs@26.0.3", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "commondir": "^1.0.1", "estree-walker": "^2.0.2", "glob": "^10.4.1", "is-reference": "1.2.1", "magic-string": "^0.30.3" }, "peerDependencies": { "rollup": "^2.68.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-2BJcolt43MY+y5Tz47djHkodCC3c1VKVrBDKpVqHKpQ9z9S158kCCqB8NF6/gzxLdNlYW9abB3Ibh+kOWLp8KQ=="],
-
- "@rollup/plugin-json": ["@rollup/plugin-json@6.1.0", "", { "dependencies": { "@rollup/pluginutils": "^5.1.0" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA=="],
-
- "@rollup/plugin-node-resolve": ["@rollup/plugin-node-resolve@15.3.1", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "@types/resolve": "1.20.2", "deepmerge": "^4.2.2", "is-module": "^1.0.0", "resolve": "^1.22.1" }, "peerDependencies": { "rollup": "^2.78.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA=="],
-
- "@rollup/plugin-yaml": ["@rollup/plugin-yaml@4.1.2", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "js-yaml": "^4.1.0", "tosource": "^2.0.0-alpha.3" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-RpupciIeZMUqhgFE97ba0s98mOFS7CWzN3EJNhJkqSv9XLlWYtwVdtE6cDw6ASOF/sZVFS7kRJXftaqM2Vakdw=="],
-
- "@rollup/pluginutils": ["@rollup/pluginutils@5.3.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q=="],
-
- "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.54.0", "", { "os": "android", "cpu": "arm" }, "sha512-OywsdRHrFvCdvsewAInDKCNyR3laPA2mc9bRYJ6LBp5IyvF3fvXbbNR0bSzHlZVFtn6E0xw2oZlyjg4rKCVcng=="],
-
- "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.54.0", "", { "os": "android", "cpu": "arm64" }, "sha512-Skx39Uv+u7H224Af+bDgNinitlmHyQX1K/atIA32JP3JQw6hVODX5tkbi2zof/E69M1qH2UoN3Xdxgs90mmNYw=="],
-
- "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.54.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-k43D4qta/+6Fq+nCDhhv9yP2HdeKeP56QrUUTW7E6PhZP1US6NDqpJj4MY0jBHlJivVJD5P8NxrjuobZBJTCRw=="],
-
- "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.54.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-cOo7biqwkpawslEfox5Vs8/qj83M/aZCSSNIWpVzfU2CYHa2G3P1UN5WF01RdTHSgCkri7XOlTdtk17BezlV3A=="],
-
- "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.54.0", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-miSvuFkmvFbgJ1BevMa4CPCFt5MPGw094knM64W9I0giUIMMmRYcGW/JWZDriaw/k1kOBtsWh1z6nIFV1vPNtA=="],
-
- "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.54.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-KGXIs55+b/ZfZsq9aR026tmr/+7tq6VG6MsnrvF4H8VhwflTIuYh+LFUlIsRdQSgrgmtM3fVATzEAj4hBQlaqQ=="],
-
- "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.54.0", "", { "os": "linux", "cpu": "arm" }, "sha512-EHMUcDwhtdRGlXZsGSIuXSYwD5kOT9NVnx9sqzYiwAc91wfYOE1g1djOEDseZJKKqtHAHGwnGPQu3kytmfaXLQ=="],
-
- "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.54.0", "", { "os": "linux", "cpu": "arm" }, "sha512-+pBrqEjaakN2ySv5RVrj/qLytYhPKEUwk+e3SFU5jTLHIcAtqh2rLrd/OkbNuHJpsBgxsD8ccJt5ga/SeG0JmA=="],
-
- "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.54.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-NSqc7rE9wuUaRBsBp5ckQ5CVz5aIRKCwsoa6WMF7G01sX3/qHUw/z4pv+D+ahL1EIKy6Enpcnz1RY8pf7bjwng=="],
-
- "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.54.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-gr5vDbg3Bakga5kbdpqx81m2n9IX8M6gIMlQQIXiLTNeQW6CucvuInJ91EuCJ/JYvc+rcLLsDFcfAD1K7fMofg=="],
-
- "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.54.0", "", { "os": "linux", "cpu": "none" }, "sha512-gsrtB1NA3ZYj2vq0Rzkylo9ylCtW/PhpLEivlgWe0bpgtX5+9j9EZa0wtZiCjgu6zmSeZWyI/e2YRX1URozpIw=="],
-
- "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.54.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-y3qNOfTBStmFNq+t4s7Tmc9hW2ENtPg8FeUD/VShI7rKxNW7O4fFeaYbMsd3tpFlIg1Q8IapFgy7Q9i2BqeBvA=="],
-
- "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.54.0", "", { "os": "linux", "cpu": "none" }, "sha512-89sepv7h2lIVPsFma8iwmccN7Yjjtgz0Rj/Ou6fEqg3HDhpCa+Et+YSufy27i6b0Wav69Qv4WBNl3Rs6pwhebQ=="],
-
- "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.54.0", "", { "os": "linux", "cpu": "none" }, "sha512-ZcU77ieh0M2Q8Ur7D5X7KvK+UxbXeDHwiOt/CPSBTI1fBmeDMivW0dPkdqkT4rOgDjrDDBUed9x4EgraIKoR2A=="],
-
- "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.54.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-2AdWy5RdDF5+4YfG/YesGDDtbyJlC9LHmL6rZw6FurBJ5n4vFGupsOBGfwMRjBYH7qRQowT8D/U4LoSvVwOhSQ=="],
-
- "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.54.0", "", { "os": "linux", "cpu": "x64" }, "sha512-WGt5J8Ij/rvyqpFexxk3ffKqqbLf9AqrTBbWDk7ApGUzaIs6V+s2s84kAxklFwmMF/vBNGrVdYgbblCOFFezMQ=="],
-
- "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.54.0", "", { "os": "linux", "cpu": "x64" }, "sha512-JzQmb38ATzHjxlPHuTH6tE7ojnMKM2kYNzt44LO/jJi8BpceEC8QuXYA908n8r3CNuG/B3BV8VR3Hi1rYtmPiw=="],
-
- "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.54.0", "", { "os": "none", "cpu": "arm64" }, "sha512-huT3fd0iC7jigGh7n3q/+lfPcXxBi+om/Rs3yiFxjvSxbSB6aohDFXbWvlspaqjeOh+hx7DDHS+5Es5qRkWkZg=="],
-
- "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.54.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-c2V0W1bsKIKfbLMBu/WGBz6Yci8nJ/ZJdheE0EwB73N3MvHYKiKGs3mVilX4Gs70eGeDaMqEob25Tw2Gb9Nqyw=="],
-
- "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.54.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-woEHgqQqDCkAzrDhvDipnSirm5vxUXtSKDYTVpZG3nUdW/VVB5VdCYA2iReSj/u3yCZzXID4kuKG7OynPnB3WQ=="],
-
- "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.54.0", "", { "os": "win32", "cpu": "x64" }, "sha512-dzAc53LOuFvHwbCEOS0rPbXp6SIhAf2txMP5p6mGyOXXw5mWY8NGGbPMPrs4P1WItkfApDathBj/NzMLUZ9rtQ=="],
-
- "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.54.0", "", { "os": "win32", "cpu": "x64" }, "sha512-hYT5d3YNdSh3mbCU1gwQyPgQd3T2ne0A3KG8KSBdav5TiBg6eInVmV+TeR5uHufiIgSFg0XsOWGW5/RhNcSvPg=="],
-
- "@rtsao/scc": ["@rtsao/scc@1.1.0", "", {}, "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g=="],
-
- "@sinclair/typebox": ["@sinclair/typebox@0.27.8", "", {}, "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA=="],
-
- "@sinonjs/commons": ["@sinonjs/commons@3.0.1", "", { "dependencies": { "type-detect": "4.0.8" } }, "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ=="],
-
- "@sinonjs/fake-timers": ["@sinonjs/fake-timers@10.3.0", "", { "dependencies": { "@sinonjs/commons": "^3.0.0" } }, "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA=="],
-
- "@smithy/abort-controller": ["@smithy/abort-controller@1.1.0", "", { "dependencies": { "@smithy/types": "^1.2.0", "tslib": "^2.5.0" } }, "sha512-5imgGUlZL4dW4YWdMYAKLmal9ny/tlenM81QZY7xYyb76z9Z/QOg7oM5Ak9HQl8QfFTlGVWwcMXl+54jroRgEQ=="],
-
- "@smithy/chunked-blob-reader": ["@smithy/chunked-blob-reader@5.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-WmU0TnhEAJLWvfSeMxBNe5xtbselEO8+4wG0NtZeL8oR21WgH1xiO37El+/Y+H/Ie4SCwBy3MxYWmOYaGgZueA=="],
-
- "@smithy/chunked-blob-reader-native": ["@smithy/chunked-blob-reader-native@4.2.1", "", { "dependencies": { "@smithy/util-base64": "^4.3.0", "tslib": "^2.6.2" } }, "sha512-lX9Ay+6LisTfpLid2zZtIhSEjHMZoAR5hHCR4H7tBz/Zkfr5ea8RcQ7Tk4mi0P76p4cN+Btz16Ffno7YHpKXnQ=="],
-
- "@smithy/config-resolver": ["@smithy/config-resolver@4.4.5", "", { "dependencies": { "@smithy/node-config-provider": "^4.3.7", "@smithy/types": "^4.11.0", "@smithy/util-config-provider": "^4.2.0", "@smithy/util-endpoints": "^3.2.7", "@smithy/util-middleware": "^4.2.7", "tslib": "^2.6.2" } }, "sha512-HAGoUAFYsUkoSckuKbCPayECeMim8pOu+yLy1zOxt1sifzEbrsRpYa+mKcMdiHKMeiqOibyPG0sFJnmaV/OGEg=="],
-
- "@smithy/core": ["@smithy/core@3.20.0", "", { "dependencies": { "@smithy/middleware-serde": "^4.2.8", "@smithy/protocol-http": "^5.3.7", "@smithy/types": "^4.11.0", "@smithy/util-base64": "^4.3.0", "@smithy/util-body-length-browser": "^4.2.0", "@smithy/util-middleware": "^4.2.7", "@smithy/util-stream": "^4.5.8", "@smithy/util-utf8": "^4.2.0", "@smithy/uuid": "^1.1.0", "tslib": "^2.6.2" } }, "sha512-WsSHCPq/neD5G/MkK4csLI5Y5Pkd9c1NMfpYEKeghSGaD4Ja1qLIohRQf2D5c1Uy5aXp76DeKHkzWZ9KAlHroQ=="],
-
- "@smithy/credential-provider-imds": ["@smithy/credential-provider-imds@4.2.7", "", { "dependencies": { "@smithy/node-config-provider": "^4.3.7", "@smithy/property-provider": "^4.2.7", "@smithy/types": "^4.11.0", "@smithy/url-parser": "^4.2.7", "tslib": "^2.6.2" } }, "sha512-CmduWdCiILCRNbQWFR0OcZlUPVtyE49Sr8yYL0rZQ4D/wKxiNzBNS/YHemvnbkIWj623fplgkexUd/c9CAKdoA=="],
-
- "@smithy/eventstream-codec": ["@smithy/eventstream-codec@4.2.7", "", { "dependencies": { "@aws-crypto/crc32": "5.2.0", "@smithy/types": "^4.11.0", "@smithy/util-hex-encoding": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-DrpkEoM3j9cBBWhufqBwnbbn+3nf1N9FP6xuVJ+e220jbactKuQgaZwjwP5CP1t+O94brm2JgVMD2atMGX3xIQ=="],
-
- "@smithy/eventstream-serde-browser": ["@smithy/eventstream-serde-browser@4.2.7", "", { "dependencies": { "@smithy/eventstream-serde-universal": "^4.2.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-ujzPk8seYoDBmABDE5YqlhQZAXLOrtxtJLrbhHMKjBoG5b4dK4i6/mEU+6/7yXIAkqOO8sJ6YxZl+h0QQ1IJ7g=="],
-
- "@smithy/eventstream-serde-config-resolver": ["@smithy/eventstream-serde-config-resolver@4.3.7", "", { "dependencies": { "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-x7BtAiIPSaNaWuzm24Q/mtSkv+BrISO/fmheiJ39PKRNH3RmH2Hph/bUKSOBOBC9unqfIYDhKTHwpyZycLGPVQ=="],
-
- "@smithy/eventstream-serde-node": ["@smithy/eventstream-serde-node@4.2.7", "", { "dependencies": { "@smithy/eventstream-serde-universal": "^4.2.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-roySCtHC5+pQq5lK4be1fZ/WR6s/AxnPaLfCODIPArtN2du8s5Ot4mKVK3pPtijL/L654ws592JHJ1PbZFF6+A=="],
-
- "@smithy/eventstream-serde-universal": ["@smithy/eventstream-serde-universal@4.2.7", "", { "dependencies": { "@smithy/eventstream-codec": "^4.2.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-QVD+g3+icFkThoy4r8wVFZMsIP08taHVKjE6Jpmz8h5CgX/kk6pTODq5cht0OMtcapUx+xrPzUTQdA+TmO0m1g=="],
-
- "@smithy/fetch-http-handler": ["@smithy/fetch-http-handler@5.3.8", "", { "dependencies": { "@smithy/protocol-http": "^5.3.7", "@smithy/querystring-builder": "^4.2.7", "@smithy/types": "^4.11.0", "@smithy/util-base64": "^4.3.0", "tslib": "^2.6.2" } }, "sha512-h/Fi+o7mti4n8wx1SR6UHWLaakwHRx29sizvp8OOm7iqwKGFneT06GCSFhml6Bha5BT6ot5pj3CYZnCHhGC2Rg=="],
-
- "@smithy/hash-blob-browser": ["@smithy/hash-blob-browser@4.2.8", "", { "dependencies": { "@smithy/chunked-blob-reader": "^5.2.0", "@smithy/chunked-blob-reader-native": "^4.2.1", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-07InZontqsM1ggTCPSRgI7d8DirqRrnpL7nIACT4PW0AWrgDiHhjGZzbAE5UtRSiU0NISGUYe7/rri9ZeWyDpw=="],
-
- "@smithy/hash-node": ["@smithy/hash-node@4.2.7", "", { "dependencies": { "@smithy/types": "^4.11.0", "@smithy/util-buffer-from": "^4.2.0", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-PU/JWLTBCV1c8FtB8tEFnY4eV1tSfBc7bDBADHfn1K+uRbPgSJ9jnJp0hyjiFN2PMdPzxsf1Fdu0eo9fJ760Xw=="],
-
- "@smithy/hash-stream-node": ["@smithy/hash-stream-node@4.2.7", "", { "dependencies": { "@smithy/types": "^4.11.0", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-ZQVoAwNYnFMIbd4DUc517HuwNelJUY6YOzwqrbcAgCnVn+79/OK7UjwA93SPpdTOpKDVkLIzavWm/Ck7SmnDPQ=="],
-
- "@smithy/invalid-dependency": ["@smithy/invalid-dependency@4.2.7", "", { "dependencies": { "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-ncvgCr9a15nPlkhIUx3CU4d7E7WEuVJOV7fS7nnK2hLtPK9tYRBkMHQbhXU1VvvKeBm/O0x26OEoBq+ngFpOEQ=="],
-
- "@smithy/is-array-buffer": ["@smithy/is-array-buffer@4.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ=="],
-
- "@smithy/md5-js": ["@smithy/md5-js@4.2.7", "", { "dependencies": { "@smithy/types": "^4.11.0", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-Wv6JcUxtOLTnxvNjDnAiATUsk8gvA6EeS8zzHig07dotpByYsLot+m0AaQEniUBjx97AC41MQR4hW0baraD1Xw=="],
-
- "@smithy/middleware-content-length": ["@smithy/middleware-content-length@4.2.7", "", { "dependencies": { "@smithy/protocol-http": "^5.3.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-GszfBfCcvt7kIbJ41LuNa5f0wvQCHhnGx/aDaZJCCT05Ld6x6U2s0xsc/0mBFONBZjQJp2U/0uSJ178OXOwbhg=="],
-
- "@smithy/middleware-endpoint": ["@smithy/middleware-endpoint@4.4.1", "", { "dependencies": { "@smithy/core": "^3.20.0", "@smithy/middleware-serde": "^4.2.8", "@smithy/node-config-provider": "^4.3.7", "@smithy/shared-ini-file-loader": "^4.4.2", "@smithy/types": "^4.11.0", "@smithy/url-parser": "^4.2.7", "@smithy/util-middleware": "^4.2.7", "tslib": "^2.6.2" } }, "sha512-gpLspUAoe6f1M6H0u4cVuFzxZBrsGZmjx2O9SigurTx4PbntYa4AJ+o0G0oGm1L2oSX6oBhcGHwrfJHup2JnJg=="],
-
- "@smithy/middleware-retry": ["@smithy/middleware-retry@4.4.17", "", { "dependencies": { "@smithy/node-config-provider": "^4.3.7", "@smithy/protocol-http": "^5.3.7", "@smithy/service-error-classification": "^4.2.7", "@smithy/smithy-client": "^4.10.2", "@smithy/types": "^4.11.0", "@smithy/util-middleware": "^4.2.7", "@smithy/util-retry": "^4.2.7", "@smithy/uuid": "^1.1.0", "tslib": "^2.6.2" } }, "sha512-MqbXK6Y9uq17h+4r0ogu/sBT6V/rdV+5NvYL7ZV444BKfQygYe8wAhDrVXagVebN6w2RE0Fm245l69mOsPGZzg=="],
-
- "@smithy/middleware-serde": ["@smithy/middleware-serde@4.2.8", "", { "dependencies": { "@smithy/protocol-http": "^5.3.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-8rDGYen5m5+NV9eHv9ry0sqm2gI6W7mc1VSFMtn6Igo25S507/HaOX9LTHAS2/J32VXD0xSzrY0H5FJtOMS4/w=="],
-
- "@smithy/middleware-stack": ["@smithy/middleware-stack@4.2.7", "", { "dependencies": { "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-bsOT0rJ+HHlZd9crHoS37mt8qRRN/h9jRve1SXUhVbkRzu0QaNYZp1i1jha4n098tsvROjcwfLlfvcFuJSXEsw=="],
-
- "@smithy/node-config-provider": ["@smithy/node-config-provider@4.3.7", "", { "dependencies": { "@smithy/property-provider": "^4.2.7", "@smithy/shared-ini-file-loader": "^4.4.2", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-7r58wq8sdOcrwWe+klL9y3bc4GW1gnlfnFOuL7CXa7UzfhzhxKuzNdtqgzmTV+53lEp9NXh5hY/S4UgjLOzPfw=="],
-
- "@smithy/node-http-handler": ["@smithy/node-http-handler@4.4.7", "", { "dependencies": { "@smithy/abort-controller": "^4.2.7", "@smithy/protocol-http": "^5.3.7", "@smithy/querystring-builder": "^4.2.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-NELpdmBOO6EpZtWgQiHjoShs1kmweaiNuETUpuup+cmm/xJYjT4eUjfhrXRP4jCOaAsS3c3yPsP3B+K+/fyPCQ=="],
-
- "@smithy/property-provider": ["@smithy/property-provider@4.2.7", "", { "dependencies": { "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-jmNYKe9MGGPoSl/D7JDDs1C8b3dC8f/w78LbaVfoTtWy4xAd5dfjaFG9c9PWPihY4ggMQNQSMtzU77CNgAJwmA=="],
-
- "@smithy/protocol-http": ["@smithy/protocol-http@5.3.7", "", { "dependencies": { "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-1r07pb994I20dD/c2seaZhoCuNYm0rWrvBxhCQ70brNh11M5Ml2ew6qJVo0lclB3jMIXirD4s2XRXRe7QEi0xA=="],
-
- "@smithy/querystring-builder": ["@smithy/querystring-builder@4.2.7", "", { "dependencies": { "@smithy/types": "^4.11.0", "@smithy/util-uri-escape": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-eKONSywHZxK4tBxe2lXEysh8wbBdvDWiA+RIuaxZSgCMmA0zMgoDpGLJhnyj+c0leOQprVnXOmcB4m+W9Rw7sg=="],
-
- "@smithy/querystring-parser": ["@smithy/querystring-parser@4.2.7", "", { "dependencies": { "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-3X5ZvzUHmlSTHAXFlswrS6EGt8fMSIxX/c3Rm1Pni3+wYWB6cjGocmRIoqcQF9nU5OgGmL0u7l9m44tSUpfj9w=="],
-
- "@smithy/service-error-classification": ["@smithy/service-error-classification@4.2.7", "", { "dependencies": { "@smithy/types": "^4.11.0" } }, "sha512-YB7oCbukqEb2Dlh3340/8g8vNGbs/QsNNRms+gv3N2AtZz9/1vSBx6/6tpwQpZMEJFs7Uq8h4mmOn48ZZ72MkA=="],
-
- "@smithy/shared-ini-file-loader": ["@smithy/shared-ini-file-loader@4.4.2", "", { "dependencies": { "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-M7iUUff/KwfNunmrgtqBfvZSzh3bmFgv/j/t1Y1dQ+8dNo34br1cqVEqy6v0mYEgi0DkGO7Xig0AnuOaEGVlcg=="],
-
- "@smithy/signature-v4": ["@smithy/signature-v4@5.3.7", "", { "dependencies": { "@smithy/is-array-buffer": "^4.2.0", "@smithy/protocol-http": "^5.3.7", "@smithy/types": "^4.11.0", "@smithy/util-hex-encoding": "^4.2.0", "@smithy/util-middleware": "^4.2.7", "@smithy/util-uri-escape": "^4.2.0", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-9oNUlqBlFZFOSdxgImA6X5GFuzE7V2H7VG/7E70cdLhidFbdtvxxt81EHgykGK5vq5D3FafH//X+Oy31j3CKOg=="],
-
- "@smithy/smithy-client": ["@smithy/smithy-client@4.10.2", "", { "dependencies": { "@smithy/core": "^3.20.0", "@smithy/middleware-endpoint": "^4.4.1", "@smithy/middleware-stack": "^4.2.7", "@smithy/protocol-http": "^5.3.7", "@smithy/types": "^4.11.0", "@smithy/util-stream": "^4.5.8", "tslib": "^2.6.2" } }, "sha512-D5z79xQWpgrGpAHb054Fn2CCTQZpog7JELbVQ6XAvXs5MNKWf28U9gzSBlJkOyMl9LA1TZEjRtwvGXfP0Sl90g=="],
-
- "@smithy/types": ["@smithy/types@4.11.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-mlrmL0DRDVe3mNrjTcVcZEgkFmufITfUAPBEA+AHYiIeYyJebso/He1qLbP3PssRe22KUzLRpQSdBPbXdgZ2VA=="],
-
- "@smithy/url-parser": ["@smithy/url-parser@4.2.7", "", { "dependencies": { "@smithy/querystring-parser": "^4.2.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-/RLtVsRV4uY3qPWhBDsjwahAtt3x2IsMGnP5W1b2VZIe+qgCqkLxI1UOHDZp1Q1QSOrdOR32MF3Ph2JfWT1VHg=="],
-
- "@smithy/util-base64": ["@smithy/util-base64@4.3.0", "", { "dependencies": { "@smithy/util-buffer-from": "^4.2.0", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-GkXZ59JfyxsIwNTWFnjmFEI8kZpRNIBfxKjv09+nkAWPt/4aGaEWMM04m4sxgNVWkbt2MdSvE3KF/PfX4nFedQ=="],
-
- "@smithy/util-body-length-browser": ["@smithy/util-body-length-browser@4.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-Fkoh/I76szMKJnBXWPdFkQJl2r9SjPt3cMzLdOB6eJ4Pnpas8hVoWPYemX/peO0yrrvldgCUVJqOAjUrOLjbxg=="],
-
- "@smithy/util-body-length-node": ["@smithy/util-body-length-node@4.2.1", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-h53dz/pISVrVrfxV1iqXlx5pRg3V2YWFcSQyPyXZRrZoZj4R4DeWRDo1a7dd3CPTcFi3kE+98tuNyD2axyZReA=="],
-
- "@smithy/util-buffer-from": ["@smithy/util-buffer-from@4.2.0", "", { "dependencies": { "@smithy/is-array-buffer": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew=="],
-
- "@smithy/util-config-provider": ["@smithy/util-config-provider@4.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-YEjpl6XJ36FTKmD+kRJJWYvrHeUvm5ykaUS5xK+6oXffQPHeEM4/nXlZPe+Wu0lsgRUcNZiliYNh/y7q9c2y6Q=="],
-
- "@smithy/util-defaults-mode-browser": ["@smithy/util-defaults-mode-browser@4.3.16", "", { "dependencies": { "@smithy/property-provider": "^4.2.7", "@smithy/smithy-client": "^4.10.2", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-/eiSP3mzY3TsvUOYMeL4EqUX6fgUOj2eUOU4rMMgVbq67TiRLyxT7Xsjxq0bW3OwuzK009qOwF0L2OgJqperAQ=="],
-
- "@smithy/util-defaults-mode-node": ["@smithy/util-defaults-mode-node@4.2.19", "", { "dependencies": { "@smithy/config-resolver": "^4.4.5", "@smithy/credential-provider-imds": "^4.2.7", "@smithy/node-config-provider": "^4.3.7", "@smithy/property-provider": "^4.2.7", "@smithy/smithy-client": "^4.10.2", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-3a4+4mhf6VycEJyHIQLypRbiwG6aJvbQAeRAVXydMmfweEPnLLabRbdyo/Pjw8Rew9vjsh5WCdhmDaHkQnhhhA=="],
-
- "@smithy/util-endpoints": ["@smithy/util-endpoints@3.2.7", "", { "dependencies": { "@smithy/node-config-provider": "^4.3.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-s4ILhyAvVqhMDYREeTS68R43B1V5aenV5q/V1QpRQJkCXib5BPRo4s7uNdzGtIKxaPHCfU/8YkvPAEvTpxgspg=="],
-
- "@smithy/util-hex-encoding": ["@smithy/util-hex-encoding@4.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-CCQBwJIvXMLKxVbO88IukazJD9a4kQ9ZN7/UMGBjBcJYvatpWk+9g870El4cB8/EJxfe+k+y0GmR9CAzkF+Nbw=="],
-
- "@smithy/util-middleware": ["@smithy/util-middleware@4.2.7", "", { "dependencies": { "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-i1IkpbOae6NvIKsEeLLM9/2q4X+M90KV3oCFgWQI4q0Qz+yUZvsr+gZPdAEAtFhWQhAHpTsJO8DRJPuwVyln+w=="],
-
- "@smithy/util-retry": ["@smithy/util-retry@4.2.7", "", { "dependencies": { "@smithy/service-error-classification": "^4.2.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-SvDdsQyF5CIASa4EYVT02LukPHVzAgUA4kMAuZ97QJc2BpAqZfA4PINB8/KOoCXEw9tsuv/jQjMeaHFvxdLNGg=="],
-
- "@smithy/util-stream": ["@smithy/util-stream@4.5.8", "", { "dependencies": { "@smithy/fetch-http-handler": "^5.3.8", "@smithy/node-http-handler": "^4.4.7", "@smithy/types": "^4.11.0", "@smithy/util-base64": "^4.3.0", "@smithy/util-buffer-from": "^4.2.0", "@smithy/util-hex-encoding": "^4.2.0", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-ZnnBhTapjM0YPGUSmOs0Mcg/Gg87k503qG4zU2v/+Js2Gu+daKOJMeqcQns8ajepY8tgzzfYxl6kQyZKml6O2w=="],
-
- "@smithy/util-uri-escape": ["@smithy/util-uri-escape@4.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-igZpCKV9+E/Mzrpq6YacdTQ0qTiLm85gD6N/IrmyDvQFA4UnU3d5g3m8tMT/6zG/vVkWSU+VxeUyGonL62DuxA=="],
-
- "@smithy/util-utf8": ["@smithy/util-utf8@4.2.0", "", { "dependencies": { "@smithy/util-buffer-from": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw=="],
-
- "@smithy/util-waiter": ["@smithy/util-waiter@4.2.7", "", { "dependencies": { "@smithy/abort-controller": "^4.2.7", "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-vHJFXi9b7kUEpHWUCY3Twl+9NPOZvQ0SAi+Ewtn48mbiJk4JY9MZmKQjGB4SCvVb9WPiSphZJYY6RIbs+grrzw=="],
-
- "@smithy/uuid": ["@smithy/uuid@1.1.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-4aUIteuyxtBUhVdiQqcDhKFitwfd9hqoSDYY2KRXiWtgoWJ9Bmise+KfEPDiVHWeJepvF8xJO9/9+WDIciMFFw=="],
-
- "@so-ric/colorspace": ["@so-ric/colorspace@1.1.6", "", { "dependencies": { "color": "^5.0.2", "text-hex": "1.0.x" } }, "sha512-/KiKkpHNOBgkFJwu9sh48LkHSMYGyuTcSFK/qMBdnOAlrRJzRSXAOFB5qwzaVQuDl8wAvHVMkaASQDReTahxuw=="],
-
- "@spotify/eslint-config-base": ["@spotify/eslint-config-base@15.0.0", "", { "peerDependencies": { "eslint": ">=7.x" } }, "sha512-7UA5QWbb8xk3Q1665BkRldzieI/Of7ONzjEXZpoyIjrfBDEmlXEDdCmOsv8Pt2aOuzHSTiykMzn7wNF5ymGL/A=="],
-
- "@spotify/eslint-config-react": ["@spotify/eslint-config-react@15.0.0", "", { "peerDependencies": { "eslint": ">=8.x", "eslint-plugin-jsx-a11y": "6.x", "eslint-plugin-react": ">=7.7.0 <8", "eslint-plugin-react-hooks": "^4.0.0" } }, "sha512-TgYLvOb0RvniWbJ3dz0Skh/AMRpkJU7aNnUfHIaEvXziVQYUrRAuMwNvCCjeCfR9FkeImuORsyBobZhgsfjrZQ=="],
-
- "@spotify/eslint-config-typescript": ["@spotify/eslint-config-typescript@15.0.0", "", { "peerDependencies": { "@typescript-eslint/eslint-plugin": ">=5", "@typescript-eslint/parser": ">=5", "eslint": ">=8.x" } }, "sha512-70nKh2v6So0MddkEfKj4xgAcqs1VmR0AS2yb62XYetZ1Ep3AmhYDl/5CYtU5pbAQS4zCap8rd/EYdmVEHXiS6g=="],
-
- "@sucrase/webpack-loader": ["@sucrase/webpack-loader@2.0.0", "", { "dependencies": { "loader-utils": "^1.1.0" }, "peerDependencies": { "sucrase": "^3" } }, "sha512-KUfWr83g70Qm+ZqjGL+M4tX01taDP3BldQcI6NSMlDf7WTDfuo0RvLlS0ekF6dPVslNyZhbFFBy2OBTB6Sa6+Q=="],
-
- "@svgr/babel-plugin-add-jsx-attribute": ["@svgr/babel-plugin-add-jsx-attribute@6.5.1", "", { "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ=="],
-
- "@svgr/babel-plugin-remove-jsx-attribute": ["@svgr/babel-plugin-remove-jsx-attribute@8.0.0", "", { "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA=="],
-
- "@svgr/babel-plugin-remove-jsx-empty-expression": ["@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0", "", { "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA=="],
-
- "@svgr/babel-plugin-replace-jsx-attribute-value": ["@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1", "", { "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg=="],
-
- "@svgr/babel-plugin-svg-dynamic-title": ["@svgr/babel-plugin-svg-dynamic-title@6.5.1", "", { "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw=="],
-
- "@svgr/babel-plugin-svg-em-dimensions": ["@svgr/babel-plugin-svg-em-dimensions@6.5.1", "", { "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA=="],
-
- "@svgr/babel-plugin-transform-react-native-svg": ["@svgr/babel-plugin-transform-react-native-svg@6.5.1", "", { "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg=="],
-
- "@svgr/babel-plugin-transform-svg-component": ["@svgr/babel-plugin-transform-svg-component@6.5.1", "", { "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ=="],
-
- "@svgr/babel-preset": ["@svgr/babel-preset@6.5.1", "", { "dependencies": { "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", "@svgr/babel-plugin-remove-jsx-attribute": "*", "@svgr/babel-plugin-remove-jsx-empty-expression": "*", "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", "@svgr/babel-plugin-transform-svg-component": "^6.5.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw=="],
-
- "@svgr/core": ["@svgr/core@6.5.1", "", { "dependencies": { "@babel/core": "^7.19.6", "@svgr/babel-preset": "^6.5.1", "@svgr/plugin-jsx": "^6.5.1", "camelcase": "^6.2.0", "cosmiconfig": "^7.0.1" } }, "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw=="],
-
- "@svgr/hast-util-to-babel-ast": ["@svgr/hast-util-to-babel-ast@6.5.1", "", { "dependencies": { "@babel/types": "^7.20.0", "entities": "^4.4.0" } }, "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw=="],
-
- "@svgr/plugin-jsx": ["@svgr/plugin-jsx@6.5.1", "", { "dependencies": { "@babel/core": "^7.19.6", "@svgr/babel-preset": "^6.5.1", "@svgr/hast-util-to-babel-ast": "^6.5.1", "svg-parser": "^2.0.4" }, "peerDependencies": { "@svgr/core": "^6.0.0" } }, "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw=="],
-
- "@svgr/plugin-svgo": ["@svgr/plugin-svgo@6.5.1", "", { "dependencies": { "cosmiconfig": "^7.0.1", "deepmerge": "^4.2.2", "svgo": "^2.8.0" }, "peerDependencies": { "@svgr/core": "*" } }, "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ=="],
-
- "@svgr/rollup": ["@svgr/rollup@6.5.1", "", { "dependencies": { "@babel/core": "^7.19.6", "@babel/plugin-transform-react-constant-elements": "^7.18.12", "@babel/preset-env": "^7.19.4", "@babel/preset-react": "^7.18.6", "@babel/preset-typescript": "^7.18.6", "@rollup/pluginutils": "^4.2.1", "@svgr/core": "^6.5.1", "@svgr/plugin-jsx": "^6.5.1", "@svgr/plugin-svgo": "^6.5.1" } }, "sha512-GeUfq0grJfpcn2jRWRaZ4npn27nnWK21vUj6MqDqknuJnEqGADcZZjO9wrUAaPLr3InAnQi0Z7nwiNUdzkaj6A=="],
-
- "@svgr/webpack": ["@svgr/webpack@6.5.1", "", { "dependencies": { "@babel/core": "^7.19.6", "@babel/plugin-transform-react-constant-elements": "^7.18.12", "@babel/preset-env": "^7.19.4", "@babel/preset-react": "^7.18.6", "@babel/preset-typescript": "^7.18.6", "@svgr/core": "^6.5.1", "@svgr/plugin-jsx": "^6.5.1", "@svgr/plugin-svgo": "^6.5.1" } }, "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA=="],
-
- "@swc/core": ["@swc/core@1.15.7", "", { "dependencies": { "@swc/counter": "^0.1.3", "@swc/types": "^0.1.25" }, "optionalDependencies": { "@swc/core-darwin-arm64": "1.15.7", "@swc/core-darwin-x64": "1.15.7", "@swc/core-linux-arm-gnueabihf": "1.15.7", "@swc/core-linux-arm64-gnu": "1.15.7", "@swc/core-linux-arm64-musl": "1.15.7", "@swc/core-linux-x64-gnu": "1.15.7", "@swc/core-linux-x64-musl": "1.15.7", "@swc/core-win32-arm64-msvc": "1.15.7", "@swc/core-win32-ia32-msvc": "1.15.7", "@swc/core-win32-x64-msvc": "1.15.7" }, "peerDependencies": { "@swc/helpers": ">=0.5.17" }, "optionalPeers": ["@swc/helpers"] }, "sha512-kTGB8XI7P+pTKW83tnUEDVP4zduF951u3UAOn5eTi0vyW6MvL56A3+ggMdfuVFtDI0/DsbSzf5z34HVBbuScWw=="],
-
- "@swc/core-darwin-arm64": ["@swc/core-darwin-arm64@1.15.7", "", { "os": "darwin", "cpu": "arm64" }, "sha512-+hNVUfezUid7LeSHqnhoC6Gh3BROABxjlDNInuZ/fie1RUxaEX4qzDwdTgozJELgHhvYxyPIg1ro8ibnKtgO4g=="],
-
- "@swc/core-darwin-x64": ["@swc/core-darwin-x64@1.15.7", "", { "os": "darwin", "cpu": "x64" }, "sha512-ZAFuvtSYZTuXPcrhanaD5eyp27H8LlDzx2NAeVyH0FchYcuXf0h5/k3GL9ZU6Jw9eQ63R1E8KBgpXEJlgRwZUQ=="],
-
- "@swc/core-linux-arm-gnueabihf": ["@swc/core-linux-arm-gnueabihf@1.15.7", "", { "os": "linux", "cpu": "arm" }, "sha512-K3HTYocpqnOw8KcD8SBFxiDHjIma7G/X+bLdfWqf+qzETNBrzOub/IEkq9UaeupaJiZJkPptr/2EhEXXWryS/A=="],
-
- "@swc/core-linux-arm64-gnu": ["@swc/core-linux-arm64-gnu@1.15.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-HCnVIlsLnCtQ3uXcXgWrvQ6SAraskLA9QJo9ykTnqTH6TvUYqEta+TdTdGjzngD6TOE7XjlAiUs/RBtU8Z0t+Q=="],
-
- "@swc/core-linux-arm64-musl": ["@swc/core-linux-arm64-musl@1.15.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-/OOp9UZBg4v2q9+x/U21Jtld0Wb8ghzBScwhscI7YvoSh4E8RALaJ1msV8V8AKkBkZH7FUAFB7Vbv0oVzZsezA=="],
-
- "@swc/core-linux-x64-gnu": ["@swc/core-linux-x64-gnu@1.15.7", "", { "os": "linux", "cpu": "x64" }, "sha512-VBbs4gtD4XQxrHuQ2/2+TDZpPQQgrOHYRnS6SyJW+dw0Nj/OomRqH+n5Z4e/TgKRRbieufipeIGvADYC/90PYQ=="],
-
- "@swc/core-linux-x64-musl": ["@swc/core-linux-x64-musl@1.15.7", "", { "os": "linux", "cpu": "x64" }, "sha512-kVuy2unodso6p0rMauS2zby8/bhzoGRYxBDyD6i2tls/fEYAE74oP0VPFzxIyHaIjK1SN6u5TgvV9MpyJ5xVug=="],
-
- "@swc/core-win32-arm64-msvc": ["@swc/core-win32-arm64-msvc@1.15.7", "", { "os": "win32", "cpu": "arm64" }, "sha512-uddYoo5Xmo1XKLhAnh4NBIyy5d0xk33x1sX3nIJboFySLNz878ksCFCZ3IBqrt1Za0gaoIWoOSSSk0eNhAc/sw=="],
-
- "@swc/core-win32-ia32-msvc": ["@swc/core-win32-ia32-msvc@1.15.7", "", { "os": "win32", "cpu": "ia32" }, "sha512-rqq8JjNMLx3QNlh0aPTtN/4+BGLEHC94rj9mkH1stoNRf3ra6IksNHMHy+V1HUqElEgcZyx+0yeXx3eLOTcoFw=="],
-
- "@swc/core-win32-x64-msvc": ["@swc/core-win32-x64-msvc@1.15.7", "", { "os": "win32", "cpu": "x64" }, "sha512-4BK06EGdPnuplgcNhmSbOIiLdRgHYX3v1nl4HXo5uo4GZMfllXaCyBUes+0ePRfwbn9OFgVhCWPcYYjMT6hycQ=="],
-
- "@swc/counter": ["@swc/counter@0.1.3", "", {}, "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ=="],
-
- "@swc/helpers": ["@swc/helpers@0.5.18", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-TXTnIcNJQEKwThMMqBXsZ4VGAza6bvN4pa41Rkqoio6QBKMvo+5lexeTMScGCIxtzgQJzElcvIltani+adC5PQ=="],
-
- "@swc/jest": ["@swc/jest@0.2.39", "", { "dependencies": { "@jest/create-cache-key-function": "^30.0.0", "@swc/counter": "^0.1.3", "jsonc-parser": "^3.2.0" }, "peerDependencies": { "@swc/core": "*" } }, "sha512-eyokjOwYd0Q8RnMHri+8/FS1HIrIUKK/sRrFp8c1dThUOfNeCWbLmBP1P5VsKdvmkd25JaH+OKYwEYiAYg9YAA=="],
-
- "@swc/types": ["@swc/types@0.1.25", "", { "dependencies": { "@swc/counter": "^0.1.3" } }, "sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g=="],
-
- "@tanstack/query-core": ["@tanstack/query-core@5.90.15", "", {}, "sha512-mInIZNUZftbERE+/Hbtswfse49uUQwch46p+27gP9DWJL927UjnaWEF2t3RMOqBcXbfMdcNkPe06VyUIAZTV1g=="],
-
- "@tanstack/react-query": ["@tanstack/react-query@5.90.15", "", { "dependencies": { "@tanstack/query-core": "5.90.15" }, "peerDependencies": { "react": "^18 || ^19" } }, "sha512-uQvnDDcTOgJouNtAyrgRej+Azf0U5WDov3PXmHFUBc+t1INnAYhIlpZtCGNBLwCN41b43yO7dPNZu8xWkUFBwQ=="],
-
- "@tanstack/react-table": ["@tanstack/react-table@8.21.3", "", { "dependencies": { "@tanstack/table-core": "8.21.3" }, "peerDependencies": { "react": ">=16.8", "react-dom": ">=16.8" } }, "sha512-5nNMTSETP4ykGegmVkhjcS8tTLW6Vl4axfEGQN3v0zdHYbK4UfoqfPChclTrJ4EoK9QynqAu9oUf8VEmrpZ5Ww=="],
-
- "@tanstack/table-core": ["@tanstack/table-core@8.21.3", "", {}, "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg=="],
-
- "@testing-library/dom": ["@testing-library/dom@9.3.4", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.1.3", "chalk": "^4.1.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "pretty-format": "^27.0.2" } }, "sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ=="],
-
- "@testing-library/react": ["@testing-library/react@14.3.1", "", { "dependencies": { "@babel/runtime": "^7.12.5", "@testing-library/dom": "^9.0.0", "@types/react-dom": "^18.0.0" }, "peerDependencies": { "react": "^18.0.0", "react-dom": "^18.0.0" } }, "sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ=="],
-
- "@tootallnate/once": ["@tootallnate/once@2.0.0", "", {}, "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A=="],
-
- "@tootallnate/quickjs-emscripten": ["@tootallnate/quickjs-emscripten@0.23.0", "", {}, "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA=="],
-
- "@trysound/sax": ["@trysound/sax@0.2.0", "", {}, "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA=="],
-
- "@tsconfig/node10": ["@tsconfig/node10@1.0.12", "", {}, "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ=="],
-
- "@tsconfig/node12": ["@tsconfig/node12@1.0.11", "", {}, "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag=="],
-
- "@tsconfig/node14": ["@tsconfig/node14@1.0.3", "", {}, "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow=="],
-
- "@tsconfig/node16": ["@tsconfig/node16@1.0.4", "", {}, "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA=="],
-
- "@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="],
-
- "@types/aria-query": ["@types/aria-query@5.0.4", "", {}, "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw=="],
-
- "@types/aws-lambda": ["@types/aws-lambda@8.10.159", "", {}, "sha512-SAP22WSGNN12OQ8PlCzGzRCZ7QDCwI85dQZbmpz7+mAk+L7j+wI7qnvmdKh+o7A5LaOp6QnOZ2NJphAZQTTHQg=="],
-
- "@types/babel__core": ["@types/babel__core@7.20.5", "", { "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" } }, "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA=="],
-
- "@types/babel__generator": ["@types/babel__generator@7.27.0", "", { "dependencies": { "@babel/types": "^7.0.0" } }, "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg=="],
-
- "@types/babel__template": ["@types/babel__template@7.4.4", "", { "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A=="],
-
- "@types/babel__traverse": ["@types/babel__traverse@7.28.0", "", { "dependencies": { "@babel/types": "^7.28.2" } }, "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q=="],
-
- "@types/body-parser": ["@types/body-parser@1.19.6", "", { "dependencies": { "@types/connect": "*", "@types/node": "*" } }, "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g=="],
-
- "@types/bonjour": ["@types/bonjour@3.5.13", "", { "dependencies": { "@types/node": "*" } }, "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ=="],
-
- "@types/btoa-lite": ["@types/btoa-lite@1.0.2", "", {}, "sha512-ZYbcE2x7yrvNFJiU7xJGrpF/ihpkM7zKgw8bha3LNJSesvTtUNxbpzaT7WXBIryf6jovisrxTBvymxMeLLj1Mg=="],
-
- "@types/caseless": ["@types/caseless@0.12.5", "", {}, "sha512-hWtVTC2q7hc7xZ/RLbxapMvDMgUnDvKvMOpKal4DrMyfGBUfB1oKaZlIRr6mJL+If3bAP6sV/QneGzF6tJjZDg=="],
-
- "@types/connect": ["@types/connect@3.4.38", "", { "dependencies": { "@types/node": "*" } }, "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug=="],
-
- "@types/connect-history-api-fallback": ["@types/connect-history-api-fallback@1.5.4", "", { "dependencies": { "@types/express-serve-static-core": "*", "@types/node": "*" } }, "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw=="],
-
- "@types/content-type": ["@types/content-type@1.1.9", "", {}, "sha512-Hq9IMnfekuOCsEmYl4QX2HBrT+XsfXiupfrLLY8Dcf3Puf4BkBOxSbWYTITSOQAhJoYPBez+b4MJRpIYL65z8A=="],
-
- "@types/cors": ["@types/cors@2.8.19", "", { "dependencies": { "@types/node": "*" } }, "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg=="],
-
- "@types/debug": ["@types/debug@4.1.12", "", { "dependencies": { "@types/ms": "*" } }, "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ=="],
-
- "@types/docker-modem": ["@types/docker-modem@3.0.6", "", { "dependencies": { "@types/node": "*", "@types/ssh2": "*" } }, "sha512-yKpAGEuKRSS8wwx0joknWxsmLha78wNMe9R2S3UNsVOkZded8UqOrV8KoeDXoXsjndxwyF3eIhyClGbO1SEhEg=="],
-
- "@types/dockerode": ["@types/dockerode@3.3.47", "", { "dependencies": { "@types/docker-modem": "*", "@types/node": "*", "@types/ssh2": "*" } }, "sha512-ShM1mz7rCjdssXt7Xz0u1/R2BJC7piWa3SJpUBiVjCf2A3XNn4cP6pUVaD8bLanpPVVn4IKzJuw3dOvkJ8IbYw=="],
-
- "@types/eslint": ["@types/eslint@8.56.12", "", { "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g=="],
-
- "@types/eslint-scope": ["@types/eslint-scope@3.7.7", "", { "dependencies": { "@types/eslint": "*", "@types/estree": "*" } }, "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg=="],
-
- "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="],
-
- "@types/express": ["@types/express@4.17.25", "", { "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", "@types/serve-static": "^1" } }, "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw=="],
-
- "@types/express-serve-static-core": ["@types/express-serve-static-core@4.19.7", "", { "dependencies": { "@types/node": "*", "@types/qs": "*", "@types/range-parser": "*", "@types/send": "*" } }, "sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg=="],
-
- "@types/graceful-fs": ["@types/graceful-fs@4.1.9", "", { "dependencies": { "@types/node": "*" } }, "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ=="],
-
- "@types/hast": ["@types/hast@2.3.10", "", { "dependencies": { "@types/unist": "^2" } }, "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw=="],
-
- "@types/hoist-non-react-statics": ["@types/hoist-non-react-statics@3.3.7", "", { "dependencies": { "hoist-non-react-statics": "^3.3.0" }, "peerDependencies": { "@types/react": "*" } }, "sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g=="],
-
- "@types/html-minifier-terser": ["@types/html-minifier-terser@6.1.0", "", {}, "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg=="],
-
- "@types/http-errors": ["@types/http-errors@2.0.5", "", {}, "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg=="],
-
- "@types/http-proxy": ["@types/http-proxy@1.17.17", "", { "dependencies": { "@types/node": "*" } }, "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw=="],
-
- "@types/istanbul-lib-coverage": ["@types/istanbul-lib-coverage@2.0.6", "", {}, "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w=="],
-
- "@types/istanbul-lib-report": ["@types/istanbul-lib-report@3.0.3", "", { "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA=="],
-
- "@types/istanbul-reports": ["@types/istanbul-reports@3.0.4", "", { "dependencies": { "@types/istanbul-lib-report": "*" } }, "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ=="],
-
- "@types/jest": ["@types/jest@29.5.14", "", { "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" } }, "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ=="],
-
- "@types/js-cookie": ["@types/js-cookie@2.2.7", "", {}, "sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA=="],
-
- "@types/js-yaml": ["@types/js-yaml@4.0.9", "", {}, "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg=="],
-
- "@types/jsdom": ["@types/jsdom@20.0.1", "", { "dependencies": { "@types/node": "*", "@types/tough-cookie": "*", "parse5": "^7.0.0" } }, "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ=="],
-
- "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="],
-
- "@types/json5": ["@types/json5@0.0.29", "", {}, "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="],
-
- "@types/jsonwebtoken": ["@types/jsonwebtoken@9.0.10", "", { "dependencies": { "@types/ms": "*", "@types/node": "*" } }, "sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA=="],
-
- "@types/long": ["@types/long@4.0.2", "", {}, "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA=="],
-
- "@types/lunr": ["@types/lunr@2.3.7", "", {}, "sha512-Tb/kUm38e8gmjahQzdCKhbdsvQ9/ppzHFfsJ0dMs3ckqQsRj+P5IkSAwFTBrBxdyr3E/LoMUUrZngjDYAjiE3A=="],
-
- "@types/luxon": ["@types/luxon@3.7.1", "", {}, "sha512-H3iskjFIAn5SlJU7OuxUmTEpebK6TKB8rxZShDslBMZJ5u9S//KM1sbdAisiSrqwLQncVjnpi2OK2J51h+4lsg=="],
-
- "@types/mdast": ["@types/mdast@3.0.15", "", { "dependencies": { "@types/unist": "^2" } }, "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ=="],
-
- "@types/mime": ["@types/mime@1.3.5", "", {}, "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w=="],
-
- "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="],
-
- "@types/multer": ["@types/multer@1.4.13", "", { "dependencies": { "@types/express": "*" } }, "sha512-bhhdtPw7JqCiEfC9Jimx5LqX9BDIPJEh2q/fQ4bqbBPtyEZYr3cvF22NwG0DmPZNYA0CAf2CnqDB4KIGGpJcaw=="],
-
- "@types/node": ["@types/node@20.19.27", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug=="],
-
- "@types/node-forge": ["@types/node-forge@1.3.14", "", { "dependencies": { "@types/node": "*" } }, "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw=="],
-
- "@types/oauth": ["@types/oauth@0.9.6", "", { "dependencies": { "@types/node": "*" } }, "sha512-H9TRCVKBNOhZZmyHLqFt9drPM9l+ShWiqqJijU1B8P3DX3ub84NjxDuy+Hjrz+fEca5Kwip3qPMKNyiLgNJtIA=="],
-
- "@types/parse-json": ["@types/parse-json@4.0.2", "", {}, "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw=="],
-
- "@types/passport": ["@types/passport@1.0.17", "", { "dependencies": { "@types/express": "*" } }, "sha512-aciLyx+wDwT2t2/kJGJR2AEeBz0nJU4WuRX04Wu9Dqc5lSUtwu0WERPHYsLhF9PtseiAMPBGNUOtFjxZ56prsg=="],
-
- "@types/passport-oauth2": ["@types/passport-oauth2@1.8.0", "", { "dependencies": { "@types/express": "*", "@types/oauth": "*", "@types/passport": "*" } }, "sha512-6//z+4orIOy/g3zx17HyQ71GSRK4bs7Sb+zFasRoc2xzlv7ZCJ+vkDBYFci8U6HY+or6Zy7ajf4mz4rK7nsWJQ=="],
-
- "@types/passport-strategy": ["@types/passport-strategy@0.2.38", "", { "dependencies": { "@types/express": "*", "@types/passport": "*" } }, "sha512-GC6eMqqojOooq993Tmnmp7AUTbbQSgilyvpCYQjT+H6JfG/g6RGc7nXEniZlp0zyKJ0WUdOiZWLBZft9Yug1uA=="],
-
- "@types/prop-types": ["@types/prop-types@15.7.15", "", {}, "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw=="],
-
- "@types/qs": ["@types/qs@6.14.0", "", {}, "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ=="],
-
- "@types/range-parser": ["@types/range-parser@1.2.7", "", {}, "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ=="],
-
- "@types/react": ["@types/react@18.3.27", "", { "dependencies": { "@types/prop-types": "*", "csstype": "^3.2.2" } }, "sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w=="],
-
- "@types/react-dom": ["@types/react-dom@18.3.7", "", { "peerDependencies": { "@types/react": "^18.0.0" } }, "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ=="],
-
- "@types/react-redux": ["@types/react-redux@7.1.34", "", { "dependencies": { "@types/hoist-non-react-statics": "^3.3.0", "@types/react": "*", "hoist-non-react-statics": "^3.3.0", "redux": "^4.0.0" } }, "sha512-GdFaVjEbYv4Fthm2ZLvj1VSCedV7TqE5y1kNwnjSdBOTXuRSgowux6J8TAct15T3CKBr63UMk+2CO7ilRhyrAQ=="],
-
- "@types/react-sparklines": ["@types/react-sparklines@1.7.5", "", { "dependencies": { "@types/react": "*" } }, "sha512-rIAmNyRKUqWWnaQMjNrxMNkgEFi5f9PrdczSNxj5DscAa48y4i9P0fRKZ72FmNcFsdg6Jx4o6CXWZtIaC0OJOg=="],
-
- "@types/react-transition-group": ["@types/react-transition-group@4.4.12", "", { "peerDependencies": { "@types/react": "*" } }, "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w=="],
-
- "@types/request": ["@types/request@2.48.13", "", { "dependencies": { "@types/caseless": "*", "@types/node": "*", "@types/tough-cookie": "*", "form-data": "^2.5.5" } }, "sha512-FGJ6udDNUCjd19pp0Q3iTiDkwhYup7J8hpMW9c4k53NrccQFFWKRho6hvtPPEhnXWKvukfwAlB6DbDz4yhH5Gg=="],
-
- "@types/resolve": ["@types/resolve@1.20.2", "", {}, "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q=="],
-
- "@types/retry": ["@types/retry@0.12.2", "", {}, "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow=="],
-
- "@types/semver": ["@types/semver@7.5.8", "", {}, "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ=="],
-
- "@types/send": ["@types/send@0.17.6", "", { "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og=="],
-
- "@types/serve-index": ["@types/serve-index@1.9.4", "", { "dependencies": { "@types/express": "*" } }, "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug=="],
-
- "@types/serve-static": ["@types/serve-static@1.15.10", "", { "dependencies": { "@types/http-errors": "*", "@types/node": "*", "@types/send": "<1" } }, "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw=="],
-
- "@types/sockjs": ["@types/sockjs@0.3.36", "", { "dependencies": { "@types/node": "*" } }, "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q=="],
-
- "@types/ssh2": ["@types/ssh2@1.15.5", "", { "dependencies": { "@types/node": "^18.11.18" } }, "sha512-N1ASjp/nXH3ovBHddRJpli4ozpk6UdDYIX4RJWFa9L1YKnzdhTlVmiGHm4DZnj/jLbqZpes4aeR30EFGQtvhQQ=="],
-
- "@types/stack-utils": ["@types/stack-utils@2.0.3", "", {}, "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw=="],
-
- "@types/statuses": ["@types/statuses@2.0.6", "", {}, "sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA=="],
-
- "@types/styled-jsx": ["@types/styled-jsx@2.2.9", "", { "dependencies": { "@types/react": "*" } }, "sha512-W/iTlIkGEyTBGTEvZCey8EgQlQ5l0DwMqi3iOXlLs2kyBwYTXHKEiU6IZ5EwoRwngL8/dGYuzezSup89ttVHLw=="],
-
- "@types/tough-cookie": ["@types/tough-cookie@4.0.5", "", {}, "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA=="],
-
- "@types/triple-beam": ["@types/triple-beam@1.3.5", "", {}, "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw=="],
-
- "@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="],
-
- "@types/webpack-env": ["@types/webpack-env@1.18.8", "", {}, "sha512-G9eAoJRMLjcvN4I08wB5I7YofOb/kaJNd5uoCMX+LbKXTPCF+ZIHuqTnFaK9Jz1rgs035f9JUPUhNFtqgucy/A=="],
-
- "@types/whatwg-mimetype": ["@types/whatwg-mimetype@3.0.2", "", {}, "sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA=="],
-
- "@types/ws": ["@types/ws@8.18.1", "", { "dependencies": { "@types/node": "*" } }, "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg=="],
-
- "@types/xml-crypto": ["@types/xml-crypto@1.4.6", "", { "dependencies": { "@types/node": "*", "xpath": "0.0.27" } }, "sha512-A6jEW2FxLZo1CXsRWnZHUX2wzR3uDju2Bozt6rDbSmU/W8gkilaVbwFEVN0/NhnUdMVzwYobWtM6bU1QJJFb7Q=="],
-
- "@types/xml-encryption": ["@types/xml-encryption@1.2.4", "", { "dependencies": { "@types/node": "*" } }, "sha512-I69K/WW1Dv7j6O3jh13z0X8sLWJRXbu5xnHDl9yHzUNDUBtUoBY058eb5s+x/WG6yZC1h8aKdI2EoyEPjyEh+Q=="],
-
- "@types/xml2js": ["@types/xml2js@0.4.14", "", { "dependencies": { "@types/node": "*" } }, "sha512-4YnrRemBShWRO2QjvUin8ESA41rH+9nQGLUGZV/1IDhi3SL9OhdpNC/MrulTWuptXKwhx/aDxE7toV0f/ypIXQ=="],
-
- "@types/yargs": ["@types/yargs@17.0.35", "", { "dependencies": { "@types/yargs-parser": "*" } }, "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg=="],
-
- "@types/yargs-parser": ["@types/yargs-parser@21.0.3", "", {}, "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ=="],
-
- "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@7.18.0", "", { "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "7.18.0", "@typescript-eslint/type-utils": "7.18.0", "@typescript-eslint/utils": "7.18.0", "@typescript-eslint/visitor-keys": "7.18.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", "ts-api-utils": "^1.3.0" }, "peerDependencies": { "@typescript-eslint/parser": "^7.0.0", "eslint": "^8.56.0" } }, "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw=="],
-
- "@typescript-eslint/parser": ["@typescript-eslint/parser@7.18.0", "", { "dependencies": { "@typescript-eslint/scope-manager": "7.18.0", "@typescript-eslint/types": "7.18.0", "@typescript-eslint/typescript-estree": "7.18.0", "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4" }, "peerDependencies": { "eslint": "^8.56.0" } }, "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg=="],
-
- "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.50.1", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.50.1", "@typescript-eslint/types": "^8.50.1", "debug": "^4.3.4" }, "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-E1ur1MCVf+YiP89+o4Les/oBAVzmSbeRB0MQLfSlYtbWU17HPxZ6Bhs5iYmKZRALvEuBoXIZMOIRRc/P++Ortg=="],
-
- "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@7.18.0", "", { "dependencies": { "@typescript-eslint/types": "7.18.0", "@typescript-eslint/visitor-keys": "7.18.0" } }, "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA=="],
-
- "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.50.1", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-ooHmotT/lCWLXi55G4mvaUF60aJa012QzvLK0Y+Mp4WdSt17QhMhWOaBWeGTFVkb2gDgBe19Cxy1elPXylslDw=="],
-
- "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@7.18.0", "", { "dependencies": { "@typescript-eslint/typescript-estree": "7.18.0", "@typescript-eslint/utils": "7.18.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, "peerDependencies": { "eslint": "^8.56.0" } }, "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA=="],
-
- "@typescript-eslint/types": ["@typescript-eslint/types@7.18.0", "", {}, "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ=="],
-
- "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@7.18.0", "", { "dependencies": { "@typescript-eslint/types": "7.18.0", "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", "ts-api-utils": "^1.3.0" } }, "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA=="],
-
- "@typescript-eslint/utils": ["@typescript-eslint/utils@7.18.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@typescript-eslint/scope-manager": "7.18.0", "@typescript-eslint/types": "7.18.0", "@typescript-eslint/typescript-estree": "7.18.0" }, "peerDependencies": { "eslint": "^8.56.0" } }, "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw=="],
-
- "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@7.18.0", "", { "dependencies": { "@typescript-eslint/types": "7.18.0", "eslint-visitor-keys": "^3.4.3" } }, "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg=="],
-
- "@typespec/ts-http-runtime": ["@typespec/ts-http-runtime@0.3.2", "", { "dependencies": { "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", "tslib": "^2.6.2" } }, "sha512-IlqQ/Gv22xUC1r/WQm4StLkYQmaaTsXAhUVsNE0+xiyf0yRFiH5++q78U3bw6bLKDCTmh0uqKB9eG9+Bt75Dkg=="],
-
- "@ungap/structured-clone": ["@ungap/structured-clone@1.3.0", "", {}, "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g=="],
-
- "@webassemblyjs/ast": ["@webassemblyjs/ast@1.14.1", "", { "dependencies": { "@webassemblyjs/helper-numbers": "1.13.2", "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ=="],
-
- "@webassemblyjs/floating-point-hex-parser": ["@webassemblyjs/floating-point-hex-parser@1.13.2", "", {}, "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA=="],
-
- "@webassemblyjs/helper-api-error": ["@webassemblyjs/helper-api-error@1.13.2", "", {}, "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ=="],
-
- "@webassemblyjs/helper-buffer": ["@webassemblyjs/helper-buffer@1.14.1", "", {}, "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA=="],
-
- "@webassemblyjs/helper-numbers": ["@webassemblyjs/helper-numbers@1.13.2", "", { "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.13.2", "@webassemblyjs/helper-api-error": "1.13.2", "@xtuc/long": "4.2.2" } }, "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA=="],
-
- "@webassemblyjs/helper-wasm-bytecode": ["@webassemblyjs/helper-wasm-bytecode@1.13.2", "", {}, "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA=="],
-
- "@webassemblyjs/helper-wasm-section": ["@webassemblyjs/helper-wasm-section@1.14.1", "", { "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-buffer": "1.14.1", "@webassemblyjs/helper-wasm-bytecode": "1.13.2", "@webassemblyjs/wasm-gen": "1.14.1" } }, "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw=="],
-
- "@webassemblyjs/ieee754": ["@webassemblyjs/ieee754@1.13.2", "", { "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw=="],
-
- "@webassemblyjs/leb128": ["@webassemblyjs/leb128@1.13.2", "", { "dependencies": { "@xtuc/long": "4.2.2" } }, "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw=="],
-
- "@webassemblyjs/utf8": ["@webassemblyjs/utf8@1.13.2", "", {}, "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ=="],
-
- "@webassemblyjs/wasm-edit": ["@webassemblyjs/wasm-edit@1.14.1", "", { "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-buffer": "1.14.1", "@webassemblyjs/helper-wasm-bytecode": "1.13.2", "@webassemblyjs/helper-wasm-section": "1.14.1", "@webassemblyjs/wasm-gen": "1.14.1", "@webassemblyjs/wasm-opt": "1.14.1", "@webassemblyjs/wasm-parser": "1.14.1", "@webassemblyjs/wast-printer": "1.14.1" } }, "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ=="],
-
- "@webassemblyjs/wasm-gen": ["@webassemblyjs/wasm-gen@1.14.1", "", { "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-wasm-bytecode": "1.13.2", "@webassemblyjs/ieee754": "1.13.2", "@webassemblyjs/leb128": "1.13.2", "@webassemblyjs/utf8": "1.13.2" } }, "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg=="],
-
- "@webassemblyjs/wasm-opt": ["@webassemblyjs/wasm-opt@1.14.1", "", { "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-buffer": "1.14.1", "@webassemblyjs/wasm-gen": "1.14.1", "@webassemblyjs/wasm-parser": "1.14.1" } }, "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw=="],
-
- "@webassemblyjs/wasm-parser": ["@webassemblyjs/wasm-parser@1.14.1", "", { "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-api-error": "1.13.2", "@webassemblyjs/helper-wasm-bytecode": "1.13.2", "@webassemblyjs/ieee754": "1.13.2", "@webassemblyjs/leb128": "1.13.2", "@webassemblyjs/utf8": "1.13.2" } }, "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ=="],
-
- "@webassemblyjs/wast-printer": ["@webassemblyjs/wast-printer@1.14.1", "", { "dependencies": { "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" } }, "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw=="],
-
- "@xmldom/xmldom": ["@xmldom/xmldom@0.8.11", "", {}, "sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw=="],
-
- "@xobotyi/scrollbar-width": ["@xobotyi/scrollbar-width@1.9.5", "", {}, "sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ=="],
-
- "@xtuc/ieee754": ["@xtuc/ieee754@1.2.0", "", {}, "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA=="],
-
- "@xtuc/long": ["@xtuc/long@4.2.2", "", {}, "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ=="],
-
- "@yarnpkg/lockfile": ["@yarnpkg/lockfile@1.1.0", "", {}, "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ=="],
-
- "@yarnpkg/parsers": ["@yarnpkg/parsers@3.0.3", "", { "dependencies": { "js-yaml": "^3.10.0", "tslib": "^2.4.0" } }, "sha512-mQZgUSgFurUtA07ceMjxrWkYz8QtDuYkvPlu0ZqncgjopQ0t6CNEo/OSealkmnagSUx8ZD5ewvezUwUuMqutQg=="],
-
- "abab": ["abab@2.0.6", "", {}, "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA=="],
-
- "abort-controller": ["abort-controller@3.0.0", "", { "dependencies": { "event-target-shim": "^5.0.0" } }, "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg=="],
-
- "accepts": ["accepts@1.3.8", "", { "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" } }, "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw=="],
-
- "acorn": ["acorn@8.15.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="],
-
- "acorn-globals": ["acorn-globals@7.0.1", "", { "dependencies": { "acorn": "^8.1.0", "acorn-walk": "^8.0.2" } }, "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q=="],
-
- "acorn-import-phases": ["acorn-import-phases@1.0.4", "", { "peerDependencies": { "acorn": "^8.14.0" } }, "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ=="],
-
- "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="],
-
- "acorn-walk": ["acorn-walk@8.3.4", "", { "dependencies": { "acorn": "^8.11.0" } }, "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g=="],
-
- "address": ["address@1.2.2", "", {}, "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA=="],
-
- "adm-zip": ["adm-zip@0.5.16", "", {}, "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ=="],
-
- "agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="],
-
- "ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="],
-
- "ajv-draft-04": ["ajv-draft-04@1.0.0", "", { "peerDependencies": { "ajv": "^8.5.0" }, "optionalPeers": ["ajv"] }, "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw=="],
-
- "ajv-formats": ["ajv-formats@2.1.1", "", { "dependencies": { "ajv": "^8.0.0" } }, "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA=="],
-
- "ajv-keywords": ["ajv-keywords@3.5.2", "", { "peerDependencies": { "ajv": "^6.9.1" } }, "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ=="],
-
- "ansi-colors": ["ansi-colors@4.1.3", "", {}, "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw=="],
-
- "ansi-escapes": ["ansi-escapes@4.3.2", "", { "dependencies": { "type-fest": "^0.21.3" } }, "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ=="],
-
- "ansi-html": ["ansi-html@0.0.9", "", { "bin": { "ansi-html": "bin/ansi-html" } }, "sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg=="],
-
- "ansi-html-community": ["ansi-html-community@0.0.8", "", { "bin": { "ansi-html": "bin/ansi-html" } }, "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw=="],
-
- "ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="],
-
- "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="],
-
- "any-promise": ["any-promise@1.3.0", "", {}, "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="],
-
- "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="],
-
- "app": ["app@workspace:packages/app"],
-
- "append-field": ["append-field@1.0.0", "", {}, "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw=="],
-
- "archiver": ["archiver@6.0.2", "", { "dependencies": { "archiver-utils": "^4.0.1", "async": "^3.2.4", "buffer-crc32": "^0.2.1", "readable-stream": "^3.6.0", "readdir-glob": "^1.1.2", "tar-stream": "^3.0.0", "zip-stream": "^5.0.1" } }, "sha512-UQ/2nW7NMl1G+1UnrLypQw1VdT9XZg/ECcKPq7l+STzStrSivFIXIp34D8M5zeNGW5NoOupdYCHv6VySCPNNlw=="],
-
- "archiver-utils": ["archiver-utils@4.0.1", "", { "dependencies": { "glob": "^8.0.0", "graceful-fs": "^4.2.0", "lazystream": "^1.0.0", "lodash": "^4.17.15", "normalize-path": "^3.0.0", "readable-stream": "^3.6.0" } }, "sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg=="],
-
- "arg": ["arg@4.1.3", "", {}, "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA=="],
-
- "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="],
-
- "aria-query": ["aria-query@5.3.2", "", {}, "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw=="],
-
- "array-buffer-byte-length": ["array-buffer-byte-length@1.0.2", "", { "dependencies": { "call-bound": "^1.0.3", "is-array-buffer": "^3.0.5" } }, "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw=="],
-
- "array-flatten": ["array-flatten@1.1.1", "", {}, "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="],
-
- "array-includes": ["array-includes@3.1.9", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.4", "define-properties": "^1.2.1", "es-abstract": "^1.24.0", "es-object-atoms": "^1.1.1", "get-intrinsic": "^1.3.0", "is-string": "^1.1.1", "math-intrinsics": "^1.1.0" } }, "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ=="],
-
- "array-union": ["array-union@2.1.0", "", {}, "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="],
-
- "array.prototype.findlast": ["array.prototype.findlast@1.2.5", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.2", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", "es-shim-unscopables": "^1.0.2" } }, "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ=="],
-
- "array.prototype.findlastindex": ["array.prototype.findlastindex@1.2.6", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.4", "define-properties": "^1.2.1", "es-abstract": "^1.23.9", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "es-shim-unscopables": "^1.1.0" } }, "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ=="],
-
- "array.prototype.flat": ["array.prototype.flat@1.3.3", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-shim-unscopables": "^1.0.2" } }, "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg=="],
-
- "array.prototype.flatmap": ["array.prototype.flatmap@1.3.3", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-shim-unscopables": "^1.0.2" } }, "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg=="],
-
- "array.prototype.tosorted": ["array.prototype.tosorted@1.1.4", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.3", "es-errors": "^1.3.0", "es-shim-unscopables": "^1.0.2" } }, "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA=="],
-
- "arraybuffer.prototype.slice": ["arraybuffer.prototype.slice@1.0.4", "", { "dependencies": { "array-buffer-byte-length": "^1.0.1", "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "is-array-buffer": "^3.0.4" } }, "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ=="],
-
- "arrify": ["arrify@2.0.1", "", {}, "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug=="],
-
- "asn1": ["asn1@0.2.6", "", { "dependencies": { "safer-buffer": "~2.1.0" } }, "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ=="],
-
- "asn1.js": ["asn1.js@4.10.1", "", { "dependencies": { "bn.js": "^4.0.0", "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" } }, "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw=="],
-
- "assert": ["assert@1.5.1", "", { "dependencies": { "object.assign": "^4.1.4", "util": "^0.10.4" } }, "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A=="],
-
- "assert-plus": ["assert-plus@1.0.0", "", {}, "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw=="],
-
- "ast-types": ["ast-types@0.13.4", "", { "dependencies": { "tslib": "^2.0.1" } }, "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w=="],
-
- "ast-types-flow": ["ast-types-flow@0.0.8", "", {}, "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ=="],
-
- "async": ["async@3.2.6", "", {}, "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA=="],
-
- "async-function": ["async-function@1.0.0", "", {}, "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA=="],
-
- "async-lock": ["async-lock@1.4.1", "", {}, "sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ=="],
-
- "async-mutex": ["async-mutex@0.5.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA=="],
-
- "async-retry": ["async-retry@1.3.3", "", { "dependencies": { "retry": "0.13.1" } }, "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw=="],
-
- "asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="],
-
- "at-least-node": ["at-least-node@1.0.0", "", {}, "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="],
-
- "atlassian-openapi": ["atlassian-openapi@1.0.21", "", { "dependencies": { "jsonpointer": "^5.0.0", "urijs": "^1.19.10" } }, "sha512-1OnnoY2CQYHgXrce/06BltL7fox+uVY7brHUInyFbMpTURjTNIGXfLQxVDRo/2On7ryyKzkX7FfNApYhXw7f+w=="],
-
- "available-typed-arrays": ["available-typed-arrays@1.0.7", "", { "dependencies": { "possible-typed-array-names": "^1.0.0" } }, "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ=="],
-
- "aws-sign2": ["aws-sign2@0.7.0", "", {}, "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA=="],
-
- "aws-ssl-profiles": ["aws-ssl-profiles@1.1.2", "", {}, "sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g=="],
-
- "aws4": ["aws4@1.13.2", "", {}, "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw=="],
-
- "axe-core": ["axe-core@4.11.0", "", {}, "sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ=="],
-
- "axios": ["axios@1.13.2", "", { "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.4", "proxy-from-env": "^1.1.0" } }, "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA=="],
-
- "axobject-query": ["axobject-query@4.1.0", "", {}, "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ=="],
-
- "b4a": ["b4a@1.7.3", "", { "peerDependencies": { "react-native-b4a": "*" }, "optionalPeers": ["react-native-b4a"] }, "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q=="],
-
- "babel-jest": ["babel-jest@29.7.0", "", { "dependencies": { "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", "babel-preset-jest": "^29.6.3", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" }, "peerDependencies": { "@babel/core": "^7.8.0" } }, "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg=="],
-
- "babel-plugin-istanbul": ["babel-plugin-istanbul@6.1.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" } }, "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA=="],
-
- "babel-plugin-jest-hoist": ["babel-plugin-jest-hoist@29.6.3", "", { "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", "@types/babel__core": "^7.1.14", "@types/babel__traverse": "^7.0.6" } }, "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg=="],
-
- "babel-plugin-macros": ["babel-plugin-macros@3.1.0", "", { "dependencies": { "@babel/runtime": "^7.12.5", "cosmiconfig": "^7.0.0", "resolve": "^1.19.0" } }, "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg=="],
-
- "babel-plugin-polyfill-corejs2": ["babel-plugin-polyfill-corejs2@0.4.14", "", { "dependencies": { "@babel/compat-data": "^7.27.7", "@babel/helper-define-polyfill-provider": "^0.6.5", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg=="],
-
- "babel-plugin-polyfill-corejs3": ["babel-plugin-polyfill-corejs3@0.13.0", "", { "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.5", "core-js-compat": "^3.43.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A=="],
-
- "babel-plugin-polyfill-regenerator": ["babel-plugin-polyfill-regenerator@0.6.5", "", { "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.5" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg=="],
-
- "babel-preset-current-node-syntax": ["babel-preset-current-node-syntax@1.2.0", "", { "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-import-attributes": "^7.24.7", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0 || ^8.0.0-0" } }, "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg=="],
-
- "babel-preset-jest": ["babel-preset-jest@29.6.3", "", { "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA=="],
-
- "backend": ["backend@workspace:packages/backend"],
-
- "backo2": ["backo2@1.0.2", "", {}, "sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA=="],
-
- "bail": ["bail@2.0.2", "", {}, "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="],
-
- "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="],
-
- "bare-events": ["bare-events@2.8.2", "", { "peerDependencies": { "bare-abort-controller": "*" }, "optionalPeers": ["bare-abort-controller"] }, "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ=="],
-
- "base64-arraybuffer": ["base64-arraybuffer@0.1.5", "", {}, "sha512-437oANT9tP582zZMwSvZGy2nmSeAb8DW2me3y+Uv1Wp2Rulr8Mqlyrv3E7MLxmsiaPSMMDmiDVzgE+e8zlMx9g=="],
-
- "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="],
-
- "base64-stream": ["base64-stream@1.0.0", "", {}, "sha512-BQQZftaO48FcE1Kof9CmXMFaAdqkcNorgc8CxesZv9nMbbTF1EFyQe89UOuh//QMmdtfUDXyO8rgUalemL5ODA=="],
-
- "base64url": ["base64url@3.0.1", "", {}, "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A=="],
-
- "baseline-browser-mapping": ["baseline-browser-mapping@2.9.11", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ=="],
-
- "basic-auth": ["basic-auth@2.0.1", "", { "dependencies": { "safe-buffer": "5.1.2" } }, "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg=="],
-
- "basic-ftp": ["basic-ftp@5.0.5", "", {}, "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg=="],
-
- "batch": ["batch@0.6.1", "", {}, "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw=="],
-
- "bcrypt-pbkdf": ["bcrypt-pbkdf@1.0.2", "", { "dependencies": { "tweetnacl": "^0.14.3" } }, "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w=="],
-
- "before-after-hook": ["before-after-hook@2.2.3", "", {}, "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ=="],
-
- "better-sqlite3": ["empty-npm-package@1.0.0", "", {}, "sha512-q4Mq/+XO7UNDdMiPpR/LIBIW1Zl4V0Z6UT9aKGqIAnBCtCb3lvZJM1KbDbdzdC8fKflwflModfjR29Nt0EpcwA=="],
-
- "bfj": ["bfj@8.0.0", "", { "dependencies": { "bluebird": "^3.7.2", "check-types": "^11.2.3", "hoopy": "^0.1.4", "jsonpath": "^1.1.1", "tryer": "^1.0.1" } }, "sha512-6KJe4gFrZ4lhmvWcUIj37yFAs36mi2FZXuTkw6udZ/QsX/znFypW4SatqcLA5K5T4BAWgJZD73UFEJJQxuJjoA=="],
-
- "big.js": ["big.js@5.2.2", "", {}, "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="],
-
- "bignumber.js": ["bignumber.js@9.3.1", "", {}, "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ=="],
-
- "binary-extensions": ["binary-extensions@2.3.0", "", {}, "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="],
-
- "bintrees": ["bintrees@1.0.2", "", {}, "sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw=="],
-
- "bl": ["bl@4.1.0", "", { "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w=="],
-
- "bluebird": ["bluebird@3.7.2", "", {}, "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="],
-
- "bn.js": ["bn.js@5.2.2", "", {}, "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw=="],
-
- "body-parser": ["body-parser@1.20.4", "", { "dependencies": { "bytes": "~3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "~1.2.0", "http-errors": "~2.0.1", "iconv-lite": "~0.4.24", "on-finished": "~2.4.1", "qs": "~6.14.0", "raw-body": "~2.5.3", "type-is": "~1.6.18", "unpipe": "~1.0.0" } }, "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA=="],
-
- "bonjour-service": ["bonjour-service@1.3.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "multicast-dns": "^7.2.5" } }, "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA=="],
-
- "boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="],
-
- "boolean": ["boolean@3.2.0", "", {}, "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw=="],
-
- "bowser": ["bowser@2.13.1", "", {}, "sha512-OHawaAbjwx6rqICCKgSG0SAnT05bzd7ppyKLVUITZpANBaaMFBAsaNkto3LoQ31tyFP5kNujE8Cdx85G9VzOkw=="],
-
- "brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="],
-
- "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="],
-
- "brorand": ["brorand@1.1.0", "", {}, "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w=="],
-
- "brotli-wasm": ["brotli-wasm@3.0.1", "", {}, "sha512-U3K72/JAi3jITpdhZBqzSUq+DUY697tLxOuFXB+FpAE/Ug+5C3VZrv4uA674EUZHxNAuQ9wETXNqQkxZD6oL4A=="],
-
- "browserify-aes": ["browserify-aes@1.2.0", "", { "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", "create-hash": "^1.1.0", "evp_bytestokey": "^1.0.3", "inherits": "^2.0.1", "safe-buffer": "^5.0.1" } }, "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA=="],
-
- "browserify-cipher": ["browserify-cipher@1.0.1", "", { "dependencies": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", "evp_bytestokey": "^1.0.0" } }, "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w=="],
-
- "browserify-des": ["browserify-des@1.0.2", "", { "dependencies": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", "inherits": "^2.0.1", "safe-buffer": "^5.1.2" } }, "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A=="],
-
- "browserify-rsa": ["browserify-rsa@4.1.1", "", { "dependencies": { "bn.js": "^5.2.1", "randombytes": "^2.1.0", "safe-buffer": "^5.2.1" } }, "sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ=="],
-
- "browserify-sign": ["browserify-sign@4.2.5", "", { "dependencies": { "bn.js": "^5.2.2", "browserify-rsa": "^4.1.1", "create-hash": "^1.2.0", "create-hmac": "^1.1.7", "elliptic": "^6.6.1", "inherits": "^2.0.4", "parse-asn1": "^5.1.9", "readable-stream": "^2.3.8", "safe-buffer": "^5.2.1" } }, "sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw=="],
-
- "browserify-zlib": ["browserify-zlib@0.2.0", "", { "dependencies": { "pako": "~1.0.5" } }, "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA=="],
-
- "browserslist": ["browserslist@4.28.1", "", { "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", "electron-to-chromium": "^1.5.263", "node-releases": "^2.0.27", "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" } }, "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA=="],
-
- "bser": ["bser@2.1.1", "", { "dependencies": { "node-int64": "^0.4.0" } }, "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ=="],
-
- "btoa": ["btoa@1.2.1", "", { "bin": { "btoa": "bin/btoa.js" } }, "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g=="],
-
- "btoa-lite": ["btoa-lite@1.0.0", "", {}, "sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA=="],
-
- "buffer": ["buffer@6.0.3", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA=="],
-
- "buffer-crc32": ["buffer-crc32@0.2.13", "", {}, "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="],
-
- "buffer-equal-constant-time": ["buffer-equal-constant-time@1.0.1", "", {}, "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA=="],
-
- "buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="],
-
- "buffer-xor": ["buffer-xor@1.0.3", "", {}, "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ=="],
-
- "buildcheck": ["buildcheck@0.0.7", "", {}, "sha512-lHblz4ahamxpTmnsk+MNTRWsjYKv965MwOrSJyeD588rR3Jcu7swE+0wN5F+PbL5cjgu/9ObkhfzEPuofEMwLA=="],
-
- "builtin-status-codes": ["builtin-status-codes@3.0.0", "", {}, "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ=="],
-
- "bun-types": ["bun-types@1.3.5", "", { "dependencies": { "@types/node": "*" } }, "sha512-inmAYe2PFLs0SUbFOWSVD24sg1jFlMPxOjOSSCYqUgn4Hsc3rDc7dFvfVYjFPNHtov6kgUeulV4SxbuIV/stPw=="],
-
- "bundle-name": ["bundle-name@4.1.0", "", { "dependencies": { "run-applescript": "^7.0.0" } }, "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q=="],
-
- "busboy": ["busboy@1.6.0", "", { "dependencies": { "streamsearch": "^1.1.0" } }, "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA=="],
-
- "byline": ["byline@5.0.0", "", {}, "sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q=="],
-
- "bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="],
-
- "cache-content-type": ["cache-content-type@1.0.1", "", { "dependencies": { "mime-types": "^2.1.18", "ylru": "^1.2.0" } }, "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA=="],
-
- "cacheable-lookup": ["cacheable-lookup@6.1.0", "", {}, "sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww=="],
-
- "call-bind": ["call-bind@1.0.8", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", "get-intrinsic": "^1.2.4", "set-function-length": "^1.2.2" } }, "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww=="],
-
- "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="],
-
- "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="],
-
- "call-me-maybe": ["call-me-maybe@1.0.2", "", {}, "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ=="],
-
- "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="],
-
- "camel-case": ["camel-case@4.1.2", "", { "dependencies": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" } }, "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw=="],
-
- "camelcase": ["camelcase@6.3.0", "", {}, "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="],
-
- "caniuse-api": ["caniuse-api@3.0.0", "", { "dependencies": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0", "lodash.memoize": "^4.1.2", "lodash.uniq": "^4.5.0" } }, "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw=="],
-
- "caniuse-lite": ["caniuse-lite@1.0.30001761", "", {}, "sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g=="],
-
- "caseless": ["caseless@0.12.0", "", {}, "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="],
-
- "ccount": ["ccount@2.0.1", "", {}, "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="],
-
- "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="],
-
- "char-regex": ["char-regex@1.0.2", "", {}, "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw=="],
-
- "character-entities": ["character-entities@1.2.4", "", {}, "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw=="],
-
- "character-entities-legacy": ["character-entities-legacy@1.1.4", "", {}, "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA=="],
-
- "character-reference-invalid": ["character-reference-invalid@1.1.4", "", {}, "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg=="],
-
- "chardet": ["chardet@2.1.1", "", {}, "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ=="],
-
- "check-types": ["check-types@11.2.3", "", {}, "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg=="],
-
- "chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="],
-
- "chownr": ["chownr@2.0.0", "", {}, "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="],
-
- "chrome-trace-event": ["chrome-trace-event@1.0.4", "", {}, "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ=="],
-
- "ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="],
-
- "cipher-base": ["cipher-base@1.0.7", "", { "dependencies": { "inherits": "^2.0.4", "safe-buffer": "^5.2.1", "to-buffer": "^1.2.2" } }, "sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA=="],
-
- "cjs-module-lexer": ["cjs-module-lexer@1.4.3", "", {}, "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q=="],
-
- "classnames": ["classnames@2.5.1", "", {}, "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow=="],
-
- "clean-css": ["clean-css@5.3.3", "", { "dependencies": { "source-map": "~0.6.0" } }, "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg=="],
-
- "clean-git-ref": ["clean-git-ref@2.0.1", "", {}, "sha512-bLSptAy2P0s6hU4PzuIMKmMJJSE6gLXGH1cntDu7bWJUksvuM+7ReOK61mozULErYvP6a15rnYl0zFDef+pyPw=="],
-
- "cli-cursor": ["cli-cursor@3.1.0", "", { "dependencies": { "restore-cursor": "^3.1.0" } }, "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw=="],
-
- "cli-spinners": ["cli-spinners@2.9.2", "", {}, "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg=="],
-
- "cli-width": ["cli-width@3.0.0", "", {}, "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw=="],
-
- "client-only": ["client-only@0.0.1", "", {}, "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="],
-
- "cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="],
-
- "clone": ["clone@2.1.2", "", {}, "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w=="],
-
- "clsx": ["clsx@1.2.1", "", {}, "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg=="],
-
- "cluster-key-slot": ["cluster-key-slot@1.1.2", "", {}, "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA=="],
-
- "co": ["co@4.6.0", "", {}, "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ=="],
-
- "codeowners-utils": ["codeowners-utils@1.0.2", "", { "dependencies": { "cross-spawn": "^7.0.2", "find-up": "^4.1.0", "ignore": "^5.1.4", "locate-path": "^5.0.0" } }, "sha512-4oLRCymV7azxGHMpM3F297D651VdwZa21hVfFCn/cOd8Fq8tFrpfpyRpSBQkaZCyFPkfOhEld9xceCF7btyiug=="],
-
- "collect-v8-coverage": ["collect-v8-coverage@1.0.3", "", {}, "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw=="],
-
- "color": ["color@5.0.3", "", { "dependencies": { "color-convert": "^3.1.3", "color-string": "^2.1.3" } }, "sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA=="],
-
- "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="],
-
- "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],
-
- "color-string": ["color-string@2.1.4", "", { "dependencies": { "color-name": "^2.0.0" } }, "sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg=="],
-
- "colord": ["colord@2.9.3", "", {}, "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw=="],
-
- "colorette": ["colorette@2.0.20", "", {}, "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w=="],
-
- "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="],
-
- "comma-separated-tokens": ["comma-separated-tokens@2.0.3", "", {}, "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg=="],
-
- "commander": ["commander@12.1.0", "", {}, "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA=="],
-
- "common-tags": ["common-tags@1.8.2", "", {}, "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA=="],
-
- "commondir": ["commondir@1.0.1", "", {}, "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg=="],
-
- "compress-commons": ["compress-commons@5.0.3", "", { "dependencies": { "crc-32": "^1.2.0", "crc32-stream": "^5.0.0", "normalize-path": "^3.0.0", "readable-stream": "^3.6.0" } }, "sha512-/UIcLWvwAQyVibgpQDPtfNM3SvqN7G9elAPAV7GM0L53EbNWwWiCsWtK8Fwed/APEbptPHXs5PuW+y8Bq8lFTA=="],
-
- "compressible": ["compressible@2.0.18", "", { "dependencies": { "mime-db": ">= 1.43.0 < 2" } }, "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg=="],
-
- "compression": ["compression@1.8.1", "", { "dependencies": { "bytes": "3.1.2", "compressible": "~2.0.18", "debug": "2.6.9", "negotiator": "~0.6.4", "on-headers": "~1.1.0", "safe-buffer": "5.2.1", "vary": "~1.1.2" } }, "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w=="],
-
- "compute-gcd": ["compute-gcd@1.2.1", "", { "dependencies": { "validate.io-array": "^1.0.3", "validate.io-function": "^1.0.2", "validate.io-integer-array": "^1.0.0" } }, "sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg=="],
-
- "compute-lcm": ["compute-lcm@1.1.2", "", { "dependencies": { "compute-gcd": "^1.2.1", "validate.io-array": "^1.0.3", "validate.io-function": "^1.0.2", "validate.io-integer-array": "^1.0.0" } }, "sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ=="],
-
- "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="],
-
- "concat-stream": ["concat-stream@2.0.0", "", { "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.0.2", "typedarray": "^0.0.6" } }, "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A=="],
-
- "concat-with-sourcemaps": ["concat-with-sourcemaps@1.1.0", "", { "dependencies": { "source-map": "^0.6.1" } }, "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg=="],
-
- "connect": ["connect@3.7.0", "", { "dependencies": { "debug": "2.6.9", "finalhandler": "1.1.2", "parseurl": "~1.3.3", "utils-merge": "1.0.1" } }, "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ=="],
-
- "connect-history-api-fallback": ["connect-history-api-fallback@2.0.0", "", {}, "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA=="],
-
- "connect-session-knex": ["connect-session-knex@4.0.2", "", { "dependencies": { "bluebird": "^3.7.2", "knex": "3" } }, "sha512-VgrHKBUOhqqorNRLCSZcwmuzTzRdrYK2qkeYd0JMRor29G1SBWJKjVF/Fq5QB7hgGIN3oR2ee7F1LmLsjhO+aA=="],
-
- "console-browserify": ["console-browserify@1.2.0", "", {}, "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA=="],
-
- "constants-browserify": ["constants-browserify@1.0.0", "", {}, "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ=="],
-
- "content-disposition": ["content-disposition@0.5.4", "", { "dependencies": { "safe-buffer": "5.2.1" } }, "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ=="],
-
- "content-type": ["content-type@1.0.5", "", {}, "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="],
-
- "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="],
-
- "cookie": ["cookie@1.1.1", "", {}, "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ=="],
-
- "cookie-parser": ["cookie-parser@1.4.7", "", { "dependencies": { "cookie": "0.7.2", "cookie-signature": "1.0.6" } }, "sha512-nGUvgXnotP3BsjiLX2ypbQnWoGUPIIfHQNZkkC668ntrzGWEZVW70HDEB1qnNGMicPje6EttlIgzo51YSwNQGw=="],
-
- "cookie-signature": ["cookie-signature@1.0.7", "", {}, "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA=="],
-
- "cookies": ["cookies@0.9.1", "", { "dependencies": { "depd": "~2.0.0", "keygrip": "~1.1.0" } }, "sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw=="],
-
- "copy-to-clipboard": ["copy-to-clipboard@3.3.3", "", { "dependencies": { "toggle-selection": "^1.0.6" } }, "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA=="],
-
- "core-js": ["core-js@3.47.0", "", {}, "sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg=="],
-
- "core-js-compat": ["core-js-compat@3.47.0", "", { "dependencies": { "browserslist": "^4.28.0" } }, "sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ=="],
-
- "core-js-pure": ["core-js-pure@3.47.0", "", {}, "sha512-BcxeDbzUrRnXGYIVAGFtcGQVNpFcUhVjr6W7F8XktvQW2iJP9e66GP6xdKotCRFlrxBvNIBrhwKteRXqMV86Nw=="],
-
- "core-util-is": ["core-util-is@1.0.3", "", {}, "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="],
-
- "cors": ["cors@2.8.5", "", { "dependencies": { "object-assign": "^4", "vary": "^1" } }, "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g=="],
-
- "cors-gate": ["cors-gate@1.1.3", "", {}, "sha512-RFqvbbpj02lqKDhqasBEkgzmT3RseCH3DKy5sT2W9S1mhctABKQP3ktKcnKN0h8t4pJ2SneI3hPl3TGNi/VmZA=="],
-
- "cosmiconfig": ["cosmiconfig@7.1.0", "", { "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", "parse-json": "^5.0.0", "path-type": "^4.0.0", "yaml": "^1.10.0" } }, "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA=="],
-
- "cpu-features": ["cpu-features@0.0.10", "", { "dependencies": { "buildcheck": "~0.0.6", "nan": "^2.19.0" } }, "sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA=="],
-
- "crc-32": ["crc-32@1.2.2", "", { "bin": { "crc32": "bin/crc32.njs" } }, "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ=="],
-
- "crc32-stream": ["crc32-stream@5.0.1", "", { "dependencies": { "crc-32": "^1.2.0", "readable-stream": "^3.4.0" } }, "sha512-lO1dFui+CEUh/ztYIpgpKItKW9Bb4NWakCRJrnqAbFIYD+OZAwb2VfD5T5eXMw2FNcsDHkQcNl/Wh3iVXYwU6g=="],
-
- "create-ecdh": ["create-ecdh@4.0.4", "", { "dependencies": { "bn.js": "^4.1.0", "elliptic": "^6.5.3" } }, "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A=="],
-
- "create-hash": ["create-hash@1.2.0", "", { "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", "md5.js": "^1.3.4", "ripemd160": "^2.0.1", "sha.js": "^2.4.0" } }, "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg=="],
-
- "create-hmac": ["create-hmac@1.1.7", "", { "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", "inherits": "^2.0.1", "ripemd160": "^2.0.0", "safe-buffer": "^5.0.1", "sha.js": "^2.4.8" } }, "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg=="],
-
- "create-jest": ["create-jest@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "jest-config": "^29.7.0", "jest-util": "^29.7.0", "prompts": "^2.0.1" }, "bin": { "create-jest": "bin/create-jest.js" } }, "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q=="],
-
- "create-require": ["create-require@1.1.1", "", {}, "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ=="],
-
- "cron": ["cron@3.5.0", "", { "dependencies": { "@types/luxon": "~3.4.0", "luxon": "~3.5.0" } }, "sha512-0eYZqCnapmxYcV06uktql93wNWdlTmmBFP2iYz+JPVcQqlyFYcn1lFuIk4R54pkOmE7mcldTAPZv6X5XA4Q46A=="],
-
- "cron-parser": ["cron-parser@4.9.0", "", { "dependencies": { "luxon": "^3.2.1" } }, "sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q=="],
-
- "cross-fetch": ["cross-fetch@4.1.0", "", { "dependencies": { "node-fetch": "^2.7.0" } }, "sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw=="],
-
- "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="],
-
- "crypto-browserify": ["crypto-browserify@3.12.1", "", { "dependencies": { "browserify-cipher": "^1.0.1", "browserify-sign": "^4.2.3", "create-ecdh": "^4.0.4", "create-hash": "^1.2.0", "create-hmac": "^1.1.7", "diffie-hellman": "^5.0.3", "hash-base": "~3.0.4", "inherits": "^2.0.4", "pbkdf2": "^3.1.2", "public-encrypt": "^4.0.3", "randombytes": "^2.1.0", "randomfill": "^1.0.4" } }, "sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ=="],
-
- "css-box-model": ["css-box-model@1.2.1", "", { "dependencies": { "tiny-invariant": "^1.0.6" } }, "sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw=="],
-
- "css-declaration-sorter": ["css-declaration-sorter@6.4.1", "", { "peerDependencies": { "postcss": "^8.0.9" } }, "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g=="],
-
- "css-in-js-utils": ["css-in-js-utils@3.1.0", "", { "dependencies": { "hyphenate-style-name": "^1.0.3" } }, "sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A=="],
-
- "css-loader": ["css-loader@6.11.0", "", { "dependencies": { "icss-utils": "^5.1.0", "postcss": "^8.4.33", "postcss-modules-extract-imports": "^3.1.0", "postcss-modules-local-by-default": "^4.0.5", "postcss-modules-scope": "^3.2.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", "semver": "^7.5.4" }, "peerDependencies": { "@rspack/core": "0.x || 1.x", "webpack": "^5.0.0" }, "optionalPeers": ["@rspack/core", "webpack"] }, "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g=="],
-
- "css-select": ["css-select@4.3.0", "", { "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.0.1", "domhandler": "^4.3.1", "domutils": "^2.8.0", "nth-check": "^2.0.1" } }, "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ=="],
-
- "css-tree": ["css-tree@1.1.3", "", { "dependencies": { "mdn-data": "2.0.14", "source-map": "^0.6.1" } }, "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q=="],
-
- "css-vendor": ["css-vendor@2.0.8", "", { "dependencies": { "@babel/runtime": "^7.8.3", "is-in-browser": "^1.0.2" } }, "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ=="],
-
- "css-what": ["css-what@6.2.2", "", {}, "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA=="],
-
- "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="],
-
- "cssnano": ["cssnano@5.1.15", "", { "dependencies": { "cssnano-preset-default": "^5.2.14", "lilconfig": "^2.0.3", "yaml": "^1.10.2" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw=="],
-
- "cssnano-preset-default": ["cssnano-preset-default@5.2.14", "", { "dependencies": { "css-declaration-sorter": "^6.3.1", "cssnano-utils": "^3.1.0", "postcss-calc": "^8.2.3", "postcss-colormin": "^5.3.1", "postcss-convert-values": "^5.1.3", "postcss-discard-comments": "^5.1.2", "postcss-discard-duplicates": "^5.1.0", "postcss-discard-empty": "^5.1.1", "postcss-discard-overridden": "^5.1.0", "postcss-merge-longhand": "^5.1.7", "postcss-merge-rules": "^5.1.4", "postcss-minify-font-values": "^5.1.0", "postcss-minify-gradients": "^5.1.1", "postcss-minify-params": "^5.1.4", "postcss-minify-selectors": "^5.2.1", "postcss-normalize-charset": "^5.1.0", "postcss-normalize-display-values": "^5.1.0", "postcss-normalize-positions": "^5.1.1", "postcss-normalize-repeat-style": "^5.1.1", "postcss-normalize-string": "^5.1.0", "postcss-normalize-timing-functions": "^5.1.0", "postcss-normalize-unicode": "^5.1.1", "postcss-normalize-url": "^5.1.0", "postcss-normalize-whitespace": "^5.1.1", "postcss-ordered-values": "^5.1.3", "postcss-reduce-initial": "^5.1.2", "postcss-reduce-transforms": "^5.1.0", "postcss-svgo": "^5.1.0", "postcss-unique-selectors": "^5.1.1" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A=="],
-
- "cssnano-utils": ["cssnano-utils@3.1.0", "", { "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA=="],
-
- "csso": ["csso@4.2.0", "", { "dependencies": { "css-tree": "^1.1.2" } }, "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA=="],
-
- "cssom": ["cssom@0.5.0", "", {}, "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw=="],
-
- "cssstyle": ["cssstyle@2.3.0", "", { "dependencies": { "cssom": "~0.3.6" } }, "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A=="],
-
- "csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="],
-
- "ctrlc-windows": ["ctrlc-windows@2.2.0", "", {}, "sha512-t9y568r+T8FUuBaqKK60YGFJdj3b3ktdJW9WXIT3CuBdQhAOYdSZu75jFUN0Ay4Yz5HHicVQqAYCwcnqhOn23g=="],
-
- "d3-color": ["d3-color@3.1.0", "", {}, "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA=="],
-
- "d3-dispatch": ["d3-dispatch@3.0.1", "", {}, "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg=="],
-
- "d3-drag": ["d3-drag@3.0.0", "", { "dependencies": { "d3-dispatch": "1 - 3", "d3-selection": "3" } }, "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg=="],
-
- "d3-ease": ["d3-ease@3.0.1", "", {}, "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w=="],
-
- "d3-interpolate": ["d3-interpolate@3.0.1", "", { "dependencies": { "d3-color": "1 - 3" } }, "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g=="],
-
- "d3-path": ["d3-path@3.1.0", "", {}, "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ=="],
-
- "d3-selection": ["d3-selection@3.0.0", "", {}, "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ=="],
-
- "d3-shape": ["d3-shape@3.2.0", "", { "dependencies": { "d3-path": "^3.1.0" } }, "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA=="],
-
- "d3-timer": ["d3-timer@3.0.1", "", {}, "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA=="],
-
- "d3-transition": ["d3-transition@3.0.1", "", { "dependencies": { "d3-color": "1 - 3", "d3-dispatch": "1 - 3", "d3-ease": "1 - 3", "d3-interpolate": "1 - 3", "d3-timer": "1 - 3" }, "peerDependencies": { "d3-selection": "2 - 3" } }, "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w=="],
-
- "d3-zoom": ["d3-zoom@3.0.0", "", { "dependencies": { "d3-dispatch": "1 - 3", "d3-drag": "2 - 3", "d3-interpolate": "1 - 3", "d3-selection": "2 - 3", "d3-transition": "2 - 3" } }, "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw=="],
-
- "dagre": ["dagre@0.8.5", "", { "dependencies": { "graphlib": "^2.1.8", "lodash": "^4.17.15" } }, "sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw=="],
-
- "damerau-levenshtein": ["damerau-levenshtein@1.0.8", "", {}, "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA=="],
-
- "dashdash": ["dashdash@1.14.1", "", { "dependencies": { "assert-plus": "^1.0.0" } }, "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g=="],
-
- "data-uri-to-buffer": ["data-uri-to-buffer@6.0.2", "", {}, "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw=="],
-
- "data-urls": ["data-urls@3.0.2", "", { "dependencies": { "abab": "^2.0.6", "whatwg-mimetype": "^3.0.0", "whatwg-url": "^11.0.0" } }, "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ=="],
-
- "data-view-buffer": ["data-view-buffer@1.0.2", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "is-data-view": "^1.0.2" } }, "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ=="],
-
- "data-view-byte-length": ["data-view-byte-length@1.0.2", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "is-data-view": "^1.0.2" } }, "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ=="],
-
- "data-view-byte-offset": ["data-view-byte-offset@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" } }, "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ=="],
-
- "dataloader": ["dataloader@2.2.3", "", {}, "sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA=="],
-
- "date-fns": ["date-fns@2.30.0", "", { "dependencies": { "@babel/runtime": "^7.21.0" } }, "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw=="],
-
- "date-format": ["date-format@4.0.14", "", {}, "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg=="],
-
- "debounce": ["debounce@1.2.1", "", {}, "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug=="],
-
- "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="],
-
- "decimal.js": ["decimal.js@10.6.0", "", {}, "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg=="],
-
- "decode-named-character-reference": ["decode-named-character-reference@1.2.0", "", { "dependencies": { "character-entities": "^2.0.0" } }, "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q=="],
-
- "decompress-response": ["decompress-response@6.0.0", "", { "dependencies": { "mimic-response": "^3.1.0" } }, "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ=="],
-
- "dedent": ["dedent@1.7.1", "", { "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, "optionalPeers": ["babel-plugin-macros"] }, "sha512-9JmrhGZpOlEgOLdQgSm0zxFaYoQon408V1v49aqTWuXENVlnCuY9JBZcXZiCsZQWDjTm5Qf/nIvAy77mXDAjEg=="],
-
- "deep-equal": ["deep-equal@2.2.3", "", { "dependencies": { "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.5", "es-get-iterator": "^1.1.3", "get-intrinsic": "^1.2.2", "is-arguments": "^1.1.1", "is-array-buffer": "^3.0.2", "is-date-object": "^1.0.5", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "isarray": "^2.0.5", "object-is": "^1.1.5", "object-keys": "^1.1.1", "object.assign": "^4.1.4", "regexp.prototype.flags": "^1.5.1", "side-channel": "^1.0.4", "which-boxed-primitive": "^1.0.2", "which-collection": "^1.0.1", "which-typed-array": "^1.1.13" } }, "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA=="],
-
- "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="],
-
- "deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="],
-
- "default-browser": ["default-browser@5.4.0", "", { "dependencies": { "bundle-name": "^4.1.0", "default-browser-id": "^5.0.0" } }, "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg=="],
-
- "default-browser-id": ["default-browser-id@5.0.1", "", {}, "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q=="],
-
- "defaults": ["defaults@1.0.4", "", { "dependencies": { "clone": "^1.0.2" } }, "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A=="],
-
- "define-data-property": ["define-data-property@1.1.4", "", { "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" } }, "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A=="],
-
- "define-lazy-prop": ["define-lazy-prop@2.0.0", "", {}, "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og=="],
-
- "define-properties": ["define-properties@1.2.1", "", { "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" } }, "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg=="],
-
- "degenerator": ["degenerator@5.0.1", "", { "dependencies": { "ast-types": "^0.13.4", "escodegen": "^2.1.0", "esprima": "^4.0.1" } }, "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ=="],
-
- "delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="],
-
- "delegates": ["delegates@1.0.0", "", {}, "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="],
-
- "denque": ["denque@2.1.0", "", {}, "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw=="],
-
- "depd": ["depd@2.0.0", "", {}, "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="],
-
- "deprecation": ["deprecation@2.3.1", "", {}, "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="],
-
- "dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="],
-
- "des.js": ["des.js@1.1.0", "", { "dependencies": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" } }, "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg=="],
-
- "destroy": ["destroy@1.2.0", "", {}, "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="],
-
- "destroyable-server": ["destroyable-server@1.1.1", "", { "dependencies": { "@types/node": "*" } }, "sha512-7tjgU/99QVuYSqkMXr6XdQSvXj+8TjC9NiRVWNSyGytxklZ88m+qcSvWTJ3VysE3I9wurph7dTciLEEj8aUlaQ=="],
-
- "detect-newline": ["detect-newline@3.1.0", "", {}, "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA=="],
-
- "detect-node": ["detect-node@2.1.0", "", {}, "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="],
-
- "detect-port-alt": ["detect-port-alt@1.1.6", "", { "dependencies": { "address": "^1.0.1", "debug": "^2.6.0" }, "bin": { "detect": "./bin/detect-port", "detect-port": "./bin/detect-port" } }, "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q=="],
-
- "diff": ["diff@5.2.0", "", {}, "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A=="],
-
- "diff-sequences": ["diff-sequences@29.6.3", "", {}, "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q=="],
-
- "diff3": ["diff3@0.0.3", "", {}, "sha512-iSq8ngPOt0K53A6eVr4d5Kn6GNrM2nQZtC740pzIriHtn4pOQ2lyzEXQMBeVcWERN0ye7fhBsk9PbLLQOnUx/g=="],
-
- "diffie-hellman": ["diffie-hellman@5.0.3", "", { "dependencies": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", "randombytes": "^2.0.0" } }, "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg=="],
-
- "dir-glob": ["dir-glob@3.0.1", "", { "dependencies": { "path-type": "^4.0.0" } }, "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA=="],
-
- "dns-packet": ["dns-packet@5.6.1", "", { "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" } }, "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw=="],
-
- "docker-modem": ["docker-modem@5.0.6", "", { "dependencies": { "debug": "^4.1.1", "readable-stream": "^3.5.0", "split-ca": "^1.0.1", "ssh2": "^1.15.0" } }, "sha512-ens7BiayssQz/uAxGzH8zGXCtiV24rRWXdjNha5V4zSOcxmAZsfGVm/PPFbwQdqEkDnhG+SyR9E3zSHUbOKXBQ=="],
-
- "dockerode": ["dockerode@4.0.9", "", { "dependencies": { "@balena/dockerignore": "^1.0.2", "@grpc/grpc-js": "^1.11.1", "@grpc/proto-loader": "^0.7.13", "docker-modem": "^5.0.6", "protobufjs": "^7.3.2", "tar-fs": "^2.1.4", "uuid": "^10.0.0" } }, "sha512-iND4mcOWhPaCNh54WmK/KoSb35AFqPAUWFMffTQcp52uQt36b5uNwEJTSXntJZBbeGad72Crbi/hvDIv6us/6Q=="],
-
- "doctrine": ["doctrine@3.0.0", "", { "dependencies": { "esutils": "^2.0.2" } }, "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w=="],
-
- "dom-accessibility-api": ["dom-accessibility-api@0.5.16", "", {}, "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg=="],
-
- "dom-converter": ["dom-converter@0.2.0", "", { "dependencies": { "utila": "~0.4" } }, "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA=="],
-
- "dom-helpers": ["dom-helpers@5.2.1", "", { "dependencies": { "@babel/runtime": "^7.8.7", "csstype": "^3.0.2" } }, "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA=="],
-
- "dom-serializer": ["dom-serializer@1.4.1", "", { "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", "entities": "^2.0.0" } }, "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag=="],
-
- "domain-browser": ["domain-browser@1.2.0", "", {}, "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA=="],
-
- "domelementtype": ["domelementtype@2.3.0", "", {}, "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="],
-
- "domexception": ["domexception@4.0.0", "", { "dependencies": { "webidl-conversions": "^7.0.0" } }, "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw=="],
-
- "domhandler": ["domhandler@4.3.1", "", { "dependencies": { "domelementtype": "^2.2.0" } }, "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ=="],
-
- "domutils": ["domutils@2.8.0", "", { "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", "domhandler": "^4.2.0" } }, "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A=="],
-
- "dot-case": ["dot-case@3.0.4", "", { "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" } }, "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w=="],
-
- "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="],
-
- "duplexer": ["duplexer@0.1.2", "", {}, "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg=="],
-
- "duplexify": ["duplexify@4.1.3", "", { "dependencies": { "end-of-stream": "^1.4.1", "inherits": "^2.0.3", "readable-stream": "^3.1.1", "stream-shift": "^1.0.2" } }, "sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA=="],
-
- "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="],
-
- "ecc-jsbn": ["ecc-jsbn@0.1.2", "", { "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw=="],
-
- "ecdsa-sig-formatter": ["ecdsa-sig-formatter@1.0.11", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ=="],
-
- "ee-first": ["ee-first@1.1.1", "", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="],
-
- "electron-to-chromium": ["electron-to-chromium@1.5.267", "", {}, "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw=="],
-
- "elliptic": ["elliptic@6.6.1", "", { "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", "hash.js": "^1.0.0", "hmac-drbg": "^1.0.1", "inherits": "^2.0.4", "minimalistic-assert": "^1.0.1", "minimalistic-crypto-utils": "^1.0.1" } }, "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g=="],
-
- "emittery": ["emittery@0.13.1", "", {}, "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ=="],
-
- "emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="],
-
- "emojis-list": ["emojis-list@3.0.0", "", {}, "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q=="],
-
- "enabled": ["enabled@2.0.0", "", {}, "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ=="],
-
- "encodeurl": ["encodeurl@2.0.0", "", {}, "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg=="],
-
- "end-of-stream": ["end-of-stream@1.4.5", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="],
-
- "enhanced-resolve": ["enhanced-resolve@5.18.4", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" } }, "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q=="],
-
- "entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="],
-
- "error-ex": ["error-ex@1.3.4", "", { "dependencies": { "is-arrayish": "^0.2.1" } }, "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ=="],
-
- "error-stack-parser": ["error-stack-parser@2.1.4", "", { "dependencies": { "stackframe": "^1.3.4" } }, "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ=="],
-
- "es-abstract": ["es-abstract@1.24.1", "", { "dependencies": { "array-buffer-byte-length": "^1.0.2", "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", "call-bound": "^1.0.4", "data-view-buffer": "^1.0.2", "data-view-byte-length": "^1.0.2", "data-view-byte-offset": "^1.0.1", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "es-set-tostringtag": "^2.1.0", "es-to-primitive": "^1.3.0", "function.prototype.name": "^1.1.8", "get-intrinsic": "^1.3.0", "get-proto": "^1.0.1", "get-symbol-description": "^1.1.0", "globalthis": "^1.0.4", "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", "has-proto": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "internal-slot": "^1.1.0", "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", "is-data-view": "^1.0.2", "is-negative-zero": "^2.0.3", "is-regex": "^1.2.1", "is-set": "^2.0.3", "is-shared-array-buffer": "^1.0.4", "is-string": "^1.1.1", "is-typed-array": "^1.1.15", "is-weakref": "^1.1.1", "math-intrinsics": "^1.1.0", "object-inspect": "^1.13.4", "object-keys": "^1.1.1", "object.assign": "^4.1.7", "own-keys": "^1.0.1", "regexp.prototype.flags": "^1.5.4", "safe-array-concat": "^1.1.3", "safe-push-apply": "^1.0.0", "safe-regex-test": "^1.1.0", "set-proto": "^1.0.0", "stop-iteration-iterator": "^1.1.0", "string.prototype.trim": "^1.2.10", "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", "typed-array-buffer": "^1.0.3", "typed-array-byte-length": "^1.0.3", "typed-array-byte-offset": "^1.0.4", "typed-array-length": "^1.0.7", "unbox-primitive": "^1.1.0", "which-typed-array": "^1.1.19" } }, "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw=="],
-
- "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="],
-
- "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="],
-
- "es-get-iterator": ["es-get-iterator@1.1.3", "", { "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", "has-symbols": "^1.0.3", "is-arguments": "^1.1.1", "is-map": "^2.0.2", "is-set": "^2.0.2", "is-string": "^1.0.7", "isarray": "^2.0.5", "stop-iteration-iterator": "^1.0.0" } }, "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw=="],
-
- "es-iterator-helpers": ["es-iterator-helpers@1.2.2", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.4", "define-properties": "^1.2.1", "es-abstract": "^1.24.1", "es-errors": "^1.3.0", "es-set-tostringtag": "^2.1.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.3.0", "globalthis": "^1.0.4", "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", "has-proto": "^1.2.0", "has-symbols": "^1.1.0", "internal-slot": "^1.1.0", "iterator.prototype": "^1.1.5", "safe-array-concat": "^1.1.3" } }, "sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w=="],
-
- "es-module-lexer": ["es-module-lexer@1.7.0", "", {}, "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA=="],
-
- "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="],
-
- "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="],
-
- "es-shim-unscopables": ["es-shim-unscopables@1.1.0", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw=="],
-
- "es-to-primitive": ["es-to-primitive@1.3.0", "", { "dependencies": { "is-callable": "^1.2.7", "is-date-object": "^1.0.5", "is-symbol": "^1.0.4" } }, "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g=="],
-
- "es6-error": ["es6-error@4.1.1", "", {}, "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg=="],
-
- "esbuild": ["esbuild@0.23.1", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.23.1", "@esbuild/android-arm": "0.23.1", "@esbuild/android-arm64": "0.23.1", "@esbuild/android-x64": "0.23.1", "@esbuild/darwin-arm64": "0.23.1", "@esbuild/darwin-x64": "0.23.1", "@esbuild/freebsd-arm64": "0.23.1", "@esbuild/freebsd-x64": "0.23.1", "@esbuild/linux-arm": "0.23.1", "@esbuild/linux-arm64": "0.23.1", "@esbuild/linux-ia32": "0.23.1", "@esbuild/linux-loong64": "0.23.1", "@esbuild/linux-mips64el": "0.23.1", "@esbuild/linux-ppc64": "0.23.1", "@esbuild/linux-riscv64": "0.23.1", "@esbuild/linux-s390x": "0.23.1", "@esbuild/linux-x64": "0.23.1", "@esbuild/netbsd-x64": "0.23.1", "@esbuild/openbsd-arm64": "0.23.1", "@esbuild/openbsd-x64": "0.23.1", "@esbuild/sunos-x64": "0.23.1", "@esbuild/win32-arm64": "0.23.1", "@esbuild/win32-ia32": "0.23.1", "@esbuild/win32-x64": "0.23.1" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg=="],
-
- "esbuild-loader": ["esbuild-loader@4.4.1", "", { "dependencies": { "esbuild": "^0.27.1", "get-tsconfig": "^4.10.1", "loader-utils": "^2.0.4", "webpack-sources": "^1.4.3" }, "peerDependencies": { "webpack": "^4.40.0 || ^5.0.0" } }, "sha512-aXMJpkrSKy/x4fvpB0uA7svGOBQFAkWvWdOtKuyWOXtUwruG3Rfr6jqjI/UKf4QDvcHjKQI6pnpKiOejpfE1jg=="],
-
- "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="],
-
- "escape-html": ["escape-html@1.0.3", "", {}, "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="],
-
- "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="],
-
- "escodegen": ["escodegen@2.1.0", "", { "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", "esutils": "^2.0.2" }, "optionalDependencies": { "source-map": "~0.6.1" }, "bin": { "esgenerate": "bin/esgenerate.js", "escodegen": "bin/escodegen.js" } }, "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w=="],
-
- "eslint": ["eslint@8.57.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", "@eslint/js": "8.57.1", "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", "eslint-scope": "^7.2.2", "eslint-visitor-keys": "^3.4.3", "espree": "^9.6.1", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", "graphemer": "^1.4.0", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3", "strip-ansi": "^6.0.1", "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" } }, "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA=="],
-
- "eslint-config-prettier": ["eslint-config-prettier@9.1.2", "", { "peerDependencies": { "eslint": ">=7.0.0" }, "bin": { "eslint-config-prettier": "bin/cli.js" } }, "sha512-iI1f+D2ViGn+uvv5HuHVUamg8ll4tN+JRHGc6IJi4TP9Kl976C57fzPXgseXNs8v0iA8aSJpHsTWjDb9QJamGQ=="],
-
- "eslint-formatter-friendly": ["eslint-formatter-friendly@7.0.0", "", { "dependencies": { "@babel/code-frame": "7.0.0", "chalk": "2.4.2", "extend": "3.0.2", "strip-ansi": "5.2.0", "text-table": "0.2.0" } }, "sha512-WXg2D5kMHcRxIZA3ulxdevi8/BGTXu72pfOO5vXHqcAfClfIWDSlOljROjCSOCcKvilgmHz1jDWbvFCZHjMQ5w=="],
-
- "eslint-import-resolver-node": ["eslint-import-resolver-node@0.3.9", "", { "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.13.0", "resolve": "^1.22.4" } }, "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g=="],
-
- "eslint-module-utils": ["eslint-module-utils@2.12.1", "", { "dependencies": { "debug": "^3.2.7" } }, "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw=="],
-
- "eslint-plugin-deprecation": ["eslint-plugin-deprecation@2.0.0", "", { "dependencies": { "@typescript-eslint/utils": "^6.0.0", "tslib": "^2.3.1", "tsutils": "^3.21.0" }, "peerDependencies": { "eslint": "^7.0.0 || ^8.0.0", "typescript": "^4.2.4 || ^5.0.0" } }, "sha512-OAm9Ohzbj11/ZFyICyR5N6LbOIvQMp7ZU2zI7Ej0jIc8kiGUERXPNMfw2QqqHD1ZHtjMub3yPZILovYEYucgoQ=="],
-
- "eslint-plugin-import": ["eslint-plugin-import@2.32.0", "", { "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", "array.prototype.findlastindex": "^1.2.6", "array.prototype.flat": "^1.3.3", "array.prototype.flatmap": "^1.3.3", "debug": "^3.2.7", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.9", "eslint-module-utils": "^2.12.1", "hasown": "^2.0.2", "is-core-module": "^2.16.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "object.groupby": "^1.0.3", "object.values": "^1.2.1", "semver": "^6.3.1", "string.prototype.trimend": "^1.0.9", "tsconfig-paths": "^3.15.0" }, "peerDependencies": { "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" } }, "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA=="],
-
- "eslint-plugin-jest": ["eslint-plugin-jest@28.14.0", "", { "dependencies": { "@typescript-eslint/utils": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependencies": { "@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0 || ^8.0.0", "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0", "jest": "*" }, "optionalPeers": ["@typescript-eslint/eslint-plugin", "jest"] }, "sha512-P9s/qXSMTpRTerE2FQ0qJet2gKbcGyFTPAJipoKxmWqR6uuFqIqk8FuEfg5yBieOezVrEfAMZrEwJ6yEp+1MFQ=="],
-
- "eslint-plugin-jsx-a11y": ["eslint-plugin-jsx-a11y@6.10.2", "", { "dependencies": { "aria-query": "^5.3.2", "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", "axe-core": "^4.10.0", "axobject-query": "^4.1.0", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", "hasown": "^2.0.2", "jsx-ast-utils": "^3.3.5", "language-tags": "^1.0.9", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "safe-regex-test": "^1.0.3", "string.prototype.includes": "^2.0.1" }, "peerDependencies": { "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } }, "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q=="],
-
- "eslint-plugin-react": ["eslint-plugin-react@7.37.5", "", { "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", "array.prototype.flatmap": "^1.3.3", "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", "es-iterator-helpers": "^1.2.1", "estraverse": "^5.3.0", "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", "object.entries": "^1.1.9", "object.fromentries": "^2.0.8", "object.values": "^1.2.1", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.5", "semver": "^6.3.1", "string.prototype.matchall": "^4.0.12", "string.prototype.repeat": "^1.0.0" }, "peerDependencies": { "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA=="],
-
- "eslint-plugin-react-hooks": ["eslint-plugin-react-hooks@4.6.2", "", { "peerDependencies": { "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" } }, "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ=="],
-
- "eslint-plugin-unused-imports": ["eslint-plugin-unused-imports@3.2.0", "", { "dependencies": { "eslint-rule-composer": "^0.3.0" }, "peerDependencies": { "@typescript-eslint/eslint-plugin": "6 - 7", "eslint": "8" }, "optionalPeers": ["@typescript-eslint/eslint-plugin"] }, "sha512-6uXyn6xdINEpxE1MtDjxQsyXB37lfyO2yKGVVgtD7WEWQGORSOZjgrD6hBhvGv4/SO+TOlS+UnC6JppRqbuwGQ=="],
-
- "eslint-rule-composer": ["eslint-rule-composer@0.3.0", "", {}, "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg=="],
-
- "eslint-scope": ["eslint-scope@7.2.2", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg=="],
-
- "eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
-
- "eslint-webpack-plugin": ["eslint-webpack-plugin@4.2.0", "", { "dependencies": { "@types/eslint": "^8.56.10", "jest-worker": "^29.7.0", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "schema-utils": "^4.2.0" }, "peerDependencies": { "eslint": "^8.0.0 || ^9.0.0", "webpack": "^5.0.0" } }, "sha512-rsfpFQ01AWQbqtjgPRr2usVRxhWDuG0YDYcG8DJOteD3EFnpeuYuOwk0PQiN7PRBTqS6ElNdtPZPggj8If9WnA=="],
-
- "esm": ["esm@3.2.25", "", {}, "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA=="],
-
- "espree": ["espree@9.6.1", "", { "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" } }, "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ=="],
-
- "esprima": ["esprima@4.0.1", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="],
-
- "esquery": ["esquery@1.6.0", "", { "dependencies": { "estraverse": "^5.1.0" } }, "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg=="],
-
- "esrecurse": ["esrecurse@4.3.0", "", { "dependencies": { "estraverse": "^5.2.0" } }, "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="],
-
- "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="],
-
- "estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="],
-
- "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="],
-
- "etag": ["etag@1.8.1", "", {}, "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="],
-
- "event-target-shim": ["event-target-shim@5.0.1", "", {}, "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="],
-
- "eventemitter3": ["eventemitter3@4.0.7", "", {}, "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="],
-
- "events": ["events@3.3.0", "", {}, "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="],
-
- "events-universal": ["events-universal@1.0.1", "", { "dependencies": { "bare-events": "^2.7.0" } }, "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw=="],
-
- "evp_bytestokey": ["evp_bytestokey@1.0.3", "", { "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" } }, "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA=="],
-
- "execa": ["execa@5.1.1", "", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", "human-signals": "^2.1.0", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^4.0.1", "onetime": "^5.1.2", "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" } }, "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg=="],
-
- "exit": ["exit@0.1.2", "", {}, "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ=="],
-
- "expand-tilde": ["expand-tilde@2.0.2", "", { "dependencies": { "homedir-polyfill": "^1.0.1" } }, "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw=="],
-
- "expect": ["expect@29.7.0", "", { "dependencies": { "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", "jest-matcher-utils": "^29.7.0", "jest-message-util": "^29.7.0", "jest-util": "^29.7.0" } }, "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw=="],
-
- "express": ["express@4.22.1", "", { "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "~1.20.3", "content-disposition": "~0.5.4", "content-type": "~1.0.4", "cookie": "~0.7.1", "cookie-signature": "~1.0.6", "debug": "2.6.9", "depd": "2.0.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", "finalhandler": "~1.3.1", "fresh": "~0.5.2", "http-errors": "~2.0.0", "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "~2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "~0.1.12", "proxy-addr": "~2.0.7", "qs": "~6.14.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "~0.19.0", "serve-static": "~1.16.2", "setprototypeof": "1.2.0", "statuses": "~2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" } }, "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g=="],
-
- "express-openapi-validator": ["express-openapi-validator@5.6.0", "", { "dependencies": { "@apidevtools/json-schema-ref-parser": "^14.0.3", "@types/multer": "^1.4.13", "ajv": "^8.17.1", "ajv-draft-04": "^1.0.0", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", "json-schema-traverse": "^1.0.0", "lodash.clonedeep": "^4.5.0", "lodash.get": "^4.4.2", "media-typer": "^1.1.0", "multer": "^2.0.2", "ono": "^7.1.3", "path-to-regexp": "^8.2.0", "qs": "^6.14.0" }, "peerDependencies": { "express": "*" } }, "sha512-gNaMgDb1cAT8QKcuh9WrED9p3mqi/V7yocNrvnE1fOz7e8p8JkbYaTUcOB4VsZKerz/X+Sey7ptTGF5FwsXh8Q=="],
-
- "express-promise-router": ["express-promise-router@4.1.1", "", { "dependencies": { "is-promise": "^4.0.0", "lodash.flattendeep": "^4.0.0", "methods": "^1.0.0" }, "peerDependencies": { "@types/express": "^4.0.0", "express": "^4.0.0" }, "optionalPeers": ["@types/express"] }, "sha512-Lkvcy/ZGrBhzkl3y7uYBHLMtLI4D6XQ2kiFg9dq7fbktBch5gjqJ0+KovX0cvCAvTJw92raWunRLM/OM+5l4fA=="],
-
- "express-session": ["express-session@1.18.2", "", { "dependencies": { "cookie": "0.7.2", "cookie-signature": "1.0.7", "debug": "2.6.9", "depd": "~2.0.0", "on-headers": "~1.1.0", "parseurl": "~1.3.3", "safe-buffer": "5.2.1", "uid-safe": "~2.1.5" } }, "sha512-SZjssGQC7TzTs9rpPDuUrR23GNZ9+2+IkA/+IJWmvQilTr5OSliEHGF+D9scbIpdC6yGtTI0/VhaHoVes2AN/A=="],
-
- "extend": ["extend@3.0.2", "", {}, "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="],
-
- "extsprintf": ["extsprintf@1.3.0", "", {}, "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g=="],
-
- "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="],
-
- "fast-fifo": ["fast-fifo@1.3.2", "", {}, "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="],
-
- "fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="],
-
- "fast-json-patch": ["fast-json-patch@3.1.1", "", {}, "sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ=="],
-
- "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="],
-
- "fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="],
-
- "fast-shallow-equal": ["fast-shallow-equal@1.0.0", "", {}, "sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw=="],
-
- "fast-uri": ["fast-uri@3.1.0", "", {}, "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA=="],
-
- "fast-xml-parser": ["fast-xml-parser@4.5.3", "", { "dependencies": { "strnum": "^1.1.1" }, "bin": { "fxparser": "src/cli/cli.js" } }, "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig=="],
-
- "fastest-stable-stringify": ["fastest-stable-stringify@2.0.2", "", {}, "sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q=="],
-
- "fastq": ["fastq@1.20.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw=="],
-
- "fault": ["fault@1.0.4", "", { "dependencies": { "format": "^0.2.0" } }, "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA=="],
-
- "faye-websocket": ["faye-websocket@0.11.4", "", { "dependencies": { "websocket-driver": ">=0.5.1" } }, "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g=="],
-
- "fb-watchman": ["fb-watchman@2.0.2", "", { "dependencies": { "bser": "2.1.1" } }, "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA=="],
-
- "fd-package-json": ["fd-package-json@2.0.0", "", { "dependencies": { "walk-up-path": "^4.0.0" } }, "sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ=="],
-
- "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="],
-
- "fecha": ["fecha@4.2.3", "", {}, "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw=="],
-
- "figures": ["figures@3.2.0", "", { "dependencies": { "escape-string-regexp": "^1.0.5" } }, "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg=="],
-
- "file-entry-cache": ["file-entry-cache@6.0.1", "", { "dependencies": { "flat-cache": "^3.0.4" } }, "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg=="],
-
- "filesize": ["filesize@8.0.7", "", {}, "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ=="],
-
- "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="],
-
- "finalhandler": ["finalhandler@1.3.2", "", { "dependencies": { "debug": "2.6.9", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "~2.4.1", "parseurl": "~1.3.3", "statuses": "~2.0.2", "unpipe": "~1.0.0" } }, "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg=="],
-
- "find-file-up": ["find-file-up@2.0.1", "", { "dependencies": { "resolve-dir": "^1.0.1" } }, "sha512-qVdaUhYO39zmh28/JLQM5CoYN9byEOKEH4qfa8K1eNV17W0UUMJ9WgbR/hHFH+t5rcl+6RTb5UC7ck/I+uRkpQ=="],
-
- "find-pkg": ["find-pkg@2.0.0", "", { "dependencies": { "find-file-up": "^2.0.1" } }, "sha512-WgZ+nKbELDa6N3i/9nrHeNznm+lY3z4YfhDDWgW+5P0pdmMj26bxaxU11ookgY3NyP9GC7HvZ9etp0jRFqGEeQ=="],
-
- "find-root": ["find-root@1.1.0", "", {}, "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng=="],
-
- "find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="],
-
- "flat-cache": ["flat-cache@3.2.0", "", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.3", "rimraf": "^3.0.2" } }, "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw=="],
-
- "flatted": ["flatted@3.3.3", "", {}, "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg=="],
-
- "fn.name": ["fn.name@1.1.0", "", {}, "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="],
-
- "follow-redirects": ["follow-redirects@1.15.11", "", {}, "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ=="],
-
- "for-each": ["for-each@0.3.5", "", { "dependencies": { "is-callable": "^1.2.7" } }, "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg=="],
-
- "foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="],
-
- "forever-agent": ["forever-agent@0.6.1", "", {}, "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw=="],
-
- "fork-ts-checker-webpack-plugin": ["fork-ts-checker-webpack-plugin@9.1.0", "", { "dependencies": { "@babel/code-frame": "^7.16.7", "chalk": "^4.1.2", "chokidar": "^4.0.1", "cosmiconfig": "^8.2.0", "deepmerge": "^4.2.2", "fs-extra": "^10.0.0", "memfs": "^3.4.1", "minimatch": "^3.0.4", "node-abort-controller": "^3.0.1", "schema-utils": "^3.1.1", "semver": "^7.3.5", "tapable": "^2.2.1" }, "peerDependencies": { "typescript": ">3.6.0", "webpack": "^5.11.0" } }, "sha512-mpafl89VFPJmhnJ1ssH+8wmM2b50n+Rew5x42NeI2U78aRWgtkEtGmctp7iT16UjquJTjorEmIfESj3DxdW84Q=="],
-
- "form-data": ["form-data@4.0.5", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", "mime-types": "^2.1.12" } }, "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w=="],
-
- "format": ["format@0.2.2", "", {}, "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww=="],
-
- "formatly": ["formatly@0.3.0", "", { "dependencies": { "fd-package-json": "^2.0.0" }, "bin": { "formatly": "bin/index.mjs" } }, "sha512-9XNj/o4wrRFyhSMJOvsuyMwy8aUfBaZ1VrqHVfohyXf0Sw0e+yfKG+xZaY3arGCOMdwFsqObtzVOc1gU9KiT9w=="],
-
- "forwarded": ["forwarded@0.2.0", "", {}, "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="],
-
- "fresh": ["fresh@0.5.2", "", {}, "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="],
-
- "fromentries": ["fromentries@1.3.2", "", {}, "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg=="],
-
- "fs-constants": ["fs-constants@1.0.0", "", {}, "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="],
-
- "fs-extra": ["fs-extra@11.3.3", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg=="],
-
- "fs-minipass": ["fs-minipass@2.1.0", "", { "dependencies": { "minipass": "^3.0.0" } }, "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg=="],
-
- "fs-monkey": ["fs-monkey@1.1.0", "", {}, "sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw=="],
-
- "fs.realpath": ["fs.realpath@1.0.0", "", {}, "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="],
-
- "fscreen": ["fscreen@1.2.0", "", {}, "sha512-hlq4+BU0hlPmwsFjwGGzZ+OZ9N/wq9Ljg/sq3pX+2CD7hrJsX9tJgWWK/wiNTFM212CLHWhicOoqwXyZGGetJg=="],
-
- "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
-
- "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="],
-
- "function.prototype.name": ["function.prototype.name@1.1.8", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", "functions-have-names": "^1.2.3", "hasown": "^2.0.2", "is-callable": "^1.2.7" } }, "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q=="],
-
- "functional-red-black-tree": ["functional-red-black-tree@1.0.1", "", {}, "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g=="],
-
- "functions-have-names": ["functions-have-names@1.2.3", "", {}, "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ=="],
-
- "gaxios": ["gaxios@6.7.1", "", { "dependencies": { "extend": "^3.0.2", "https-proxy-agent": "^7.0.1", "is-stream": "^2.0.0", "node-fetch": "^2.6.9", "uuid": "^9.0.1" } }, "sha512-LDODD4TMYx7XXdpwxAVRAIAuB0bzv0s+ywFonY46k126qzQHT9ygyoa9tncmOiQmmDrik65UYsEkv3lbfqQ3yQ=="],
-
- "gcp-metadata": ["gcp-metadata@6.1.1", "", { "dependencies": { "gaxios": "^6.1.1", "google-logging-utils": "^0.0.2", "json-bigint": "^1.0.0" } }, "sha512-a4tiq7E0/5fTjxPAaH4jpjkSv/uCaU2p5KC6HVGrvl0cDjA8iBZv4vv1gyzlmK0ZUKqwpOyQMKzZQe3lTit77A=="],
-
- "generate-function": ["generate-function@2.3.1", "", { "dependencies": { "is-property": "^1.0.2" } }, "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ=="],
-
- "generator-function": ["generator-function@2.0.1", "", {}, "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g=="],
-
- "generic-names": ["generic-names@4.0.0", "", { "dependencies": { "loader-utils": "^3.2.0" } }, "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A=="],
-
- "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="],
-
- "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="],
-
- "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="],
-
- "get-package-type": ["get-package-type@0.1.0", "", {}, "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q=="],
-
- "get-port": ["get-port@5.1.1", "", {}, "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ=="],
-
- "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="],
-
- "get-stream": ["get-stream@6.0.1", "", {}, "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="],
-
- "get-symbol-description": ["get-symbol-description@1.1.0", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6" } }, "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg=="],
-
- "get-tsconfig": ["get-tsconfig@4.13.0", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ=="],
-
- "get-uri": ["get-uri@6.0.5", "", { "dependencies": { "basic-ftp": "^5.0.2", "data-uri-to-buffer": "^6.0.2", "debug": "^4.3.4" } }, "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg=="],
-
- "getopts": ["getopts@2.3.0", "", {}, "sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA=="],
-
- "getpass": ["getpass@0.1.7", "", { "dependencies": { "assert-plus": "^1.0.0" } }, "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng=="],
-
- "git-up": ["git-up@7.0.0", "", { "dependencies": { "is-ssh": "^1.4.0", "parse-url": "^8.1.0" } }, "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ=="],
-
- "git-url-parse": ["git-url-parse@14.1.0", "", { "dependencies": { "git-up": "^7.0.0" } }, "sha512-8xg65dTxGHST3+zGpycMMFZcoTzAdZ2dOtu4vmgIfkTFnVHBxHMzBC2L1k8To7EmrSiHesT8JgPLT91VKw1B5g=="],
-
- "glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="],
-
- "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="],
-
- "glob-to-regex.js": ["glob-to-regex.js@1.2.0", "", { "peerDependencies": { "tslib": "2" } }, "sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ=="],
-
- "glob-to-regexp": ["glob-to-regexp@0.4.1", "", {}, "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="],
-
- "global-agent": ["global-agent@3.0.0", "", { "dependencies": { "boolean": "^3.0.1", "es6-error": "^4.1.1", "matcher": "^3.0.0", "roarr": "^2.15.3", "semver": "^7.3.2", "serialize-error": "^7.0.1" } }, "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q=="],
-
- "global-modules": ["global-modules@2.0.0", "", { "dependencies": { "global-prefix": "^3.0.0" } }, "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A=="],
-
- "global-prefix": ["global-prefix@3.0.0", "", { "dependencies": { "ini": "^1.3.5", "kind-of": "^6.0.2", "which": "^1.3.1" } }, "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg=="],
-
- "globals": ["globals@13.24.0", "", { "dependencies": { "type-fest": "^0.20.2" } }, "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ=="],
-
- "globalthis": ["globalthis@1.0.4", "", { "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" } }, "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ=="],
-
- "globby": ["globby@11.1.0", "", { "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", "fast-glob": "^3.2.9", "ignore": "^5.2.0", "merge2": "^1.4.1", "slash": "^3.0.0" } }, "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g=="],
-
- "google-auth-library": ["google-auth-library@9.15.1", "", { "dependencies": { "base64-js": "^1.3.0", "ecdsa-sig-formatter": "^1.0.11", "gaxios": "^6.1.1", "gcp-metadata": "^6.1.0", "gtoken": "^7.0.0", "jws": "^4.0.0" } }, "sha512-Jb6Z0+nvECVz+2lzSMt9u98UsoakXxA2HGHMCxh+so3n90XgYWkq5dur19JAJV7ONiJY22yBTyJB1TSkvPq9Ng=="],
-
- "google-gax": ["google-gax@4.6.1", "", { "dependencies": { "@grpc/grpc-js": "^1.10.9", "@grpc/proto-loader": "^0.7.13", "@types/long": "^4.0.0", "abort-controller": "^3.0.0", "duplexify": "^4.0.0", "google-auth-library": "^9.3.0", "node-fetch": "^2.7.0", "object-hash": "^3.0.0", "proto3-json-serializer": "^2.0.2", "protobufjs": "^7.3.2", "retry-request": "^7.0.0", "uuid": "^9.0.1" } }, "sha512-V6eky/xz2mcKfAd1Ioxyd6nmA61gao3n01C+YeuIwu3vzM9EDR6wcVzMSIbLMDXWeoi9SHYctXuKYC5uJUT3eQ=="],
-
- "google-logging-utils": ["google-logging-utils@0.0.2", "", {}, "sha512-NEgUnEcBiP5HrPzufUkBzJOD/Sxsco3rLNo1F1TNf7ieU8ryUzBhqba8r756CjLX7rn3fHl6iLEwPYuqpoKgQQ=="],
-
- "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="],
-
- "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="],
-
- "graphemer": ["graphemer@1.4.0", "", {}, "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="],
-
- "graphlib": ["graphlib@2.1.8", "", { "dependencies": { "lodash": "^4.17.15" } }, "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A=="],
-
- "graphql": ["graphql@16.12.0", "", {}, "sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ=="],
-
- "graphql-http": ["graphql-http@1.22.4", "", { "peerDependencies": { "graphql": ">=0.11 <=16" } }, "sha512-OC3ucK988teMf+Ak/O+ZJ0N2ukcgrEurypp8ePyJFWq83VzwRAmHxxr+XxrMpxO/FIwI4a7m/Fzv3tWGJv0wPA=="],
-
- "graphql-subscriptions": ["graphql-subscriptions@1.2.1", "", { "dependencies": { "iterall": "^1.3.0" }, "peerDependencies": { "graphql": "^0.10.5 || ^0.11.3 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0" } }, "sha512-95yD/tKi24q8xYa7Q9rhQN16AYj5wPbrb8tmHGM3WRc9EBmWrG/0kkMl+tQG8wcEuE9ibR4zyOM31p5Sdr2v4g=="],
-
- "graphql-tag": ["graphql-tag@2.12.6", "", { "dependencies": { "tslib": "^2.1.0" }, "peerDependencies": { "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg=="],
-
- "gtoken": ["gtoken@7.1.0", "", { "dependencies": { "gaxios": "^6.0.0", "jws": "^4.0.0" } }, "sha512-pCcEwRi+TKpMlxAQObHDQ56KawURgyAf6jtIY046fJ5tIv3zDe/LEIubckAO8fj6JnAxLdmWkUfNyulQ2iKdEw=="],
-
- "gzip-size": ["gzip-size@6.0.0", "", { "dependencies": { "duplexer": "^0.1.2" } }, "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q=="],
-
- "handle-thing": ["handle-thing@2.0.1", "", {}, "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg=="],
-
- "handlebars": ["handlebars@4.7.8", "", { "dependencies": { "minimist": "^1.2.5", "neo-async": "^2.6.2", "source-map": "^0.6.1", "wordwrap": "^1.0.0" }, "optionalDependencies": { "uglify-js": "^3.1.4" }, "bin": { "handlebars": "bin/handlebars" } }, "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ=="],
-
- "happy-dom": ["happy-dom@13.10.1", "", { "dependencies": { "entities": "^4.5.0", "webidl-conversions": "^7.0.0", "whatwg-mimetype": "^3.0.0" } }, "sha512-9GZLEFvQL5EgfJX2zcBgu1nsPUn98JF/EiJnSfQbdxI6YEQGqpd09lXXxOmYonRBIEFz9JlGCOiPflDzgS1p8w=="],
-
- "har-schema": ["har-schema@2.0.0", "", {}, "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q=="],
-
- "har-validator": ["har-validator@5.1.5", "", { "dependencies": { "ajv": "^6.12.3", "har-schema": "^2.0.0" } }, "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w=="],
-
- "harmony-reflect": ["harmony-reflect@1.6.2", "", {}, "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g=="],
-
- "has-bigints": ["has-bigints@1.1.0", "", {}, "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg=="],
-
- "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="],
-
- "has-property-descriptors": ["has-property-descriptors@1.0.2", "", { "dependencies": { "es-define-property": "^1.0.0" } }, "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg=="],
-
- "has-proto": ["has-proto@1.2.0", "", { "dependencies": { "dunder-proto": "^1.0.0" } }, "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ=="],
-
- "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="],
-
- "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="],
-
- "hash-base": ["hash-base@3.0.5", "", { "dependencies": { "inherits": "^2.0.4", "safe-buffer": "^5.2.1" } }, "sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg=="],
-
- "hash.js": ["hash.js@1.1.7", "", { "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" } }, "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA=="],
-
- "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="],
-
- "hast-util-parse-selector": ["hast-util-parse-selector@2.2.5", "", {}, "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ=="],
-
- "hast-util-whitespace": ["hast-util-whitespace@2.0.1", "", {}, "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng=="],
-
- "hastscript": ["hastscript@6.0.0", "", { "dependencies": { "@types/hast": "^2.0.0", "comma-separated-tokens": "^1.0.0", "hast-util-parse-selector": "^2.0.0", "property-information": "^5.0.0", "space-separated-tokens": "^1.0.0" } }, "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w=="],
-
- "he": ["he@1.2.0", "", { "bin": { "he": "bin/he" } }, "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="],
-
- "headers-polyfill": ["headers-polyfill@4.0.3", "", {}, "sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ=="],
-
- "helmet": ["helmet@6.2.0", "", {}, "sha512-DWlwuXLLqbrIOltR6tFQXShj/+7Cyp0gLi6uAb8qMdFh/YBBFbKSgQ6nbXmScYd8emMctuthmgIa7tUfo9Rtyg=="],
-
- "highlight.js": ["highlight.js@10.7.3", "", {}, "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A=="],
-
- "highlightjs-vue": ["highlightjs-vue@1.0.0", "", {}, "sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA=="],
-
- "history": ["history@5.3.0", "", { "dependencies": { "@babel/runtime": "^7.7.6" } }, "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ=="],
-
- "hmac-drbg": ["hmac-drbg@1.0.1", "", { "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", "minimalistic-crypto-utils": "^1.0.1" } }, "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg=="],
-
- "hoist-non-react-statics": ["hoist-non-react-statics@3.3.2", "", { "dependencies": { "react-is": "^16.7.0" } }, "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw=="],
-
- "homedir-polyfill": ["homedir-polyfill@1.0.3", "", { "dependencies": { "parse-passwd": "^1.0.0" } }, "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA=="],
-
- "hono": ["hono@4.11.2", "", {}, "sha512-o+avdUAD1v94oHkjGBhiMhBV4WBHxhbu0+CUVH78hhphKy/OKQLxtKjkmmNcrMlbYAhAbsM/9F+l3KnYxyD3Lg=="],
-
- "hoopy": ["hoopy@0.1.4", "", {}, "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ=="],
-
- "hpack.js": ["hpack.js@2.1.6", "", { "dependencies": { "inherits": "^2.0.1", "obuf": "^1.0.0", "readable-stream": "^2.0.1", "wbuf": "^1.1.0" } }, "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ=="],
-
- "html-encoding-sniffer": ["html-encoding-sniffer@3.0.0", "", { "dependencies": { "whatwg-encoding": "^2.0.0" } }, "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA=="],
-
- "html-entities": ["html-entities@2.6.0", "", {}, "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ=="],
-
- "html-escaper": ["html-escaper@2.0.2", "", {}, "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg=="],
-
- "html-minifier-terser": ["html-minifier-terser@6.1.0", "", { "dependencies": { "camel-case": "^4.1.2", "clean-css": "^5.2.2", "commander": "^8.3.0", "he": "^1.2.0", "param-case": "^3.0.4", "relateurl": "^0.2.7", "terser": "^5.10.0" }, "bin": { "html-minifier-terser": "cli.js" } }, "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw=="],
-
- "html-webpack-plugin": ["html-webpack-plugin@5.6.5", "", { "dependencies": { "@types/html-minifier-terser": "^6.0.0", "html-minifier-terser": "^6.0.2", "lodash": "^4.17.21", "pretty-error": "^4.0.0", "tapable": "^2.0.0" }, "peerDependencies": { "@rspack/core": "0.x || 1.x", "webpack": "^5.20.0" }, "optionalPeers": ["@rspack/core", "webpack"] }, "sha512-4xynFbKNNk+WlzXeQQ+6YYsH2g7mpfPszQZUi3ovKlj+pDmngQ7vRXjrrmGROabmKwyQkcgcX5hqfOwHbFmK5g=="],
-
- "htmlparser2": ["htmlparser2@6.1.0", "", { "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", "domutils": "^2.5.2", "entities": "^2.0.0" } }, "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A=="],
-
- "http-assert": ["http-assert@1.5.0", "", { "dependencies": { "deep-equal": "~1.0.1", "http-errors": "~1.8.0" } }, "sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w=="],
-
- "http-deceiver": ["http-deceiver@1.2.7", "", {}, "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw=="],
-
- "http-encoding": ["http-encoding@2.1.1", "", { "dependencies": { "brotli-wasm": "^3.0.0", "pify": "^5.0.0", "zstd-codec": "^0.1.5" } }, "sha512-3QaTIBHWLcmq63sSKHVGiUExX+XnOQx1szJJH6wJgyWyXDpSdmKiaBXN/5xF74eToh0VujfJGFBF3tunaK2ZQA=="],
-
- "http-errors": ["http-errors@2.0.1", "", { "dependencies": { "depd": "~2.0.0", "inherits": "~2.0.4", "setprototypeof": "~1.2.0", "statuses": "~2.0.2", "toidentifier": "~1.0.1" } }, "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ=="],
-
- "http-parser-js": ["http-parser-js@0.5.10", "", {}, "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA=="],
-
- "http-proxy": ["http-proxy@1.18.1", "", { "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" } }, "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ=="],
-
- "http-proxy-agent": ["http-proxy-agent@5.0.0", "", { "dependencies": { "@tootallnate/once": "2", "agent-base": "6", "debug": "4" } }, "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w=="],
-
- "http-proxy-middleware": ["http-proxy-middleware@2.0.9", "", { "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", "is-glob": "^4.0.1", "is-plain-obj": "^3.0.0", "micromatch": "^4.0.2" }, "peerDependencies": { "@types/express": "^4.17.13" }, "optionalPeers": ["@types/express"] }, "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q=="],
-
- "http-signature": ["http-signature@1.2.0", "", { "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", "sshpk": "^1.7.0" } }, "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ=="],
-
- "http2-wrapper": ["http2-wrapper@2.2.1", "", { "dependencies": { "quick-lru": "^5.1.1", "resolve-alpn": "^1.2.0" } }, "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ=="],
-
- "https-browserify": ["https-browserify@1.0.0", "", {}, "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg=="],
-
- "https-proxy-agent": ["https-proxy-agent@5.0.1", "", { "dependencies": { "agent-base": "6", "debug": "4" } }, "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA=="],
-
- "human-signals": ["human-signals@2.1.0", "", {}, "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="],
-
- "hyperdyperid": ["hyperdyperid@1.2.0", "", {}, "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A=="],
-
- "hyphenate-style-name": ["hyphenate-style-name@1.1.0", "", {}, "sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw=="],
-
- "i18next": ["i18next@22.5.1", "", { "dependencies": { "@babel/runtime": "^7.20.6" } }, "sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA=="],
-
- "iconv-lite": ["iconv-lite@0.7.1", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw=="],
-
- "icss-replace-symbols": ["icss-replace-symbols@1.1.0", "", {}, "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg=="],
-
- "icss-utils": ["icss-utils@5.1.0", "", { "peerDependencies": { "postcss": "^8.1.0" } }, "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA=="],
-
- "identity-obj-proxy": ["identity-obj-proxy@3.0.0", "", { "dependencies": { "harmony-reflect": "^1.4.6" } }, "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA=="],
-
- "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="],
-
- "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="],
-
- "ignore-walk": ["ignore-walk@5.0.1", "", { "dependencies": { "minimatch": "^5.0.1" } }, "sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw=="],
-
- "immer": ["immer@9.0.21", "", {}, "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA=="],
-
- "import-cwd": ["import-cwd@3.0.0", "", { "dependencies": { "import-from": "^3.0.0" } }, "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg=="],
-
- "import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="],
-
- "import-from": ["import-from@3.0.0", "", { "dependencies": { "resolve-from": "^5.0.0" } }, "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ=="],
-
- "import-local": ["import-local@3.2.0", "", { "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" }, "bin": { "import-local-fixture": "fixtures/cli.js" } }, "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA=="],
-
- "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="],
-
- "inflight": ["inflight@1.0.6", "", { "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="],
-
- "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="],
-
- "ini": ["ini@1.3.8", "", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="],
-
- "inline-style-parser": ["inline-style-parser@0.1.1", "", {}, "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="],
-
- "inline-style-prefixer": ["inline-style-prefixer@7.0.1", "", { "dependencies": { "css-in-js-utils": "^3.1.0" } }, "sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw=="],
-
- "inquirer": ["inquirer@8.2.7", "", { "dependencies": { "@inquirer/external-editor": "^1.0.0", "ansi-escapes": "^4.2.1", "chalk": "^4.1.1", "cli-cursor": "^3.1.0", "cli-width": "^3.0.0", "figures": "^3.0.0", "lodash": "^4.17.21", "mute-stream": "0.0.8", "ora": "^5.4.1", "run-async": "^2.4.0", "rxjs": "^7.5.5", "string-width": "^4.1.0", "strip-ansi": "^6.0.0", "through": "^2.3.6", "wrap-ansi": "^6.0.1" } }, "sha512-UjOaSel/iddGZJ5xP/Eixh6dY1XghiBw4XK13rCCIJcJfyhhoul/7KhLLUGtebEj6GDYM6Vnx/mVsjx2L/mFIA=="],
-
- "internal-slot": ["internal-slot@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.2", "side-channel": "^1.1.0" } }, "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw=="],
-
- "interpret": ["interpret@2.2.0", "", {}, "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw=="],
-
- "intl-messageformat": ["intl-messageformat@10.7.18", "", { "dependencies": { "@formatjs/ecma402-abstract": "2.3.6", "@formatjs/fast-memoize": "2.2.7", "@formatjs/icu-messageformat-parser": "2.11.4", "tslib": "^2.8.0" } }, "sha512-m3Ofv/X/tV8Y3tHXLohcuVuhWKo7BBq62cqY15etqmLxg2DZ34AGGgQDeR+SCta2+zICb1NX83af0GJmbQ1++g=="],
-
- "ioredis": ["ioredis@5.8.2", "", { "dependencies": { "@ioredis/commands": "1.4.0", "cluster-key-slot": "^1.1.0", "debug": "^4.3.4", "denque": "^2.1.0", "lodash.defaults": "^4.2.0", "lodash.isarguments": "^3.1.0", "redis-errors": "^1.2.0", "redis-parser": "^3.0.0", "standard-as-callback": "^2.1.0" } }, "sha512-C6uC+kleiIMmjViJINWk80sOQw5lEzse1ZmvD+S/s8p8CWapftSaC+kocGTx6xrbrJ4WmYQGC08ffHLr6ToR6Q=="],
-
- "ip-address": ["ip-address@10.1.0", "", {}, "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q=="],
-
- "ipaddr.js": ["ipaddr.js@2.3.0", "", {}, "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg=="],
-
- "is-alphabetical": ["is-alphabetical@1.0.4", "", {}, "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg=="],
-
- "is-alphanumerical": ["is-alphanumerical@1.0.4", "", { "dependencies": { "is-alphabetical": "^1.0.0", "is-decimal": "^1.0.0" } }, "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A=="],
-
- "is-arguments": ["is-arguments@1.2.0", "", { "dependencies": { "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" } }, "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA=="],
-
- "is-array-buffer": ["is-array-buffer@3.0.5", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "get-intrinsic": "^1.2.6" } }, "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A=="],
-
- "is-arrayish": ["is-arrayish@0.2.1", "", {}, "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="],
-
- "is-async-function": ["is-async-function@2.1.1", "", { "dependencies": { "async-function": "^1.0.0", "call-bound": "^1.0.3", "get-proto": "^1.0.1", "has-tostringtag": "^1.0.2", "safe-regex-test": "^1.1.0" } }, "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ=="],
-
- "is-bigint": ["is-bigint@1.1.0", "", { "dependencies": { "has-bigints": "^1.0.2" } }, "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ=="],
-
- "is-binary-path": ["is-binary-path@2.1.0", "", { "dependencies": { "binary-extensions": "^2.0.0" } }, "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="],
-
- "is-boolean-object": ["is-boolean-object@1.2.2", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A=="],
-
- "is-buffer": ["is-buffer@2.0.5", "", {}, "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ=="],
-
- "is-callable": ["is-callable@1.2.7", "", {}, "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="],
-
- "is-core-module": ["is-core-module@2.16.1", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="],
-
- "is-data-view": ["is-data-view@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "get-intrinsic": "^1.2.6", "is-typed-array": "^1.1.13" } }, "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw=="],
-
- "is-date-object": ["is-date-object@1.1.0", "", { "dependencies": { "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" } }, "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg=="],
-
- "is-decimal": ["is-decimal@1.0.4", "", {}, "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw=="],
-
- "is-docker": ["is-docker@2.2.1", "", { "bin": { "is-docker": "cli.js" } }, "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="],
-
- "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="],
-
- "is-finalizationregistry": ["is-finalizationregistry@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3" } }, "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg=="],
-
- "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="],
-
- "is-generator-fn": ["is-generator-fn@2.1.0", "", {}, "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ=="],
-
- "is-generator-function": ["is-generator-function@1.1.2", "", { "dependencies": { "call-bound": "^1.0.4", "generator-function": "^2.0.0", "get-proto": "^1.0.1", "has-tostringtag": "^1.0.2", "safe-regex-test": "^1.1.0" } }, "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA=="],
-
- "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="],
-
- "is-hexadecimal": ["is-hexadecimal@1.0.4", "", {}, "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw=="],
-
- "is-in-browser": ["is-in-browser@1.1.3", "", {}, "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g=="],
-
- "is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": { "is-inside-container": "cli.js" } }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="],
-
- "is-interactive": ["is-interactive@1.0.0", "", {}, "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="],
-
- "is-map": ["is-map@2.0.3", "", {}, "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw=="],
-
- "is-module": ["is-module@1.0.0", "", {}, "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g=="],
-
- "is-negative-zero": ["is-negative-zero@2.0.3", "", {}, "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw=="],
-
- "is-network-error": ["is-network-error@1.3.0", "", {}, "sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw=="],
-
- "is-node-process": ["is-node-process@1.2.0", "", {}, "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw=="],
-
- "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="],
-
- "is-number-object": ["is-number-object@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw=="],
-
- "is-path-inside": ["is-path-inside@3.0.3", "", {}, "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ=="],
-
- "is-plain-obj": ["is-plain-obj@3.0.0", "", {}, "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA=="],
-
- "is-plain-object": ["is-plain-object@5.0.0", "", {}, "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="],
-
- "is-potential-custom-element-name": ["is-potential-custom-element-name@1.0.1", "", {}, "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ=="],
-
- "is-promise": ["is-promise@4.0.0", "", {}, "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ=="],
-
- "is-property": ["is-property@1.0.2", "", {}, "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g=="],
-
- "is-reference": ["is-reference@1.2.1", "", { "dependencies": { "@types/estree": "*" } }, "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ=="],
-
- "is-regex": ["is-regex@1.2.1", "", { "dependencies": { "call-bound": "^1.0.2", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g=="],
-
- "is-root": ["is-root@2.1.0", "", {}, "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg=="],
-
- "is-set": ["is-set@2.0.3", "", {}, "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg=="],
-
- "is-shared-array-buffer": ["is-shared-array-buffer@1.0.4", "", { "dependencies": { "call-bound": "^1.0.3" } }, "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A=="],
-
- "is-ssh": ["is-ssh@1.4.1", "", { "dependencies": { "protocols": "^2.0.1" } }, "sha512-JNeu1wQsHjyHgn9NcWTaXq6zWSR6hqE0++zhfZlkFBbScNkyvxCdeV8sRkSBaeLKxmbpR21brail63ACNxJ0Tg=="],
-
- "is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="],
-
- "is-string": ["is-string@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA=="],
-
- "is-symbol": ["is-symbol@1.1.1", "", { "dependencies": { "call-bound": "^1.0.2", "has-symbols": "^1.1.0", "safe-regex-test": "^1.1.0" } }, "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w=="],
-
- "is-typed-array": ["is-typed-array@1.1.15", "", { "dependencies": { "which-typed-array": "^1.1.16" } }, "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ=="],
-
- "is-typedarray": ["is-typedarray@1.0.0", "", {}, "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="],
-
- "is-unicode-supported": ["is-unicode-supported@0.1.0", "", {}, "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw=="],
-
- "is-weakmap": ["is-weakmap@2.0.2", "", {}, "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w=="],
-
- "is-weakref": ["is-weakref@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3" } }, "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew=="],
-
- "is-weakset": ["is-weakset@2.0.4", "", { "dependencies": { "call-bound": "^1.0.3", "get-intrinsic": "^1.2.6" } }, "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ=="],
-
- "is-windows": ["is-windows@1.0.2", "", {}, "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="],
-
- "is-wsl": ["is-wsl@2.2.0", "", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="],
-
- "isarray": ["isarray@1.0.0", "", {}, "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="],
-
- "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="],
-
- "isomorphic-git": ["isomorphic-git@1.36.1", "", { "dependencies": { "async-lock": "^1.4.1", "clean-git-ref": "^2.0.1", "crc-32": "^1.2.0", "diff3": "0.0.3", "ignore": "^5.1.4", "minimisted": "^2.0.0", "pako": "^1.0.10", "pify": "^4.0.1", "readable-stream": "^4.0.0", "sha.js": "^2.4.12", "simple-get": "^4.0.1" }, "bin": { "isogit": "cli.cjs" } }, "sha512-fC8SRT8MwoaXDK8G4z5biPEbqf2WyEJUb2MJ2ftSd39/UIlsnoZxLGux+lae0poLZO4AEcx6aUVOh5bV+P8zFA=="],
-
- "isomorphic-rslog": ["isomorphic-rslog@0.0.5", "", {}, "sha512-pkU3vvajRJ0LKLaMFy8Cj7ElbFUdkQKVhUk+DQsVCYsLW4uulU65C2s3l+Sm5OtiOwprzkYYcAIJa/COwCYHWA=="],
-
- "isomorphic-ws": ["isomorphic-ws@5.0.0", "", { "peerDependencies": { "ws": "*" } }, "sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw=="],
-
- "isstream": ["isstream@0.1.2", "", {}, "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g=="],
-
- "istanbul-lib-coverage": ["istanbul-lib-coverage@3.2.2", "", {}, "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg=="],
-
- "istanbul-lib-instrument": ["istanbul-lib-instrument@6.0.3", "", { "dependencies": { "@babel/core": "^7.23.9", "@babel/parser": "^7.23.9", "@istanbuljs/schema": "^0.1.3", "istanbul-lib-coverage": "^3.2.0", "semver": "^7.5.4" } }, "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q=="],
-
- "istanbul-lib-report": ["istanbul-lib-report@3.0.1", "", { "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", "supports-color": "^7.1.0" } }, "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw=="],
-
- "istanbul-lib-source-maps": ["istanbul-lib-source-maps@4.0.1", "", { "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", "source-map": "^0.6.1" } }, "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw=="],
-
- "istanbul-reports": ["istanbul-reports@3.2.0", "", { "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" } }, "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA=="],
-
- "iterall": ["iterall@1.3.0", "", {}, "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg=="],
-
- "iterator.prototype": ["iterator.prototype@1.1.5", "", { "dependencies": { "define-data-property": "^1.1.4", "es-object-atoms": "^1.0.0", "get-intrinsic": "^1.2.6", "get-proto": "^1.0.0", "has-symbols": "^1.1.0", "set-function-name": "^2.0.2" } }, "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g=="],
-
- "jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="],
-
- "jest": ["jest@29.7.0", "", { "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", "import-local": "^3.0.2", "jest-cli": "^29.7.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "optionalPeers": ["node-notifier"], "bin": { "jest": "bin/jest.js" } }, "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw=="],
-
- "jest-changed-files": ["jest-changed-files@29.7.0", "", { "dependencies": { "execa": "^5.0.0", "jest-util": "^29.7.0", "p-limit": "^3.1.0" } }, "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w=="],
-
- "jest-circus": ["jest-circus@29.7.0", "", { "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^1.0.0", "is-generator-fn": "^2.0.0", "jest-each": "^29.7.0", "jest-matcher-utils": "^29.7.0", "jest-message-util": "^29.7.0", "jest-runtime": "^29.7.0", "jest-snapshot": "^29.7.0", "jest-util": "^29.7.0", "p-limit": "^3.1.0", "pretty-format": "^29.7.0", "pure-rand": "^6.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw=="],
-
- "jest-cli": ["jest-cli@29.7.0", "", { "dependencies": { "@jest/core": "^29.7.0", "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", "chalk": "^4.0.0", "create-jest": "^29.7.0", "exit": "^0.1.2", "import-local": "^3.0.2", "jest-config": "^29.7.0", "jest-util": "^29.7.0", "jest-validate": "^29.7.0", "yargs": "^17.3.1" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "optionalPeers": ["node-notifier"], "bin": { "jest": "bin/jest.js" } }, "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg=="],
-
- "jest-config": ["jest-config@29.7.0", "", { "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.7.0", "@jest/types": "^29.6.3", "babel-jest": "^29.7.0", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", "jest-circus": "^29.7.0", "jest-environment-node": "^29.7.0", "jest-get-type": "^29.6.3", "jest-regex-util": "^29.6.3", "jest-resolve": "^29.7.0", "jest-runner": "^29.7.0", "jest-util": "^29.7.0", "jest-validate": "^29.7.0", "micromatch": "^4.0.4", "parse-json": "^5.2.0", "pretty-format": "^29.7.0", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, "peerDependencies": { "@types/node": "*", "ts-node": ">=9.0.0" }, "optionalPeers": ["@types/node", "ts-node"] }, "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ=="],
-
- "jest-css-modules": ["jest-css-modules@2.1.0", "", { "dependencies": { "identity-obj-proxy": "3.0.0" } }, "sha512-my3Scnt6l2tOll/eGwNZeh1KLAFkNzdl4MyZRdpl46GO6/93JcKKdTjNqK6Nokg8A8rT84MFLOpY1pzqKBEqMw=="],
-
- "jest-diff": ["jest-diff@29.7.0", "", { "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" } }, "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw=="],
-
- "jest-docblock": ["jest-docblock@29.7.0", "", { "dependencies": { "detect-newline": "^3.0.0" } }, "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g=="],
-
- "jest-each": ["jest-each@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", "jest-get-type": "^29.6.3", "jest-util": "^29.7.0", "pretty-format": "^29.7.0" } }, "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ=="],
-
- "jest-environment-jsdom": ["jest-environment-jsdom@29.7.0", "", { "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", "@types/jsdom": "^20.0.0", "@types/node": "*", "jest-mock": "^29.7.0", "jest-util": "^29.7.0", "jsdom": "^20.0.0" }, "peerDependencies": { "canvas": "^2.5.0" }, "optionalPeers": ["canvas"] }, "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA=="],
-
- "jest-environment-node": ["jest-environment-node@29.7.0", "", { "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "jest-mock": "^29.7.0", "jest-util": "^29.7.0" } }, "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw=="],
-
- "jest-get-type": ["jest-get-type@29.6.3", "", {}, "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw=="],
-
- "jest-haste-map": ["jest-haste-map@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", "jest-regex-util": "^29.6.3", "jest-util": "^29.7.0", "jest-worker": "^29.7.0", "micromatch": "^4.0.4", "walker": "^1.0.8" }, "optionalDependencies": { "fsevents": "^2.3.2" } }, "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA=="],
-
- "jest-leak-detector": ["jest-leak-detector@29.7.0", "", { "dependencies": { "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" } }, "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw=="],
-
- "jest-matcher-utils": ["jest-matcher-utils@29.7.0", "", { "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" } }, "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g=="],
-
- "jest-message-util": ["jest-message-util@29.7.0", "", { "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", "pretty-format": "^29.7.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w=="],
-
- "jest-mock": ["jest-mock@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", "jest-util": "^29.7.0" } }, "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw=="],
-
- "jest-pnp-resolver": ["jest-pnp-resolver@1.2.3", "", { "peerDependencies": { "jest-resolve": "*" }, "optionalPeers": ["jest-resolve"] }, "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w=="],
-
- "jest-regex-util": ["jest-regex-util@29.6.3", "", {}, "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg=="],
-
- "jest-resolve": ["jest-resolve@29.7.0", "", { "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "jest-haste-map": "^29.7.0", "jest-pnp-resolver": "^1.2.2", "jest-util": "^29.7.0", "jest-validate": "^29.7.0", "resolve": "^1.20.0", "resolve.exports": "^2.0.0", "slash": "^3.0.0" } }, "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA=="],
-
- "jest-resolve-dependencies": ["jest-resolve-dependencies@29.7.0", "", { "dependencies": { "jest-regex-util": "^29.6.3", "jest-snapshot": "^29.7.0" } }, "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA=="],
-
- "jest-runner": ["jest-runner@29.7.0", "", { "dependencies": { "@jest/console": "^29.7.0", "@jest/environment": "^29.7.0", "@jest/test-result": "^29.7.0", "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.13.1", "graceful-fs": "^4.2.9", "jest-docblock": "^29.7.0", "jest-environment-node": "^29.7.0", "jest-haste-map": "^29.7.0", "jest-leak-detector": "^29.7.0", "jest-message-util": "^29.7.0", "jest-resolve": "^29.7.0", "jest-runtime": "^29.7.0", "jest-util": "^29.7.0", "jest-watcher": "^29.7.0", "jest-worker": "^29.7.0", "p-limit": "^3.1.0", "source-map-support": "0.5.13" } }, "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ=="],
-
- "jest-runtime": ["jest-runtime@29.7.0", "", { "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", "@jest/globals": "^29.7.0", "@jest/source-map": "^29.6.3", "@jest/test-result": "^29.7.0", "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", "jest-haste-map": "^29.7.0", "jest-message-util": "^29.7.0", "jest-mock": "^29.7.0", "jest-regex-util": "^29.6.3", "jest-resolve": "^29.7.0", "jest-snapshot": "^29.7.0", "jest-util": "^29.7.0", "slash": "^3.0.0", "strip-bom": "^4.0.0" } }, "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ=="],
-
- "jest-snapshot": ["jest-snapshot@29.7.0", "", { "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", "@babel/plugin-syntax-jsx": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/types": "^7.3.3", "@jest/expect-utils": "^29.7.0", "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", "expect": "^29.7.0", "graceful-fs": "^4.2.9", "jest-diff": "^29.7.0", "jest-get-type": "^29.6.3", "jest-matcher-utils": "^29.7.0", "jest-message-util": "^29.7.0", "jest-util": "^29.7.0", "natural-compare": "^1.4.0", "pretty-format": "^29.7.0", "semver": "^7.5.3" } }, "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw=="],
-
- "jest-util": ["jest-util@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", "graceful-fs": "^4.2.9", "picomatch": "^2.2.3" } }, "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA=="],
-
- "jest-validate": ["jest-validate@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", "chalk": "^4.0.0", "jest-get-type": "^29.6.3", "leven": "^3.1.0", "pretty-format": "^29.7.0" } }, "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw=="],
-
- "jest-watcher": ["jest-watcher@29.7.0", "", { "dependencies": { "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.13.1", "jest-util": "^29.7.0", "string-length": "^4.0.1" } }, "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g=="],
-
- "jest-worker": ["jest-worker@29.7.0", "", { "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" } }, "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw=="],
-
- "jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="],
-
- "jose": ["jose@5.10.0", "", {}, "sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg=="],
-
- "js-base64": ["js-base64@3.7.8", "", {}, "sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow=="],
-
- "js-cookie": ["js-cookie@2.2.1", "", {}, "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ=="],
-
- "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="],
-
- "js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="],
-
- "jsbn": ["jsbn@0.1.1", "", {}, "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg=="],
-
- "jsdom": ["jsdom@20.0.3", "", { "dependencies": { "abab": "^2.0.6", "acorn": "^8.8.1", "acorn-globals": "^7.0.0", "cssom": "^0.5.0", "cssstyle": "^2.3.0", "data-urls": "^3.0.2", "decimal.js": "^10.4.2", "domexception": "^4.0.0", "escodegen": "^2.0.0", "form-data": "^4.0.0", "html-encoding-sniffer": "^3.0.0", "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.1", "is-potential-custom-element-name": "^1.0.1", "nwsapi": "^2.2.2", "parse5": "^7.1.1", "saxes": "^6.0.0", "symbol-tree": "^3.2.4", "tough-cookie": "^4.1.2", "w3c-xmlserializer": "^4.0.0", "webidl-conversions": "^7.0.0", "whatwg-encoding": "^2.0.0", "whatwg-mimetype": "^3.0.0", "whatwg-url": "^11.0.0", "ws": "^8.11.0", "xml-name-validator": "^4.0.0" }, "peerDependencies": { "canvas": "^2.5.0" }, "optionalPeers": ["canvas"] }, "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ=="],
-
- "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="],
-
- "json-bigint": ["json-bigint@1.0.0", "", { "dependencies": { "bignumber.js": "^9.0.0" } }, "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ=="],
-
- "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="],
-
- "json-parse-even-better-errors": ["json-parse-even-better-errors@2.3.1", "", {}, "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="],
-
- "json-schema": ["json-schema@0.4.0", "", {}, "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="],
-
- "json-schema-compare": ["json-schema-compare@0.2.2", "", { "dependencies": { "lodash": "^4.17.4" } }, "sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ=="],
-
- "json-schema-merge-allof": ["json-schema-merge-allof@0.8.1", "", { "dependencies": { "compute-lcm": "^1.1.2", "json-schema-compare": "^0.2.2", "lodash": "^4.17.20" } }, "sha512-CTUKmIlPJbsWfzRRnOXz+0MjIqvnleIXwFTzz+t9T86HnYX/Rozria6ZVGLktAU9e+NygNljveP+yxqtQp/Q4w=="],
-
- "json-schema-to-ts": ["json-schema-to-ts@3.1.1", "", { "dependencies": { "@babel/runtime": "^7.18.3", "ts-algebra": "^2.0.0" } }, "sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g=="],
-
- "json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="],
-
- "json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="],
-
- "json-stringify-safe": ["json-stringify-safe@5.0.1", "", {}, "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="],
-
- "json5": ["json5@2.2.3", "", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="],
-
- "jsonc-parser": ["jsonc-parser@3.3.1", "", {}, "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ=="],
-
- "jsonfile": ["jsonfile@6.2.0", "", { "dependencies": { "universalify": "^2.0.0" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg=="],
-
- "jsonpath": ["jsonpath@1.1.1", "", { "dependencies": { "esprima": "1.2.2", "static-eval": "2.0.2", "underscore": "1.12.1" } }, "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w=="],
-
- "jsonpath-plus": ["jsonpath-plus@7.2.0", "", {}, "sha512-zBfiUPM5nD0YZSBT/o/fbCUlCcepMIdP0CJZxM1+KgA4f2T206f6VAg9e7mX35+KlMaIc5qXW34f3BnwJ3w+RA=="],
-
- "jsonpointer": ["jsonpointer@5.0.1", "", {}, "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ=="],
-
- "jsonwebtoken": ["jsonwebtoken@9.0.3", "", { "dependencies": { "jws": "^4.0.1", "lodash.includes": "^4.3.0", "lodash.isboolean": "^3.0.3", "lodash.isinteger": "^4.0.4", "lodash.isnumber": "^3.0.3", "lodash.isplainobject": "^4.0.6", "lodash.isstring": "^4.0.1", "lodash.once": "^4.0.0", "ms": "^2.1.1", "semver": "^7.5.4" } }, "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g=="],
-
- "jsprim": ["jsprim@1.4.2", "", { "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", "json-schema": "0.4.0", "verror": "1.10.0" } }, "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw=="],
-
- "jss": ["jss@10.10.0", "", { "dependencies": { "@babel/runtime": "^7.3.1", "csstype": "^3.0.2", "is-in-browser": "^1.1.3", "tiny-warning": "^1.0.2" } }, "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw=="],
-
- "jss-plugin-camel-case": ["jss-plugin-camel-case@10.10.0", "", { "dependencies": { "@babel/runtime": "^7.3.1", "hyphenate-style-name": "^1.0.3", "jss": "10.10.0" } }, "sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw=="],
-
- "jss-plugin-default-unit": ["jss-plugin-default-unit@10.10.0", "", { "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0" } }, "sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ=="],
-
- "jss-plugin-global": ["jss-plugin-global@10.10.0", "", { "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0" } }, "sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A=="],
-
- "jss-plugin-nested": ["jss-plugin-nested@10.10.0", "", { "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0", "tiny-warning": "^1.0.2" } }, "sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA=="],
-
- "jss-plugin-props-sort": ["jss-plugin-props-sort@10.10.0", "", { "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0" } }, "sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg=="],
-
- "jss-plugin-rule-value-function": ["jss-plugin-rule-value-function@10.10.0", "", { "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0", "tiny-warning": "^1.0.2" } }, "sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g=="],
-
- "jss-plugin-vendor-prefixer": ["jss-plugin-vendor-prefixer@10.10.0", "", { "dependencies": { "@babel/runtime": "^7.3.1", "css-vendor": "^2.0.8", "jss": "10.10.0" } }, "sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg=="],
-
- "jsx-ast-utils": ["jsx-ast-utils@3.3.5", "", { "dependencies": { "array-includes": "^3.1.6", "array.prototype.flat": "^1.3.1", "object.assign": "^4.1.4", "object.values": "^1.1.6" } }, "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ=="],
-
- "jwa": ["jwa@2.0.1", "", { "dependencies": { "buffer-equal-constant-time": "^1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg=="],
-
- "jws": ["jws@4.0.1", "", { "dependencies": { "jwa": "^2.0.1", "safe-buffer": "^5.0.1" } }, "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA=="],
-
- "keygrip": ["keygrip@1.1.0", "", { "dependencies": { "tsscmp": "1.0.6" } }, "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ=="],
-
- "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="],
-
- "kind-of": ["kind-of@6.0.3", "", {}, "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="],
-
- "kleur": ["kleur@3.0.3", "", {}, "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="],
-
- "knex": ["knex@3.1.0", "", { "dependencies": { "colorette": "2.0.19", "commander": "^10.0.0", "debug": "4.3.4", "escalade": "^3.1.1", "esm": "^3.2.25", "get-package-type": "^0.1.0", "getopts": "2.3.0", "interpret": "^2.2.0", "lodash": "^4.17.21", "pg-connection-string": "2.6.2", "rechoir": "^0.8.0", "resolve-from": "^5.0.0", "tarn": "^3.0.2", "tildify": "2.0.0" }, "bin": { "knex": "bin/cli.js" } }, "sha512-GLoII6hR0c4ti243gMs5/1Rb3B+AjwMOfjYm97pu0FOQa7JH56hgBxYf5WK2525ceSbBY1cjeZ9yk99GPMB6Kw=="],
-
- "knip": ["knip@5.77.1", "", { "dependencies": { "@nodelib/fs.walk": "^1.2.3", "fast-glob": "^3.3.3", "formatly": "^0.3.0", "jiti": "^2.6.0", "js-yaml": "^4.1.1", "minimist": "^1.2.8", "oxc-resolver": "^11.15.0", "picocolors": "^1.1.1", "picomatch": "^4.0.1", "smol-toml": "^1.5.2", "strip-json-comments": "5.0.3", "zod": "^4.1.11" }, "peerDependencies": { "@types/node": ">=18", "typescript": ">=5.0.4 <7" }, "bin": { "knip": "bin/knip.js", "knip-bun": "bin/knip-bun.js" } }, "sha512-+yA/vfQUDEFUOcR0XRn/dOZmNEsS10pIMztS5JbKUhk9zvQiAFvr3Mcc3zC7Dn9gBG8LeImhaXA6/D3uhzwZvg=="],
-
- "koa": ["koa@2.15.3", "", { "dependencies": { "accepts": "^1.3.5", "cache-content-type": "^1.0.0", "content-disposition": "~0.5.2", "content-type": "^1.0.4", "cookies": "~0.9.0", "debug": "^4.3.2", "delegates": "^1.0.0", "depd": "^2.0.0", "destroy": "^1.0.4", "encodeurl": "^1.0.2", "escape-html": "^1.0.3", "fresh": "~0.5.2", "http-assert": "^1.3.0", "http-errors": "^1.6.3", "is-generator-function": "^1.0.7", "koa-compose": "^4.1.0", "koa-convert": "^2.0.0", "on-finished": "^2.3.0", "only": "~0.0.2", "parseurl": "^1.3.2", "statuses": "^1.5.0", "type-is": "^1.6.16", "vary": "^1.1.2" } }, "sha512-j/8tY9j5t+GVMLeioLaxweJiKUayFhlGqNTzf2ZGwL0ZCQijd2RLHK0SLW5Tsko8YyyqCZC2cojIb0/s62qTAg=="],
-
- "koa-compose": ["koa-compose@4.1.0", "", {}, "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw=="],
-
- "koa-convert": ["koa-convert@2.0.0", "", { "dependencies": { "co": "^4.6.0", "koa-compose": "^4.1.0" } }, "sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA=="],
-
- "kuler": ["kuler@2.0.0", "", {}, "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A=="],
-
- "language-subtag-registry": ["language-subtag-registry@0.3.23", "", {}, "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ=="],
-
- "language-tags": ["language-tags@1.0.9", "", { "dependencies": { "language-subtag-registry": "^0.3.20" } }, "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA=="],
-
- "launch-editor": ["launch-editor@2.12.0", "", { "dependencies": { "picocolors": "^1.1.1", "shell-quote": "^1.8.3" } }, "sha512-giOHXoOtifjdHqUamwKq6c49GzBdLjvxrd2D+Q4V6uOHopJv7p9VJxikDsQ/CBXZbEITgUqSVHXLTG3VhPP1Dg=="],
-
- "lazystream": ["lazystream@1.0.1", "", { "dependencies": { "readable-stream": "^2.0.5" } }, "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw=="],
-
- "leven": ["leven@3.1.0", "", {}, "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A=="],
-
- "levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="],
-
- "lilconfig": ["lilconfig@2.1.0", "", {}, "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ=="],
-
- "lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="],
-
- "linkify-react": ["linkify-react@4.1.3", "", { "peerDependencies": { "linkifyjs": "^4.0.0", "react": ">= 15.0.0" } }, "sha512-rhI3zM/fxn5BfRPHfi4r9N7zgac4vOIxub1wHIWXLA5ENTMs+BGaIaFO1D1PhmxgwhIKmJz3H7uCP0Dg5JwSlA=="],
-
- "linkifyjs": ["linkifyjs@4.1.3", "", {}, "sha512-auMesunaJ8yfkHvK4gfg1K0SaKX/6Wn9g2Aac/NwX+l5VdmFZzo/hdPGxEOETj+ryRa4/fiOPjeeKURSAJx1sg=="],
-
- "loader-runner": ["loader-runner@4.3.1", "", {}, "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q=="],
-
- "loader-utils": ["loader-utils@2.0.4", "", { "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^2.1.2" } }, "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw=="],
-
- "locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="],
-
- "lodash": ["lodash@4.17.21", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="],
-
- "lodash-es": ["lodash-es@4.17.22", "", {}, "sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q=="],
-
- "lodash.camelcase": ["lodash.camelcase@4.3.0", "", {}, "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA=="],
-
- "lodash.clonedeep": ["lodash.clonedeep@4.5.0", "", {}, "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ=="],
-
- "lodash.clonedeepwith": ["lodash.clonedeepwith@4.5.0", "", {}, "sha512-QRBRSxhbtsX1nc0baxSkkK5WlVTTm/s48DSukcGcWZwIyI8Zz+lB+kFiELJXtzfH4Aj6kMWQ1VWW4U5uUDgZMA=="],
-
- "lodash.debounce": ["lodash.debounce@4.0.8", "", {}, "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="],
-
- "lodash.defaults": ["lodash.defaults@4.2.0", "", {}, "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ=="],
-
- "lodash.flattendeep": ["lodash.flattendeep@4.4.0", "", {}, "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ=="],
-
- "lodash.get": ["lodash.get@4.4.2", "", {}, "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ=="],
-
- "lodash.includes": ["lodash.includes@4.3.0", "", {}, "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w=="],
-
- "lodash.isarguments": ["lodash.isarguments@3.1.0", "", {}, "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg=="],
-
- "lodash.isboolean": ["lodash.isboolean@3.0.3", "", {}, "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg=="],
-
- "lodash.isequal": ["lodash.isequal@4.5.0", "", {}, "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ=="],
-
- "lodash.isinteger": ["lodash.isinteger@4.0.4", "", {}, "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA=="],
-
- "lodash.isnumber": ["lodash.isnumber@3.0.3", "", {}, "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw=="],
-
- "lodash.isplainobject": ["lodash.isplainobject@4.0.6", "", {}, "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="],
-
- "lodash.isstring": ["lodash.isstring@4.0.1", "", {}, "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw=="],
-
- "lodash.memoize": ["lodash.memoize@4.1.2", "", {}, "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag=="],
-
- "lodash.merge": ["lodash.merge@4.6.2", "", {}, "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="],
-
- "lodash.once": ["lodash.once@4.1.1", "", {}, "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg=="],
-
- "lodash.uniq": ["lodash.uniq@4.5.0", "", {}, "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ=="],
-
- "log-symbols": ["log-symbols@4.1.0", "", { "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" } }, "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg=="],
-
- "log4js": ["log4js@6.9.1", "", { "dependencies": { "date-format": "^4.0.14", "debug": "^4.3.4", "flatted": "^3.2.7", "rfdc": "^1.3.0", "streamroller": "^3.1.5" } }, "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g=="],
-
- "logform": ["logform@2.7.0", "", { "dependencies": { "@colors/colors": "1.6.0", "@types/triple-beam": "^1.3.2", "fecha": "^4.2.0", "ms": "^2.1.1", "safe-stable-stringify": "^2.3.1", "triple-beam": "^1.3.0" } }, "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ=="],
-
- "long": ["long@5.3.2", "", {}, "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA=="],
-
- "long-timeout": ["long-timeout@0.1.1", "", {}, "sha512-BFRuQUqc7x2NWxfJBCyUrN8iYUYznzL9JROmRz1gZ6KlOIgmoD+njPVbb+VNn2nGMKggMsK79iUNErillsrx7w=="],
-
- "longest-streak": ["longest-streak@3.1.0", "", {}, "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g=="],
-
- "loose-envify": ["loose-envify@1.4.0", "", { "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" } }, "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="],
-
- "lower-case": ["lower-case@2.0.2", "", { "dependencies": { "tslib": "^2.0.3" } }, "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg=="],
-
- "lowlight": ["lowlight@1.20.0", "", { "dependencies": { "fault": "^1.0.0", "highlight.js": "~10.7.0" } }, "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw=="],
-
- "lru-cache": ["lru-cache@6.0.0", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="],
-
- "lru.min": ["lru.min@1.1.3", "", {}, "sha512-Lkk/vx6ak3rYkRR0Nhu4lFUT2VDnQSxBe8Hbl7f36358p6ow8Bnvr8lrLt98H8J1aGxfhbX4Fs5tYg2+FTwr5Q=="],
-
- "lunr": ["lunr@2.3.9", "", {}, "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow=="],
-
- "luxon": ["luxon@3.7.2", "", {}, "sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew=="],
-
- "lz-string": ["lz-string@1.5.0", "", { "bin": { "lz-string": "bin/bin.js" } }, "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ=="],
-
- "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="],
-
- "make-dir": ["make-dir@4.0.0", "", { "dependencies": { "semver": "^7.5.3" } }, "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw=="],
-
- "make-error": ["make-error@1.3.6", "", {}, "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw=="],
-
- "makeerror": ["makeerror@1.0.12", "", { "dependencies": { "tmpl": "1.0.5" } }, "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg=="],
-
- "markdown-table": ["markdown-table@3.0.4", "", {}, "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw=="],
-
- "markdown-to-jsx": ["markdown-to-jsx@7.7.17", "", { "peerDependencies": { "react": ">= 0.14.0" }, "optionalPeers": ["react"] }, "sha512-7mG/1feQ0TX5I7YyMZVDgCC/y2I3CiEhIRQIhyov9nGBP5eoVrOXXHuL5ZP8GRfxVZKRiXWJgwXkb9It+nQZfQ=="],
-
- "matcher": ["matcher@3.0.0", "", { "dependencies": { "escape-string-regexp": "^4.0.0" } }, "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng=="],
-
- "material-ui-popup-state": ["material-ui-popup-state@5.3.6", "", { "dependencies": { "@babel/runtime": "^7.26.0", "@types/prop-types": "^15.7.3", "classnames": "^2.2.6", "prop-types": "^15.7.2" }, "peerDependencies": { "@mui/material": "^5.0.0 || ^6.0.0 || ^7.0.0", "@types/react": "^16.8.0 || ^17 || ^18 || ^19", "react": "^16.8.0 || ^17 || ^18 || ^19" }, "optionalPeers": ["@types/react"] }, "sha512-tGpq417auecyK9iKMGxSQfyv6pwg0Wii2Isi9RuL92YDDkdnXlorl5c3+S4Zg8MH6Hk4NUa/5Y9PPEWgKakzOw=="],
-
- "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="],
-
- "md5.js": ["md5.js@1.3.5", "", { "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", "safe-buffer": "^5.1.2" } }, "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg=="],
-
- "mdast-util-definitions": ["mdast-util-definitions@5.1.2", "", { "dependencies": { "@types/mdast": "^3.0.0", "@types/unist": "^2.0.0", "unist-util-visit": "^4.0.0" } }, "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA=="],
-
- "mdast-util-find-and-replace": ["mdast-util-find-and-replace@2.2.2", "", { "dependencies": { "@types/mdast": "^3.0.0", "escape-string-regexp": "^5.0.0", "unist-util-is": "^5.0.0", "unist-util-visit-parents": "^5.0.0" } }, "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw=="],
-
- "mdast-util-from-markdown": ["mdast-util-from-markdown@1.3.1", "", { "dependencies": { "@types/mdast": "^3.0.0", "@types/unist": "^2.0.0", "decode-named-character-reference": "^1.0.0", "mdast-util-to-string": "^3.1.0", "micromark": "^3.0.0", "micromark-util-decode-numeric-character-reference": "^1.0.0", "micromark-util-decode-string": "^1.0.0", "micromark-util-normalize-identifier": "^1.0.0", "micromark-util-symbol": "^1.0.0", "micromark-util-types": "^1.0.0", "unist-util-stringify-position": "^3.0.0", "uvu": "^0.5.0" } }, "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww=="],
-
- "mdast-util-gfm": ["mdast-util-gfm@2.0.2", "", { "dependencies": { "mdast-util-from-markdown": "^1.0.0", "mdast-util-gfm-autolink-literal": "^1.0.0", "mdast-util-gfm-footnote": "^1.0.0", "mdast-util-gfm-strikethrough": "^1.0.0", "mdast-util-gfm-table": "^1.0.0", "mdast-util-gfm-task-list-item": "^1.0.0", "mdast-util-to-markdown": "^1.0.0" } }, "sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg=="],
-
- "mdast-util-gfm-autolink-literal": ["mdast-util-gfm-autolink-literal@1.0.3", "", { "dependencies": { "@types/mdast": "^3.0.0", "ccount": "^2.0.0", "mdast-util-find-and-replace": "^2.0.0", "micromark-util-character": "^1.0.0" } }, "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA=="],
-
- "mdast-util-gfm-footnote": ["mdast-util-gfm-footnote@1.0.2", "", { "dependencies": { "@types/mdast": "^3.0.0", "mdast-util-to-markdown": "^1.3.0", "micromark-util-normalize-identifier": "^1.0.0" } }, "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ=="],
-
- "mdast-util-gfm-strikethrough": ["mdast-util-gfm-strikethrough@1.0.3", "", { "dependencies": { "@types/mdast": "^3.0.0", "mdast-util-to-markdown": "^1.3.0" } }, "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ=="],
-
- "mdast-util-gfm-table": ["mdast-util-gfm-table@1.0.7", "", { "dependencies": { "@types/mdast": "^3.0.0", "markdown-table": "^3.0.0", "mdast-util-from-markdown": "^1.0.0", "mdast-util-to-markdown": "^1.3.0" } }, "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg=="],
-
- "mdast-util-gfm-task-list-item": ["mdast-util-gfm-task-list-item@1.0.2", "", { "dependencies": { "@types/mdast": "^3.0.0", "mdast-util-to-markdown": "^1.3.0" } }, "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ=="],
-
- "mdast-util-phrasing": ["mdast-util-phrasing@3.0.1", "", { "dependencies": { "@types/mdast": "^3.0.0", "unist-util-is": "^5.0.0" } }, "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg=="],
-
- "mdast-util-to-hast": ["mdast-util-to-hast@12.3.0", "", { "dependencies": { "@types/hast": "^2.0.0", "@types/mdast": "^3.0.0", "mdast-util-definitions": "^5.0.0", "micromark-util-sanitize-uri": "^1.1.0", "trim-lines": "^3.0.0", "unist-util-generated": "^2.0.0", "unist-util-position": "^4.0.0", "unist-util-visit": "^4.0.0" } }, "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw=="],
-
- "mdast-util-to-markdown": ["mdast-util-to-markdown@1.5.0", "", { "dependencies": { "@types/mdast": "^3.0.0", "@types/unist": "^2.0.0", "longest-streak": "^3.0.0", "mdast-util-phrasing": "^3.0.0", "mdast-util-to-string": "^3.0.0", "micromark-util-decode-string": "^1.0.0", "unist-util-visit": "^4.0.0", "zwitch": "^2.0.0" } }, "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A=="],
-
- "mdast-util-to-string": ["mdast-util-to-string@3.2.0", "", { "dependencies": { "@types/mdast": "^3.0.0" } }, "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg=="],
-
- "mdn-data": ["mdn-data@2.0.14", "", {}, "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow=="],
-
- "media-typer": ["media-typer@0.3.0", "", {}, "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="],
-
- "memfs": ["memfs@3.6.0", "", { "dependencies": { "fs-monkey": "^1.0.4" } }, "sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ=="],
-
- "memjs": ["memjs@1.3.2", "", {}, "sha512-qUEg2g8vxPe+zPn09KidjIStHPtoBO8Cttm8bgJFWWabbsjQ9Av9Ky+6UcvKx6ue0LLb/LEhtcyQpRyKfzeXcg=="],
-
- "memoize-one": ["memoize-one@5.2.1", "", {}, "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q=="],
-
- "merge-descriptors": ["merge-descriptors@1.0.3", "", {}, "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ=="],
-
- "merge-stream": ["merge-stream@2.0.0", "", {}, "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="],
-
- "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="],
-
- "methods": ["methods@1.1.2", "", {}, "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="],
-
- "micromark": ["micromark@3.2.0", "", { "dependencies": { "@types/debug": "^4.0.0", "debug": "^4.0.0", "decode-named-character-reference": "^1.0.0", "micromark-core-commonmark": "^1.0.1", "micromark-factory-space": "^1.0.0", "micromark-util-character": "^1.0.0", "micromark-util-chunked": "^1.0.0", "micromark-util-combine-extensions": "^1.0.0", "micromark-util-decode-numeric-character-reference": "^1.0.0", "micromark-util-encode": "^1.0.0", "micromark-util-normalize-identifier": "^1.0.0", "micromark-util-resolve-all": "^1.0.0", "micromark-util-sanitize-uri": "^1.0.0", "micromark-util-subtokenize": "^1.0.0", "micromark-util-symbol": "^1.0.0", "micromark-util-types": "^1.0.1", "uvu": "^0.5.0" } }, "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA=="],
-
- "micromark-core-commonmark": ["micromark-core-commonmark@1.1.0", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "micromark-factory-destination": "^1.0.0", "micromark-factory-label": "^1.0.0", "micromark-factory-space": "^1.0.0", "micromark-factory-title": "^1.0.0", "micromark-factory-whitespace": "^1.0.0", "micromark-util-character": "^1.0.0", "micromark-util-chunked": "^1.0.0", "micromark-util-classify-character": "^1.0.0", "micromark-util-html-tag-name": "^1.0.0", "micromark-util-normalize-identifier": "^1.0.0", "micromark-util-resolve-all": "^1.0.0", "micromark-util-subtokenize": "^1.0.0", "micromark-util-symbol": "^1.0.0", "micromark-util-types": "^1.0.1", "uvu": "^0.5.0" } }, "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw=="],
-
- "micromark-extension-gfm": ["micromark-extension-gfm@2.0.3", "", { "dependencies": { "micromark-extension-gfm-autolink-literal": "^1.0.0", "micromark-extension-gfm-footnote": "^1.0.0", "micromark-extension-gfm-strikethrough": "^1.0.0", "micromark-extension-gfm-table": "^1.0.0", "micromark-extension-gfm-tagfilter": "^1.0.0", "micromark-extension-gfm-task-list-item": "^1.0.0", "micromark-util-combine-extensions": "^1.0.0", "micromark-util-types": "^1.0.0" } }, "sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ=="],
-
- "micromark-extension-gfm-autolink-literal": ["micromark-extension-gfm-autolink-literal@1.0.5", "", { "dependencies": { "micromark-util-character": "^1.0.0", "micromark-util-sanitize-uri": "^1.0.0", "micromark-util-symbol": "^1.0.0", "micromark-util-types": "^1.0.0" } }, "sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg=="],
-
- "micromark-extension-gfm-footnote": ["micromark-extension-gfm-footnote@1.1.2", "", { "dependencies": { "micromark-core-commonmark": "^1.0.0", "micromark-factory-space": "^1.0.0", "micromark-util-character": "^1.0.0", "micromark-util-normalize-identifier": "^1.0.0", "micromark-util-sanitize-uri": "^1.0.0", "micromark-util-symbol": "^1.0.0", "micromark-util-types": "^1.0.0", "uvu": "^0.5.0" } }, "sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q=="],
-
- "micromark-extension-gfm-strikethrough": ["micromark-extension-gfm-strikethrough@1.0.7", "", { "dependencies": { "micromark-util-chunked": "^1.0.0", "micromark-util-classify-character": "^1.0.0", "micromark-util-resolve-all": "^1.0.0", "micromark-util-symbol": "^1.0.0", "micromark-util-types": "^1.0.0", "uvu": "^0.5.0" } }, "sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw=="],
-
- "micromark-extension-gfm-table": ["micromark-extension-gfm-table@1.0.7", "", { "dependencies": { "micromark-factory-space": "^1.0.0", "micromark-util-character": "^1.0.0", "micromark-util-symbol": "^1.0.0", "micromark-util-types": "^1.0.0", "uvu": "^0.5.0" } }, "sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw=="],
-
- "micromark-extension-gfm-tagfilter": ["micromark-extension-gfm-tagfilter@1.0.2", "", { "dependencies": { "micromark-util-types": "^1.0.0" } }, "sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g=="],
-
- "micromark-extension-gfm-task-list-item": ["micromark-extension-gfm-task-list-item@1.0.5", "", { "dependencies": { "micromark-factory-space": "^1.0.0", "micromark-util-character": "^1.0.0", "micromark-util-symbol": "^1.0.0", "micromark-util-types": "^1.0.0", "uvu": "^0.5.0" } }, "sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ=="],
-
- "micromark-factory-destination": ["micromark-factory-destination@1.1.0", "", { "dependencies": { "micromark-util-character": "^1.0.0", "micromark-util-symbol": "^1.0.0", "micromark-util-types": "^1.0.0" } }, "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg=="],
-
- "micromark-factory-label": ["micromark-factory-label@1.1.0", "", { "dependencies": { "micromark-util-character": "^1.0.0", "micromark-util-symbol": "^1.0.0", "micromark-util-types": "^1.0.0", "uvu": "^0.5.0" } }, "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w=="],
-
- "micromark-factory-space": ["micromark-factory-space@1.1.0", "", { "dependencies": { "micromark-util-character": "^1.0.0", "micromark-util-types": "^1.0.0" } }, "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ=="],
-
- "micromark-factory-title": ["micromark-factory-title@1.1.0", "", { "dependencies": { "micromark-factory-space": "^1.0.0", "micromark-util-character": "^1.0.0", "micromark-util-symbol": "^1.0.0", "micromark-util-types": "^1.0.0" } }, "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ=="],
-
- "micromark-factory-whitespace": ["micromark-factory-whitespace@1.1.0", "", { "dependencies": { "micromark-factory-space": "^1.0.0", "micromark-util-character": "^1.0.0", "micromark-util-symbol": "^1.0.0", "micromark-util-types": "^1.0.0" } }, "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ=="],
-
- "micromark-util-character": ["micromark-util-character@1.2.0", "", { "dependencies": { "micromark-util-symbol": "^1.0.0", "micromark-util-types": "^1.0.0" } }, "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg=="],
-
- "micromark-util-chunked": ["micromark-util-chunked@1.1.0", "", { "dependencies": { "micromark-util-symbol": "^1.0.0" } }, "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ=="],
-
- "micromark-util-classify-character": ["micromark-util-classify-character@1.1.0", "", { "dependencies": { "micromark-util-character": "^1.0.0", "micromark-util-symbol": "^1.0.0", "micromark-util-types": "^1.0.0" } }, "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw=="],
-
- "micromark-util-combine-extensions": ["micromark-util-combine-extensions@1.1.0", "", { "dependencies": { "micromark-util-chunked": "^1.0.0", "micromark-util-types": "^1.0.0" } }, "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA=="],
-
- "micromark-util-decode-numeric-character-reference": ["micromark-util-decode-numeric-character-reference@1.1.0", "", { "dependencies": { "micromark-util-symbol": "^1.0.0" } }, "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw=="],
-
- "micromark-util-decode-string": ["micromark-util-decode-string@1.1.0", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "micromark-util-character": "^1.0.0", "micromark-util-decode-numeric-character-reference": "^1.0.0", "micromark-util-symbol": "^1.0.0" } }, "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ=="],
-
- "micromark-util-encode": ["micromark-util-encode@1.1.0", "", {}, "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw=="],
-
- "micromark-util-html-tag-name": ["micromark-util-html-tag-name@1.2.0", "", {}, "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q=="],
-
- "micromark-util-normalize-identifier": ["micromark-util-normalize-identifier@1.1.0", "", { "dependencies": { "micromark-util-symbol": "^1.0.0" } }, "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q=="],
-
- "micromark-util-resolve-all": ["micromark-util-resolve-all@1.1.0", "", { "dependencies": { "micromark-util-types": "^1.0.0" } }, "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA=="],
-
- "micromark-util-sanitize-uri": ["micromark-util-sanitize-uri@1.2.0", "", { "dependencies": { "micromark-util-character": "^1.0.0", "micromark-util-encode": "^1.0.0", "micromark-util-symbol": "^1.0.0" } }, "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A=="],
-
- "micromark-util-subtokenize": ["micromark-util-subtokenize@1.1.0", "", { "dependencies": { "micromark-util-chunked": "^1.0.0", "micromark-util-symbol": "^1.0.0", "micromark-util-types": "^1.0.0", "uvu": "^0.5.0" } }, "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A=="],
-
- "micromark-util-symbol": ["micromark-util-symbol@1.1.0", "", {}, "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag=="],
-
- "micromark-util-types": ["micromark-util-types@1.1.0", "", {}, "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg=="],
-
- "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="],
-
- "miller-rabin": ["miller-rabin@4.0.1", "", { "dependencies": { "bn.js": "^4.0.0", "brorand": "^1.0.1" }, "bin": { "miller-rabin": "bin/miller-rabin" } }, "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA=="],
-
- "mime": ["mime@3.0.0", "", { "bin": { "mime": "cli.js" } }, "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A=="],
-
- "mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="],
-
- "mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="],
-
- "mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="],
-
- "mimic-response": ["mimic-response@3.1.0", "", {}, "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="],
-
- "mini-css-extract-plugin": ["mini-css-extract-plugin@2.9.4", "", { "dependencies": { "schema-utils": "^4.0.0", "tapable": "^2.2.1" }, "peerDependencies": { "webpack": "^5.0.0" } }, "sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ=="],
-
- "minimalistic-assert": ["minimalistic-assert@1.0.1", "", {}, "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="],
-
- "minimalistic-crypto-utils": ["minimalistic-crypto-utils@1.0.1", "", {}, "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg=="],
-
- "minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="],
-
- "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="],
-
- "minimisted": ["minimisted@2.0.1", "", { "dependencies": { "minimist": "^1.2.5" } }, "sha512-1oPjfuLQa2caorJUM8HV8lGgWCc0qqAO1MNv/k05G4qslmsndV/5WdNZrqCiyqiz3wohia2Ij2B7w2Dr7/IyrA=="],
-
- "minipass": ["minipass@5.0.0", "", {}, "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ=="],
-
- "minizlib": ["minizlib@2.1.2", "", { "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" } }, "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg=="],
-
- "mkdirp": ["mkdirp@1.0.4", "", { "bin": { "mkdirp": "bin/cmd.js" } }, "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="],
-
- "mkdirp-classic": ["mkdirp-classic@0.5.3", "", {}, "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="],
-
- "mockttp": ["mockttp@3.17.1", "", { "dependencies": { "@graphql-tools/schema": "^8.5.0", "@graphql-tools/utils": "^8.8.0", "@httptoolkit/httpolyglot": "^2.2.1", "@httptoolkit/subscriptions-transport-ws": "^0.11.2", "@httptoolkit/websocket-stream": "^6.0.1", "@types/cors": "^2.8.6", "@types/node": "*", "async-mutex": "^0.5.0", "base64-arraybuffer": "^0.1.5", "body-parser": "^1.15.2", "cacheable-lookup": "^6.0.0", "common-tags": "^1.8.0", "connect": "^3.7.0", "cors": "^2.8.4", "cors-gate": "^1.1.3", "cross-fetch": "^3.1.5", "destroyable-server": "^1.1.1", "express": "^4.14.0", "fast-json-patch": "^3.1.1", "graphql": "^14.0.2 || ^15.5", "graphql-http": "^1.22.0", "graphql-subscriptions": "^1.1.0", "graphql-tag": "^2.12.6", "http-encoding": "^2.0.1", "http2-wrapper": "^2.2.1", "https-proxy-agent": "^5.0.1", "isomorphic-ws": "^4.0.1", "lodash": "^4.16.4", "lru-cache": "^7.14.0", "native-duplexpair": "^1.0.0", "node-forge": "^1.2.1", "pac-proxy-agent": "^7.0.0", "parse-multipart-data": "^1.4.0", "performance-now": "^2.1.0", "portfinder": "^1.0.32", "read-tls-client-hello": "^1.1.0", "semver": "^7.5.3", "socks-proxy-agent": "^7.0.0", "typed-error": "^3.0.2", "urlpattern-polyfill": "^8.0.0", "uuid": "^8.3.2", "ws": "^8.8.0" }, "bin": { "mockttp": "dist/admin/admin-bin.js" } }, "sha512-sW6m4uaRIGJrtrQNZbUoSisTEAq91oS9C4cUyVFpHgMcpTwsG2ZvF94qOBt4PpEf9gGCiwkxvzkEEt4W/CPHHg=="],
-
- "morgan": ["morgan@1.10.1", "", { "dependencies": { "basic-auth": "~2.0.1", "debug": "2.6.9", "depd": "~2.0.0", "on-finished": "~2.3.0", "on-headers": "~1.1.0" } }, "sha512-223dMRJtI/l25dJKWpgij2cMtywuG/WiUKXdvwfbhGKBhy1puASqXwFzmWZ7+K73vUPoR7SS2Qz2cI/g9MKw0A=="],
-
- "mri": ["mri@1.2.0", "", {}, "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA=="],
-
- "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
-
- "msw": ["msw@2.12.7", "", { "dependencies": { "@inquirer/confirm": "^5.0.0", "@mswjs/interceptors": "^0.40.0", "@open-draft/deferred-promise": "^2.2.0", "@types/statuses": "^2.0.6", "cookie": "^1.0.2", "graphql": "^16.12.0", "headers-polyfill": "^4.0.2", "is-node-process": "^1.2.0", "outvariant": "^1.4.3", "path-to-regexp": "^6.3.0", "picocolors": "^1.1.1", "rettime": "^0.7.0", "statuses": "^2.0.2", "strict-event-emitter": "^0.5.1", "tough-cookie": "^6.0.0", "type-fest": "^5.2.0", "until-async": "^3.0.2", "yargs": "^17.7.2" }, "peerDependencies": { "typescript": ">= 4.8.x" }, "optionalPeers": ["typescript"], "bin": { "msw": "cli/index.js" } }, "sha512-retd5i3xCZDVWMYjHEVuKTmhqY8lSsxujjVrZiGbbdoxxIBg5S7rCuYy/YQpfrTYIxpd/o0Kyb/3H+1udBMoYg=="],
-
- "multer": ["multer@2.0.2", "", { "dependencies": { "append-field": "^1.0.0", "busboy": "^1.6.0", "concat-stream": "^2.0.0", "mkdirp": "^0.5.6", "object-assign": "^4.1.1", "type-is": "^1.6.18", "xtend": "^4.0.2" } }, "sha512-u7f2xaZ/UG8oLXHvtF/oWTRvT44p9ecwBBqTwgJVq0+4BW1g8OW01TyMEGWBHbyMOYVHXslaut7qEQ1meATXgw=="],
-
- "multicast-dns": ["multicast-dns@7.2.5", "", { "dependencies": { "dns-packet": "^5.2.2", "thunky": "^1.0.2" }, "bin": { "multicast-dns": "cli.js" } }, "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg=="],
-
- "mute-stream": ["mute-stream@0.0.8", "", {}, "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="],
-
- "mysql2": ["mysql2@3.16.0", "", { "dependencies": { "aws-ssl-profiles": "^1.1.1", "denque": "^2.1.0", "generate-function": "^2.3.1", "iconv-lite": "^0.7.0", "long": "^5.2.1", "lru.min": "^1.0.0", "named-placeholders": "^1.1.3", "seq-queue": "^0.0.5", "sqlstring": "^2.3.2" } }, "sha512-AEGW7QLLSuSnjCS4pk3EIqOmogegmze9h8EyrndavUQnIUcfkVal/sK7QznE+a3bc6rzPbAiui9Jcb+96tPwYA=="],
-
- "mz": ["mz@2.7.0", "", { "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q=="],
-
- "named-placeholders": ["named-placeholders@1.1.6", "", { "dependencies": { "lru.min": "^1.1.0" } }, "sha512-Tz09sEL2EEuv5fFowm419c1+a/jSMiBjI9gHxVLrVdbUkkNUUfjsVYs9pVZu5oCon/kmRh9TfLEObFtkVxmY0w=="],
-
- "nan": ["nan@2.24.0", "", {}, "sha512-Vpf9qnVW1RaDkoNKFUvfxqAbtI8ncb8OJlqZ9wwpXzWPEsvsB1nvdUi6oYrHIkQ1Y/tMDnr1h4nczS0VB9Xykg=="],
-
- "nano-css": ["nano-css@5.6.2", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15", "css-tree": "^1.1.2", "csstype": "^3.1.2", "fastest-stable-stringify": "^2.0.2", "inline-style-prefixer": "^7.0.1", "rtl-css-js": "^1.16.1", "stacktrace-js": "^2.0.2", "stylis": "^4.3.0" }, "peerDependencies": { "react": "*", "react-dom": "*" } }, "sha512-+6bHaC8dSDGALM1HJjOHVXpuastdu2xFoZlC77Jh4cg+33Zcgm+Gxd+1xsnpZK14eyHObSp82+ll5y3SX75liw=="],
-
- "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="],
-
- "native-duplexpair": ["native-duplexpair@1.0.0", "", {}, "sha512-E7QQoM+3jvNtlmyfqRZ0/U75VFgCls+fSkbml2MpgWkWyz3ox8Y58gNhfuziuQYGNNQAbFZJQck55LHCnCK6CA=="],
-
- "natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="],
-
- "ndjson": ["ndjson@2.0.0", "", { "dependencies": { "json-stringify-safe": "^5.0.1", "minimist": "^1.2.5", "readable-stream": "^3.6.0", "split2": "^3.0.0", "through2": "^4.0.0" }, "bin": { "ndjson": "cli.js" } }, "sha512-nGl7LRGrzugTtaFcJMhLbpzJM6XdivmbkdlaGcrk/LXg2KL/YBC6z1g70xh0/al+oFuVFP8N8kiWRucmeEH/qQ=="],
-
- "negotiator": ["negotiator@0.6.4", "", {}, "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w=="],
-
- "neo-async": ["neo-async@2.6.2", "", {}, "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="],
-
- "netmask": ["netmask@2.0.2", "", {}, "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg=="],
-
- "no-case": ["no-case@3.0.4", "", { "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" } }, "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg=="],
-
- "node-abort-controller": ["node-abort-controller@3.1.1", "", {}, "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ=="],
-
- "node-cache": ["node-cache@5.1.2", "", { "dependencies": { "clone": "2.x" } }, "sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg=="],
-
- "node-fetch": ["node-fetch@2.7.0", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="],
-
- "node-forge": ["node-forge@1.3.3", "", {}, "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg=="],
-
- "node-int64": ["node-int64@0.4.0", "", {}, "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw=="],
-
- "node-libs-browser": ["node-libs-browser@2.2.1", "", { "dependencies": { "assert": "^1.1.1", "browserify-zlib": "^0.2.0", "buffer": "^4.3.0", "console-browserify": "^1.1.0", "constants-browserify": "^1.0.0", "crypto-browserify": "^3.11.0", "domain-browser": "^1.1.1", "events": "^3.0.0", "https-browserify": "^1.0.0", "os-browserify": "^0.3.0", "path-browserify": "0.0.1", "process": "^0.11.10", "punycode": "^1.2.4", "querystring-es3": "^0.2.0", "readable-stream": "^2.3.3", "stream-browserify": "^2.0.1", "stream-http": "^2.7.2", "string_decoder": "^1.0.0", "timers-browserify": "^2.0.4", "tty-browserify": "0.0.0", "url": "^0.11.0", "util": "^0.11.0", "vm-browserify": "^1.0.1" } }, "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q=="],
-
- "node-releases": ["node-releases@2.0.27", "", {}, "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA=="],
-
- "node-schedule": ["node-schedule@2.1.1", "", { "dependencies": { "cron-parser": "^4.2.0", "long-timeout": "0.1.1", "sorted-array-functions": "^1.3.0" } }, "sha512-OXdegQq03OmXEjt2hZP33W2YPs/E5BcFQks46+G2gAxs4gHOIVD1u7EqlYLYSKsaIpyKCK9Gbk0ta1/gjRSMRQ=="],
-
- "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="],
-
- "normalize-url": ["normalize-url@6.1.0", "", {}, "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A=="],
-
- "npm-bundled": ["npm-bundled@2.0.1", "", { "dependencies": { "npm-normalize-package-bin": "^2.0.0" } }, "sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw=="],
-
- "npm-normalize-package-bin": ["npm-normalize-package-bin@2.0.0", "", {}, "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ=="],
-
- "npm-packlist": ["npm-packlist@5.1.3", "", { "dependencies": { "glob": "^8.0.1", "ignore-walk": "^5.0.1", "npm-bundled": "^2.0.0", "npm-normalize-package-bin": "^2.0.0" }, "bin": { "npm-packlist": "bin/index.js" } }, "sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg=="],
-
- "npm-run-path": ["npm-run-path@4.0.1", "", { "dependencies": { "path-key": "^3.0.0" } }, "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw=="],
-
- "nth-check": ["nth-check@2.1.1", "", { "dependencies": { "boolbase": "^1.0.0" } }, "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="],
-
- "nwsapi": ["nwsapi@2.2.23", "", {}, "sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ=="],
-
- "oauth": ["oauth@0.10.2", "", {}, "sha512-JtFnB+8nxDEXgNyniwz573xxbKSOu3R8D40xQKqcjwJ2CDkYqUDI53o6IuzDJBx60Z8VKCm271+t8iFjakrl8Q=="],
-
- "oauth-sign": ["oauth-sign@0.9.0", "", {}, "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="],
-
- "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="],
-
- "object-hash": ["object-hash@2.2.0", "", {}, "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw=="],
-
- "object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="],
-
- "object-is": ["object-is@1.1.6", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1" } }, "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q=="],
-
- "object-keys": ["object-keys@1.1.1", "", {}, "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="],
-
- "object.assign": ["object.assign@4.1.7", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0", "has-symbols": "^1.1.0", "object-keys": "^1.1.1" } }, "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw=="],
-
- "object.entries": ["object.entries@1.1.9", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.4", "define-properties": "^1.2.1", "es-object-atoms": "^1.1.1" } }, "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw=="],
-
- "object.fromentries": ["object.fromentries@2.0.8", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.2", "es-object-atoms": "^1.0.0" } }, "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ=="],
-
- "object.groupby": ["object.groupby@1.0.3", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.2" } }, "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ=="],
-
- "object.values": ["object.values@1.2.1", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" } }, "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA=="],
-
- "obuf": ["obuf@1.1.2", "", {}, "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg=="],
-
- "oidc-token-hash": ["oidc-token-hash@5.2.0", "", {}, "sha512-6gj2m8cJZ+iSW8bm0FXdGF0YhIQbKrfP4yWTNzxc31U6MOjfEmB1rHvlYvxI1B7t7BCi1F2vYTT6YhtQRG4hxw=="],
-
- "on-finished": ["on-finished@2.4.1", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg=="],
-
- "on-headers": ["on-headers@1.1.0", "", {}, "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A=="],
-
- "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="],
-
- "one-time": ["one-time@1.0.0", "", { "dependencies": { "fn.name": "1.x.x" } }, "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g=="],
-
- "onetime": ["onetime@5.1.2", "", { "dependencies": { "mimic-fn": "^2.1.0" } }, "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="],
-
- "only": ["only@0.0.2", "", {}, "sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ=="],
-
- "ono": ["ono@7.1.3", "", { "dependencies": { "@jsdevtools/ono": "7.1.3" } }, "sha512-9jnfVriq7uJM4o5ganUY54ntUm+5EK21EGaQ5NWnkWg3zz5ywbbonlBguRcnmF1/HDiIe3zxNxXcO1YPBmPcQQ=="],
-
- "open": ["open@8.4.2", "", { "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", "is-wsl": "^2.2.0" } }, "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ=="],
-
- "openapi-merge": ["openapi-merge@1.3.3", "", { "dependencies": { "atlassian-openapi": "^1.0.8", "lodash": "^4.17.15", "ts-is-present": "^1.1.1" } }, "sha512-zC6DE+ekFJwWMwssb+LOkZbYqlA/LCaFT4RdhSpDpxF4vaMoPNDuztWFkEAImhLMg4GKvoQH6gUvAKzaXDRC2A=="],
-
- "openapi-types": ["openapi-types@12.1.3", "", {}, "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw=="],
-
- "openapi3-ts": ["openapi3-ts@3.2.0", "", { "dependencies": { "yaml": "^2.2.1" } }, "sha512-/ykNWRV5Qs0Nwq7Pc0nJ78fgILvOT/60OxEmB3v7yQ8a8Bwcm43D4diaYazG/KBn6czA+52XYy931WFLMCUeSg=="],
-
- "openid-client": ["openid-client@5.7.1", "", { "dependencies": { "jose": "^4.15.9", "lru-cache": "^6.0.0", "object-hash": "^2.2.0", "oidc-token-hash": "^5.0.3" } }, "sha512-jDBPgSVfTnkIh71Hg9pRvtJc6wTwqjRkN88+gCFtYWrlP4Yx2Dsrow8uPi3qLr/aeymPF3o2+dS+wOpglK04ew=="],
-
- "optionator": ["optionator@0.9.4", "", { "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.5" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="],
-
- "ora": ["ora@5.4.1", "", { "dependencies": { "bl": "^4.1.0", "chalk": "^4.1.0", "cli-cursor": "^3.1.0", "cli-spinners": "^2.5.0", "is-interactive": "^1.0.0", "is-unicode-supported": "^0.1.0", "log-symbols": "^4.1.0", "strip-ansi": "^6.0.0", "wcwidth": "^1.0.1" } }, "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ=="],
-
- "os-browserify": ["os-browserify@0.3.0", "", {}, "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A=="],
-
- "outvariant": ["outvariant@1.4.3", "", {}, "sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA=="],
-
- "own-keys": ["own-keys@1.0.1", "", { "dependencies": { "get-intrinsic": "^1.2.6", "object-keys": "^1.1.1", "safe-push-apply": "^1.0.0" } }, "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg=="],
-
- "oxc-resolver": ["oxc-resolver@11.16.1", "", { "optionalDependencies": { "@oxc-resolver/binding-android-arm-eabi": "11.16.1", "@oxc-resolver/binding-android-arm64": "11.16.1", "@oxc-resolver/binding-darwin-arm64": "11.16.1", "@oxc-resolver/binding-darwin-x64": "11.16.1", "@oxc-resolver/binding-freebsd-x64": "11.16.1", "@oxc-resolver/binding-linux-arm-gnueabihf": "11.16.1", "@oxc-resolver/binding-linux-arm-musleabihf": "11.16.1", "@oxc-resolver/binding-linux-arm64-gnu": "11.16.1", "@oxc-resolver/binding-linux-arm64-musl": "11.16.1", "@oxc-resolver/binding-linux-ppc64-gnu": "11.16.1", "@oxc-resolver/binding-linux-riscv64-gnu": "11.16.1", "@oxc-resolver/binding-linux-riscv64-musl": "11.16.1", "@oxc-resolver/binding-linux-s390x-gnu": "11.16.1", "@oxc-resolver/binding-linux-x64-gnu": "11.16.1", "@oxc-resolver/binding-linux-x64-musl": "11.16.1", "@oxc-resolver/binding-openharmony-arm64": "11.16.1", "@oxc-resolver/binding-wasm32-wasi": "11.16.1", "@oxc-resolver/binding-win32-arm64-msvc": "11.16.1", "@oxc-resolver/binding-win32-ia32-msvc": "11.16.1", "@oxc-resolver/binding-win32-x64-msvc": "11.16.1" } }, "sha512-eN5tLRx2oyyNpPyWWItuPiNLY/EpGlqXVJll+Uptds4owQ4UQK3T8rPlR+wl8xBKvQZM4drFC1nKVLeZDUWpQg=="],
-
- "p-finally": ["p-finally@1.0.0", "", {}, "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow=="],
-
- "p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="],
-
- "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="],
-
- "p-queue": ["p-queue@6.6.2", "", { "dependencies": { "eventemitter3": "^4.0.4", "p-timeout": "^3.2.0" } }, "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ=="],
-
- "p-retry": ["p-retry@6.2.1", "", { "dependencies": { "@types/retry": "0.12.2", "is-network-error": "^1.0.0", "retry": "^0.13.1" } }, "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ=="],
-
- "p-timeout": ["p-timeout@3.2.0", "", { "dependencies": { "p-finally": "^1.0.0" } }, "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg=="],
-
- "p-try": ["p-try@2.2.0", "", {}, "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="],
-
- "pac-proxy-agent": ["pac-proxy-agent@7.2.0", "", { "dependencies": { "@tootallnate/quickjs-emscripten": "^0.23.0", "agent-base": "^7.1.2", "debug": "^4.3.4", "get-uri": "^6.0.1", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.6", "pac-resolver": "^7.0.1", "socks-proxy-agent": "^8.0.5" } }, "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA=="],
-
- "pac-resolver": ["pac-resolver@7.0.1", "", { "dependencies": { "degenerator": "^5.0.0", "netmask": "^2.0.2" } }, "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg=="],
-
- "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="],
-
- "pako": ["pako@1.0.11", "", {}, "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="],
-
- "param-case": ["param-case@3.0.4", "", { "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" } }, "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A=="],
-
- "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="],
-
- "parse-asn1": ["parse-asn1@5.1.9", "", { "dependencies": { "asn1.js": "^4.10.1", "browserify-aes": "^1.2.0", "evp_bytestokey": "^1.0.3", "pbkdf2": "^3.1.5", "safe-buffer": "^5.2.1" } }, "sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg=="],
-
- "parse-entities": ["parse-entities@2.0.0", "", { "dependencies": { "character-entities": "^1.0.0", "character-entities-legacy": "^1.0.0", "character-reference-invalid": "^1.0.0", "is-alphanumerical": "^1.0.0", "is-decimal": "^1.0.0", "is-hexadecimal": "^1.0.0" } }, "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ=="],
-
- "parse-json": ["parse-json@5.2.0", "", { "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" } }, "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg=="],
-
- "parse-multipart-data": ["parse-multipart-data@1.5.0", "", {}, "sha512-ck5zaMF0ydjGfejNMnlo5YU2oJ+pT+80Jb1y4ybanT27j+zbVP/jkYmCrUGsEln0Ox/hZmuvgy8Ra7AxbXP2Mw=="],
-
- "parse-passwd": ["parse-passwd@1.0.0", "", {}, "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q=="],
-
- "parse-path": ["parse-path@7.1.0", "", { "dependencies": { "protocols": "^2.0.0" } }, "sha512-EuCycjZtfPcjWk7KTksnJ5xPMvWGA/6i4zrLYhRG0hGvC3GPU/jGUj3Cy+ZR0v30duV3e23R95T1lE2+lsndSw=="],
-
- "parse-url": ["parse-url@8.1.0", "", { "dependencies": { "parse-path": "^7.0.0" } }, "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w=="],
-
- "parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="],
-
- "parseurl": ["parseurl@1.3.3", "", {}, "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="],
-
- "pascal-case": ["pascal-case@3.1.2", "", { "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" } }, "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g=="],
-
- "passport": ["passport@0.7.0", "", { "dependencies": { "passport-strategy": "1.x.x", "pause": "0.0.1", "utils-merge": "^1.0.1" } }, "sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ=="],
-
- "passport-atlassian-oauth2": ["passport-atlassian-oauth2@2.1.0", "", { "dependencies": { "passport-oauth2": "^1.4.0" } }, "sha512-uUjdoeeA0qqEedj14LzeAFGyK/eesPezQfdN1ui/7D8TYNCGVtuoYhKT64gT8KhOCz5nPYS12XWXRfoPTS6kpg=="],
-
- "passport-auth0": ["passport-auth0@1.4.5", "", { "dependencies": { "axios": "^1.7.4", "passport-oauth": "^1.0.0", "passport-oauth2": "^1.6.0" } }, "sha512-pfAvcAoR1HjKFygq0gGEHCy+9eqXr1CnfN3yD4kuUj1p4ek7P3s4bMn13+Q1FajqDNA8lD0Vvy6j8Od1oqF9Dg=="],
-
- "passport-bitbucket-oauth2": ["passport-bitbucket-oauth2@0.1.2", "", { "dependencies": { "passport-oauth2": "^1.1.2", "pkginfo": "0.2.x" } }, "sha512-bE4eQuyK2U0bumRdxfZedfoBfkHzblhui6MElz64xptn70CIrJrEKon1Ui95ML3KsvOmGGoaSZcwXwAjWF6M0Q=="],
-
- "passport-github2": ["passport-github2@0.1.12", "", { "dependencies": { "passport-oauth2": "1.x.x" } }, "sha512-3nPUCc7ttF/3HSP/k9sAXjz3SkGv5Nki84I05kSQPo01Jqq1NzJACgMblCK0fGcv9pKCG/KXU3AJRDGLqHLoIw=="],
-
- "passport-gitlab2": ["passport-gitlab2@5.0.0", "", { "dependencies": { "passport-oauth2": "^1.4.0" } }, "sha512-cXQMgM6JQx9wHVh7JLH30D8fplfwjsDwRz+zS0pqC8JS+4bNmc1J04NGp5g2M4yfwylH9kQRrMN98GxMw7q7cg=="],
-
- "passport-google-oauth20": ["passport-google-oauth20@2.0.0", "", { "dependencies": { "passport-oauth2": "1.x.x" } }, "sha512-KSk6IJ15RoxuGq7D1UKK/8qKhNfzbLeLrG3gkLZ7p4A6DBCcv7xpyQwuXtWdpyR0+E0mwkpjY1VfPOhxQrKzdQ=="],
-
- "passport-microsoft": ["passport-microsoft@1.1.0", "", { "dependencies": { "passport-oauth2": "1.8.0" } }, "sha512-yJyynEkGakK8SveCqILAvrpMBOKpx6TNyxL1ry+eW4m9/qqqDDOUahLdHj7wPSuDReHQ4jArGheH5v0/pNwR+g=="],
-
- "passport-oauth": ["passport-oauth@1.0.0", "", { "dependencies": { "passport-oauth1": "1.x.x", "passport-oauth2": "1.x.x" } }, "sha512-4IZNVsZbN1dkBzmEbBqUxDG8oFOIK81jqdksE3HEb/vI3ib3FMjbiZZ6MTtooyYZzmKu0BfovjvT1pdGgIq+4Q=="],
-
- "passport-oauth1": ["passport-oauth1@1.3.0", "", { "dependencies": { "oauth": "0.9.x", "passport-strategy": "1.x.x", "utils-merge": "1.x.x" } }, "sha512-8T/nX4gwKTw0PjxP1xfD0QhrydQNakzeOpZ6M5Uqdgz9/a/Ag62RmJxnZQ4LkbdXGrRehQHIAHNAu11rCP46Sw=="],
-
- "passport-oauth2": ["passport-oauth2@1.8.0", "", { "dependencies": { "base64url": "3.x.x", "oauth": "0.10.x", "passport-strategy": "1.x.x", "uid2": "0.0.x", "utils-merge": "1.x.x" } }, "sha512-cjsQbOrXIDE4P8nNb3FQRCCmJJ/utnFKEz2NX209f7KOHPoX18gF7gBzBbLLsj2/je4KrgiwLLGjf0lm9rtTBA=="],
-
- "passport-onelogin-oauth": ["passport-onelogin-oauth@0.0.1", "", { "dependencies": { "passport-oauth": "1.0.0", "pkginfo": "0.2.x", "uid2": "0.0.3" } }, "sha512-EXFBqlJdHf5AX4QaiZsLfhgQUOR6z3zGA5479SUJF4I4rnAt7yasZEbs27pg8MRiQh/uLZEWLGMoVXr6LHV9mQ=="],
-
- "passport-strategy": ["passport-strategy@1.0.0", "", {}, "sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA=="],
-
- "path-browserify": ["path-browserify@0.0.1", "", {}, "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ=="],
-
- "path-equal": ["path-equal@1.2.5", "", {}, "sha512-i73IctDr3F2W+bsOWDyyVm/lqsXO47aY9nsFZUjTT/aljSbkxHxxCoyZ9UUrM8jK0JVod+An+rl48RCsvWM+9g=="],
-
- "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="],
-
- "path-is-absolute": ["path-is-absolute@1.0.1", "", {}, "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="],
-
- "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="],
-
- "path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="],
-
- "path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="],
-
- "path-to-regexp": ["path-to-regexp@6.3.0", "", {}, "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ=="],
-
- "path-type": ["path-type@4.0.0", "", {}, "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="],
-
- "pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="],
-
- "pause": ["pause@0.0.1", "", {}, "sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg=="],
-
- "pbkdf2": ["pbkdf2@3.1.5", "", { "dependencies": { "create-hash": "^1.2.0", "create-hmac": "^1.1.7", "ripemd160": "^2.0.3", "safe-buffer": "^5.2.1", "sha.js": "^2.4.12", "to-buffer": "^1.2.1" } }, "sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ=="],
-
- "pct-encode": ["pct-encode@1.0.3", "", {}, "sha512-+ojEvSHApoLWF2YYxwnOM4N9DPn5e5fG+j0YJ9drKNaYtrZYOq5M9ESOaBYqOHCXOAALODJJ4wkqHAXEuLpwMw=="],
-
- "pend": ["pend@1.2.0", "", {}, "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="],
-
- "performance-now": ["performance-now@2.1.0", "", {}, "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="],
-
- "pg": ["pg@8.16.3", "", { "dependencies": { "pg-connection-string": "^2.9.1", "pg-pool": "^3.10.1", "pg-protocol": "^1.10.3", "pg-types": "2.2.0", "pgpass": "1.0.5" }, "optionalDependencies": { "pg-cloudflare": "^1.2.7" }, "peerDependencies": { "pg-native": ">=3.0.1" }, "optionalPeers": ["pg-native"] }, "sha512-enxc1h0jA/aq5oSDMvqyW3q89ra6XIIDZgCX9vkMrnz5DFTw/Ny3Li2lFQ+pt3L6MCgm/5o2o8HW9hiJji+xvw=="],
-
- "pg-cloudflare": ["pg-cloudflare@1.2.7", "", {}, "sha512-YgCtzMH0ptvZJslLM1ffsY4EuGaU0cx4XSdXLRFae8bPP4dS5xL1tNB3k2o/N64cHJpwU7dxKli/nZ2lUa5fLg=="],
-
- "pg-connection-string": ["pg-connection-string@2.9.1", "", {}, "sha512-nkc6NpDcvPVpZXxrreI/FOtX3XemeLl8E0qFr6F2Lrm/I8WOnaWNhIPK2Z7OHpw7gh5XJThi6j6ppgNoaT1w4w=="],
-
- "pg-format": ["pg-format@1.0.4", "", {}, "sha512-YyKEF78pEA6wwTAqOUaHIN/rWpfzzIuMh9KdAhc3rSLQ/7zkRFcCgYBAEGatDstLyZw4g0s9SNICmaTGnBVeyw=="],
-
- "pg-int8": ["pg-int8@1.0.1", "", {}, "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw=="],
-
- "pg-pool": ["pg-pool@3.10.1", "", { "peerDependencies": { "pg": ">=8.0" } }, "sha512-Tu8jMlcX+9d8+QVzKIvM/uJtp07PKr82IUOYEphaWcoBhIYkoHpLXN3qO59nAI11ripznDsEzEv8nUxBVWajGg=="],
-
- "pg-protocol": ["pg-protocol@1.10.3", "", {}, "sha512-6DIBgBQaTKDJyxnXaLiLR8wBpQQcGWuAESkRBX/t6OwA8YsqP+iVSiond2EDy6Y/dsGk8rh/jtax3js5NeV7JQ=="],
-
- "pg-types": ["pg-types@2.2.0", "", { "dependencies": { "pg-int8": "1.0.1", "postgres-array": "~2.0.0", "postgres-bytea": "~1.0.0", "postgres-date": "~1.0.4", "postgres-interval": "^1.1.0" } }, "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA=="],
-
- "pgpass": ["pgpass@1.0.5", "", { "dependencies": { "split2": "^4.1.0" } }, "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug=="],
-
- "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
-
- "picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="],
-
- "pify": ["pify@5.0.0", "", {}, "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA=="],
-
- "pirates": ["pirates@4.0.7", "", {}, "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA=="],
-
- "pkg-dir": ["pkg-dir@4.2.0", "", { "dependencies": { "find-up": "^4.0.0" } }, "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ=="],
-
- "pkg-up": ["pkg-up@3.1.0", "", { "dependencies": { "find-up": "^3.0.0" } }, "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA=="],
-
- "pkginfo": ["pkginfo@0.2.3", "", {}, "sha512-7W7wTrE/NsY8xv/DTGjwNIyNah81EQH0MWcTzrHL6pOpMocOGZc0Mbdz9aXxSrp+U0mSmkU8jrNCDCfUs3sOBg=="],
-
- "playwright": ["playwright@1.57.0", "", { "dependencies": { "playwright-core": "1.57.0" }, "optionalDependencies": { "fsevents": "2.3.2" }, "bin": { "playwright": "cli.js" } }, "sha512-ilYQj1s8sr2ppEJ2YVadYBN0Mb3mdo9J0wQ+UuDhzYqURwSoW4n1Xs5vs7ORwgDGmyEh33tRMeS8KhdkMoLXQw=="],
-
- "playwright-core": ["playwright-core@1.57.0", "", { "bin": { "playwright-core": "cli.js" } }, "sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ=="],
-
- "pluralize": ["pluralize@8.0.0", "", {}, "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA=="],
-
- "popper.js": ["popper.js@1.16.1-lts", "", {}, "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA=="],
-
- "portfinder": ["portfinder@1.0.38", "", { "dependencies": { "async": "^3.2.6", "debug": "^4.3.6" } }, "sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg=="],
-
- "possible-typed-array-names": ["possible-typed-array-names@1.1.0", "", {}, "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg=="],
-
- "postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="],
-
- "postcss-calc": ["postcss-calc@8.2.4", "", { "dependencies": { "postcss-selector-parser": "^6.0.9", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.2.2" } }, "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q=="],
-
- "postcss-colormin": ["postcss-colormin@5.3.1", "", { "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0", "colord": "^2.9.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ=="],
-
- "postcss-convert-values": ["postcss-convert-values@5.1.3", "", { "dependencies": { "browserslist": "^4.21.4", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA=="],
-
- "postcss-discard-comments": ["postcss-discard-comments@5.1.2", "", { "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ=="],
-
- "postcss-discard-duplicates": ["postcss-discard-duplicates@5.1.0", "", { "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw=="],
-
- "postcss-discard-empty": ["postcss-discard-empty@5.1.1", "", { "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A=="],
-
- "postcss-discard-overridden": ["postcss-discard-overridden@5.1.0", "", { "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw=="],
-
- "postcss-load-config": ["postcss-load-config@3.1.4", "", { "dependencies": { "lilconfig": "^2.0.5", "yaml": "^1.10.2" }, "peerDependencies": { "postcss": ">=8.0.9", "ts-node": ">=9.0.0" }, "optionalPeers": ["postcss", "ts-node"] }, "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg=="],
-
- "postcss-merge-longhand": ["postcss-merge-longhand@5.1.7", "", { "dependencies": { "postcss-value-parser": "^4.2.0", "stylehacks": "^5.1.1" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ=="],
-
- "postcss-merge-rules": ["postcss-merge-rules@5.1.4", "", { "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0", "cssnano-utils": "^3.1.0", "postcss-selector-parser": "^6.0.5" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g=="],
-
- "postcss-minify-font-values": ["postcss-minify-font-values@5.1.0", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA=="],
-
- "postcss-minify-gradients": ["postcss-minify-gradients@5.1.1", "", { "dependencies": { "colord": "^2.9.1", "cssnano-utils": "^3.1.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw=="],
-
- "postcss-minify-params": ["postcss-minify-params@5.1.4", "", { "dependencies": { "browserslist": "^4.21.4", "cssnano-utils": "^3.1.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw=="],
-
- "postcss-minify-selectors": ["postcss-minify-selectors@5.2.1", "", { "dependencies": { "postcss-selector-parser": "^6.0.5" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg=="],
-
- "postcss-modules": ["postcss-modules@4.3.1", "", { "dependencies": { "generic-names": "^4.0.0", "icss-replace-symbols": "^1.1.0", "lodash.camelcase": "^4.3.0", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", "string-hash": "^1.1.1" }, "peerDependencies": { "postcss": "^8.0.0" } }, "sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q=="],
-
- "postcss-modules-extract-imports": ["postcss-modules-extract-imports@3.1.0", "", { "peerDependencies": { "postcss": "^8.1.0" } }, "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q=="],
-
- "postcss-modules-local-by-default": ["postcss-modules-local-by-default@4.2.0", "", { "dependencies": { "icss-utils": "^5.0.0", "postcss-selector-parser": "^7.0.0", "postcss-value-parser": "^4.1.0" }, "peerDependencies": { "postcss": "^8.1.0" } }, "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw=="],
-
- "postcss-modules-scope": ["postcss-modules-scope@3.2.1", "", { "dependencies": { "postcss-selector-parser": "^7.0.0" }, "peerDependencies": { "postcss": "^8.1.0" } }, "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA=="],
-
- "postcss-modules-values": ["postcss-modules-values@4.0.0", "", { "dependencies": { "icss-utils": "^5.0.0" }, "peerDependencies": { "postcss": "^8.1.0" } }, "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ=="],
-
- "postcss-normalize-charset": ["postcss-normalize-charset@5.1.0", "", { "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg=="],
-
- "postcss-normalize-display-values": ["postcss-normalize-display-values@5.1.0", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA=="],
-
- "postcss-normalize-positions": ["postcss-normalize-positions@5.1.1", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg=="],
-
- "postcss-normalize-repeat-style": ["postcss-normalize-repeat-style@5.1.1", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g=="],
-
- "postcss-normalize-string": ["postcss-normalize-string@5.1.0", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w=="],
-
- "postcss-normalize-timing-functions": ["postcss-normalize-timing-functions@5.1.0", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg=="],
-
- "postcss-normalize-unicode": ["postcss-normalize-unicode@5.1.1", "", { "dependencies": { "browserslist": "^4.21.4", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA=="],
-
- "postcss-normalize-url": ["postcss-normalize-url@5.1.0", "", { "dependencies": { "normalize-url": "^6.0.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew=="],
-
- "postcss-normalize-whitespace": ["postcss-normalize-whitespace@5.1.1", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA=="],
-
- "postcss-ordered-values": ["postcss-ordered-values@5.1.3", "", { "dependencies": { "cssnano-utils": "^3.1.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ=="],
-
- "postcss-reduce-initial": ["postcss-reduce-initial@5.1.2", "", { "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg=="],
-
- "postcss-reduce-transforms": ["postcss-reduce-transforms@5.1.0", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ=="],
-
- "postcss-selector-parser": ["postcss-selector-parser@7.1.1", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg=="],
-
- "postcss-svgo": ["postcss-svgo@5.1.0", "", { "dependencies": { "postcss-value-parser": "^4.2.0", "svgo": "^2.7.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA=="],
-
- "postcss-unique-selectors": ["postcss-unique-selectors@5.1.1", "", { "dependencies": { "postcss-selector-parser": "^6.0.5" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA=="],
-
- "postcss-value-parser": ["postcss-value-parser@4.2.0", "", {}, "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="],
-
- "postgres-array": ["postgres-array@2.0.0", "", {}, "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA=="],
-
- "postgres-bytea": ["postgres-bytea@1.0.1", "", {}, "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ=="],
-
- "postgres-date": ["postgres-date@1.0.7", "", {}, "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q=="],
-
- "postgres-interval": ["postgres-interval@1.2.0", "", { "dependencies": { "xtend": "^4.0.0" } }, "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ=="],
-
- "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="],
-
- "pretty-error": ["pretty-error@4.0.0", "", { "dependencies": { "lodash": "^4.17.20", "renderkid": "^3.0.0" } }, "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw=="],
-
- "pretty-format": ["pretty-format@29.7.0", "", { "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" } }, "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ=="],
-
- "prismjs": ["prismjs@1.30.0", "", {}, "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw=="],
-
- "process": ["process@0.11.10", "", {}, "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A=="],
-
- "process-nextick-args": ["process-nextick-args@2.0.1", "", {}, "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="],
-
- "prom-client": ["prom-client@15.1.3", "", { "dependencies": { "@opentelemetry/api": "^1.4.0", "tdigest": "^0.1.1" } }, "sha512-6ZiOBfCywsD4k1BN9IX0uZhF+tJkV8q8llP64G5Hajs4JOeVLPCwpPVcpXy3BwYiUGgyJzsJJQeOIv7+hDSq8g=="],
-
- "promise.series": ["promise.series@0.2.0", "", {}, "sha512-VWQJyU2bcDTgZw8kpfBpB/ejZASlCrzwz5f2hjb/zlujOEB4oeiAhHygAWq8ubsX2GVkD4kCU5V2dwOTaCY5EQ=="],
-
- "prompts": ["prompts@2.4.2", "", { "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q=="],
-
- "prop-types": ["prop-types@15.8.1", "", { "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.13.1" } }, "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg=="],
-
- "property-expr": ["property-expr@2.0.6", "", {}, "sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA=="],
-
- "property-information": ["property-information@6.5.0", "", {}, "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig=="],
-
- "proto3-json-serializer": ["proto3-json-serializer@2.0.2", "", { "dependencies": { "protobufjs": "^7.2.5" } }, "sha512-SAzp/O4Yh02jGdRc+uIrGoe87dkN/XtwxfZ4ZyafJHymd79ozp5VG5nyZ7ygqPM5+cpLDjjGnYFUkngonyDPOQ=="],
-
- "protobufjs": ["protobufjs@7.5.4", "", { "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", "@protobufjs/codegen": "^2.0.4", "@protobufjs/eventemitter": "^1.1.0", "@protobufjs/fetch": "^1.1.0", "@protobufjs/float": "^1.0.2", "@protobufjs/inquire": "^1.1.0", "@protobufjs/path": "^1.1.2", "@protobufjs/pool": "^1.1.0", "@protobufjs/utf8": "^1.1.0", "@types/node": ">=13.7.0", "long": "^5.0.0" } }, "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg=="],
-
- "protocols": ["protocols@2.0.2", "", {}, "sha512-hHVTzba3wboROl0/aWRRG9dMytgH6ow//STBZh43l/wQgmMhYhOFi0EHWAPtoCz9IAUymsyP0TSBHkhgMEGNnQ=="],
-
- "proxy-addr": ["proxy-addr@2.0.7", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="],
-
- "proxy-from-env": ["proxy-from-env@1.1.0", "", {}, "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="],
-
- "psl": ["psl@1.15.0", "", { "dependencies": { "punycode": "^2.3.1" } }, "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w=="],
-
- "public-encrypt": ["public-encrypt@4.0.3", "", { "dependencies": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", "create-hash": "^1.1.0", "parse-asn1": "^5.0.0", "randombytes": "^2.0.1", "safe-buffer": "^5.1.2" } }, "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q=="],
-
- "pump": ["pump@3.0.3", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA=="],
-
- "punycode": ["punycode@1.4.1", "", {}, "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ=="],
-
- "pure-rand": ["pure-rand@6.1.0", "", {}, "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA=="],
-
- "qs": ["qs@6.14.0", "", { "dependencies": { "side-channel": "^1.1.0" } }, "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w=="],
-
- "querystring-es3": ["querystring-es3@0.2.1", "", {}, "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA=="],
-
- "querystringify": ["querystringify@2.2.0", "", {}, "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ=="],
-
- "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="],
-
- "quick-lru": ["quick-lru@5.1.1", "", {}, "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA=="],
-
- "raf-schd": ["raf-schd@4.0.3", "", {}, "sha512-tQkJl2GRWh83ui2DiPTJz9wEiMN20syf+5oKfB03yYP7ioZcJwsIK8FjrtLwH1m7C7e+Tt2yYBlrOpdT+dyeIQ=="],
-
- "rambda": ["rambda@9.4.2", "", {}, "sha512-++euMfxnl7OgaEKwXh9QqThOjMeta2HH001N1v4mYQzBjJBnmXBh2BCK6dZAbICFVXOFUVD3xFG0R3ZPU0mxXw=="],
-
- "random-bytes": ["random-bytes@1.0.0", "", {}, "sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ=="],
-
- "randombytes": ["randombytes@2.1.0", "", { "dependencies": { "safe-buffer": "^5.1.0" } }, "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ=="],
-
- "randomfill": ["randomfill@1.0.4", "", { "dependencies": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" } }, "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw=="],
-
- "range-parser": ["range-parser@1.2.1", "", {}, "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="],
-
- "raw-body": ["raw-body@2.5.3", "", { "dependencies": { "bytes": "~3.1.2", "http-errors": "~2.0.1", "iconv-lite": "~0.4.24", "unpipe": "~1.0.0" } }, "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA=="],
-
- "raw-loader": ["raw-loader@4.0.2", "", { "dependencies": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" }, "peerDependencies": { "webpack": "^4.0.0 || ^5.0.0" } }, "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA=="],
-
- "rc-progress": ["rc-progress@3.5.1", "", { "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.6", "rc-util": "^5.16.1" }, "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" } }, "sha512-V6Amx6SbLRwPin/oD+k1vbPrO8+9Qf8zW1T8A7o83HdNafEVvAxPV5YsgtKFP+Ud5HghLj33zKOcEHrcrUGkfw=="],
-
- "rc-util": ["rc-util@5.44.4", "", { "dependencies": { "@babel/runtime": "^7.18.3", "react-is": "^18.2.0" }, "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" } }, "sha512-resueRJzmHG9Q6rI/DfK6Kdv9/Lfls05vzMs1Sk3M2P+3cJa+MakaZyWY8IPfehVuhPJFKrIY1IK4GqbiaiY5w=="],
-
- "react": ["react@18.3.1", "", { "dependencies": { "loose-envify": "^1.1.0" } }, "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ=="],
-
- "react-aria": ["react-aria@3.45.0", "", { "dependencies": { "@internationalized/string": "^3.2.7", "@react-aria/breadcrumbs": "^3.5.30", "@react-aria/button": "^3.14.3", "@react-aria/calendar": "^3.9.3", "@react-aria/checkbox": "^3.16.3", "@react-aria/color": "^3.1.3", "@react-aria/combobox": "^3.14.1", "@react-aria/datepicker": "^3.15.3", "@react-aria/dialog": "^3.5.32", "@react-aria/disclosure": "^3.1.1", "@react-aria/dnd": "^3.11.4", "@react-aria/focus": "^3.21.3", "@react-aria/gridlist": "^3.14.2", "@react-aria/i18n": "^3.12.14", "@react-aria/interactions": "^3.26.0", "@react-aria/label": "^3.7.23", "@react-aria/landmark": "^3.0.8", "@react-aria/link": "^3.8.7", "@react-aria/listbox": "^3.15.1", "@react-aria/menu": "^3.19.4", "@react-aria/meter": "^3.4.28", "@react-aria/numberfield": "^3.12.3", "@react-aria/overlays": "^3.31.0", "@react-aria/progress": "^3.4.28", "@react-aria/radio": "^3.12.3", "@react-aria/searchfield": "^3.8.10", "@react-aria/select": "^3.17.1", "@react-aria/selection": "^3.27.0", "@react-aria/separator": "^3.4.14", "@react-aria/slider": "^3.8.3", "@react-aria/ssr": "^3.9.10", "@react-aria/switch": "^3.7.9", "@react-aria/table": "^3.17.9", "@react-aria/tabs": "^3.10.9", "@react-aria/tag": "^3.7.3", "@react-aria/textfield": "^3.18.3", "@react-aria/toast": "^3.0.9", "@react-aria/tooltip": "^3.9.0", "@react-aria/tree": "^3.1.5", "@react-aria/utils": "^3.32.0", "@react-aria/visually-hidden": "^3.8.29", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-QsdWIhhm3+IAiW3SU9tEm7pmeIcveEPAO6riZ1IUF78ZCvH/47nU4zVztcdtYmwYWSL4168QxLncWKtlMva3BA=="],
-
- "react-aria-components": ["react-aria-components@1.14.0", "", { "dependencies": { "@internationalized/date": "^3.10.1", "@internationalized/string": "^3.2.7", "@react-aria/autocomplete": "3.0.0-rc.4", "@react-aria/collections": "^3.0.1", "@react-aria/dnd": "^3.11.4", "@react-aria/focus": "^3.21.3", "@react-aria/interactions": "^3.26.0", "@react-aria/live-announcer": "^3.4.4", "@react-aria/overlays": "^3.31.0", "@react-aria/ssr": "^3.9.10", "@react-aria/textfield": "^3.18.3", "@react-aria/toolbar": "3.0.0-beta.22", "@react-aria/utils": "^3.32.0", "@react-aria/virtualizer": "^4.1.11", "@react-stately/autocomplete": "3.0.0-beta.4", "@react-stately/layout": "^4.5.2", "@react-stately/selection": "^3.20.7", "@react-stately/table": "^3.15.2", "@react-stately/utils": "^3.11.0", "@react-stately/virtualizer": "^4.4.4", "@react-types/form": "^3.7.16", "@react-types/grid": "^3.3.6", "@react-types/shared": "^3.32.1", "@react-types/table": "^3.13.4", "@swc/helpers": "^0.5.0", "client-only": "^0.0.1", "react-aria": "^3.45.0", "react-stately": "^3.43.0", "use-sync-external-store": "^1.4.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-u21N/yS6Ozk9P9oO8wxMNZSFiPk6F3aAE9w6aN7pseGPApkjXqDyPNCnTsTTvMtVL3QRBkVbf7fJ5yi2hksVEg=="],
-
- "react-beautiful-dnd": ["react-beautiful-dnd@13.1.1", "", { "dependencies": { "@babel/runtime": "^7.9.2", "css-box-model": "^1.2.0", "memoize-one": "^5.1.1", "raf-schd": "^4.0.2", "react-redux": "^7.2.0", "redux": "^4.0.4", "use-memo-one": "^1.1.1" }, "peerDependencies": { "react": "^16.8.5 || ^17.0.0 || ^18.0.0", "react-dom": "^16.8.5 || ^17.0.0 || ^18.0.0" } }, "sha512-0Lvs4tq2VcrEjEgDXHjT98r+63drkKEgqyxdA7qD3mvKwga6a5SscbdLPO2IExotU1jW8L0Ksdl0Cj2AF67nPQ=="],
-
- "react-dev-utils": ["react-dev-utils@12.0.1", "", { "dependencies": { "@babel/code-frame": "^7.16.0", "address": "^1.1.2", "browserslist": "^4.18.1", "chalk": "^4.1.2", "cross-spawn": "^7.0.3", "detect-port-alt": "^1.1.6", "escape-string-regexp": "^4.0.0", "filesize": "^8.0.6", "find-up": "^5.0.0", "fork-ts-checker-webpack-plugin": "^6.5.0", "global-modules": "^2.0.0", "globby": "^11.0.4", "gzip-size": "^6.0.0", "immer": "^9.0.7", "is-root": "^2.1.0", "loader-utils": "^3.2.0", "open": "^8.4.0", "pkg-up": "^3.1.0", "prompts": "^2.4.2", "react-error-overlay": "^6.0.11", "recursive-readdir": "^2.2.2", "shell-quote": "^1.7.3", "strip-ansi": "^6.0.1", "text-table": "^0.2.0" } }, "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ=="],
-
- "react-dom": ["react-dom@18.3.1", "", { "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" }, "peerDependencies": { "react": "^18.3.1" } }, "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw=="],
-
- "react-double-scrollbar": ["react-double-scrollbar@0.0.15", "", { "peerDependencies": { "react": ">= 0.14.7" } }, "sha512-dLz3/WBIpgFnzFY0Kb4aIYBMT2BWomHuW2DH6/9jXfS6/zxRRBUFQ04My4HIB7Ma7QoRBpcy8NtkPeFgcGBpgg=="],
-
- "react-draggable": ["react-draggable@4.5.0", "", { "dependencies": { "clsx": "^2.1.1", "prop-types": "^15.8.1" }, "peerDependencies": { "react": ">= 16.3.0", "react-dom": ">= 16.3.0" } }, "sha512-VC+HBLEZ0XJxnOxVAZsdRi8rD04Iz3SiiKOoYzamjylUcju/hP9np/aZdLHf/7WOD268WMoNJMvYfB5yAK45cw=="],
-
- "react-error-overlay": ["react-error-overlay@6.1.0", "", {}, "sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ=="],
-
- "react-fast-compare": ["react-fast-compare@3.2.2", "", {}, "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ=="],
-
- "react-full-screen": ["react-full-screen@1.1.1", "", { "dependencies": { "fscreen": "^1.0.2" }, "peerDependencies": { "react": ">= 16.8.0" } }, "sha512-xoEgkoTiN0dw9cjYYGViiMCBYbkS97BYb4bHPhQVWXj1UnOs8PZ1rPzpX+2HMhuvQV1jA5AF9GaRbO3fA5aZtg=="],
-
- "react-grid-layout": ["react-grid-layout@1.3.4", "", { "dependencies": { "clsx": "^1.1.1", "lodash.isequal": "^4.0.0", "prop-types": "^15.8.1", "react-draggable": "^4.0.0", "react-resizable": "^3.0.4" }, "peerDependencies": { "react": ">= 16.3.0", "react-dom": ">= 16.3.0" } }, "sha512-sB3rNhorW77HUdOjB4JkelZTdJGQKuXLl3gNg+BI8gJkTScspL1myfZzW/EM0dLEn+1eH+xW+wNqk0oIM9o7cw=="],
-
- "react-helmet": ["react-helmet@6.1.0", "", { "dependencies": { "object-assign": "^4.1.1", "prop-types": "^15.7.2", "react-fast-compare": "^3.1.1", "react-side-effect": "^2.1.0" }, "peerDependencies": { "react": ">=16.3.0" } }, "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw=="],
-
- "react-hook-form": ["react-hook-form@7.69.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17 || ^18 || ^19" } }, "sha512-yt6ZGME9f4F6WHwevrvpAjh42HMvocuSnSIHUGycBqXIJdhqGSPQzTpGF+1NLREk/58IdPxEMfPcFCjlMhclGw=="],
-
- "react-idle-timer": ["react-idle-timer@5.7.2", "", { "peerDependencies": { "react": ">=16", "react-dom": ">=16" } }, "sha512-+BaPfc7XEUU5JFkwZCx6fO1bLVK+RBlFH+iY4X34urvIzZiZINP6v2orePx3E6pAztJGE7t4DzvL7if2SL/0GQ=="],
-
- "react-is": ["react-is@17.0.2", "", {}, "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="],
-
- "react-markdown": ["react-markdown@8.0.7", "", { "dependencies": { "@types/hast": "^2.0.0", "@types/prop-types": "^15.0.0", "@types/unist": "^2.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-whitespace": "^2.0.0", "prop-types": "^15.0.0", "property-information": "^6.0.0", "react-is": "^18.0.0", "remark-parse": "^10.0.0", "remark-rehype": "^10.0.0", "space-separated-tokens": "^2.0.0", "style-to-object": "^0.4.0", "unified": "^10.0.0", "unist-util-visit": "^4.0.0", "vfile": "^5.0.0" }, "peerDependencies": { "@types/react": ">=16", "react": ">=16" } }, "sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ=="],
-
- "react-redux": ["react-redux@7.2.9", "", { "dependencies": { "@babel/runtime": "^7.15.4", "@types/react-redux": "^7.1.20", "hoist-non-react-statics": "^3.3.2", "loose-envify": "^1.4.0", "prop-types": "^15.7.2", "react-is": "^17.0.2" }, "peerDependencies": { "react": "^16.8.3 || ^17 || ^18" } }, "sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ=="],
-
- "react-refresh": ["react-refresh@0.14.2", "", {}, "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA=="],
-
- "react-resizable": ["react-resizable@3.0.5", "", { "dependencies": { "prop-types": "15.x", "react-draggable": "^4.0.3" }, "peerDependencies": { "react": ">= 16.3" } }, "sha512-vKpeHhI5OZvYn82kXOs1bC8aOXktGU5AmKAgaZS4F5JPburCtbmDPqE7Pzp+1kN4+Wb81LlF33VpGwWwtXem+w=="],
-
- "react-router": ["react-router@6.30.2", "", { "dependencies": { "@remix-run/router": "1.23.1" }, "peerDependencies": { "react": ">=16.8" } }, "sha512-H2Bm38Zu1bm8KUE5NVWRMzuIyAV8p/JrOaBJAwVmp37AXG72+CZJlEBw6pdn9i5TBgLMhNDgijS4ZlblpHyWTA=="],
-
- "react-router-dom": ["react-router-dom@6.30.2", "", { "dependencies": { "@remix-run/router": "1.23.1", "react-router": "6.30.2" }, "peerDependencies": { "react": ">=16.8", "react-dom": ">=16.8" } }, "sha512-l2OwHn3UUnEVUqc6/1VMmR1cvZryZ3j3NzapC2eUXO1dB0sYp5mvwdjiXhpUbRb21eFow3qSxpP8Yv6oAU824Q=="],
-
- "react-side-effect": ["react-side-effect@2.1.2", "", { "peerDependencies": { "react": "^16.3.0 || ^17.0.0 || ^18.0.0" } }, "sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw=="],
-
- "react-sparklines": ["react-sparklines@1.7.0", "", { "dependencies": { "prop-types": "^15.5.10" }, "peerDependencies": { "react": "*", "react-dom": "*" } }, "sha512-bJFt9K4c5Z0k44G8KtxIhbG+iyxrKjBZhdW6afP+R7EnIq+iKjbWbEFISrf3WKNFsda+C46XAfnX0StS5fbDcg=="],
-
- "react-stately": ["react-stately@3.43.0", "", { "dependencies": { "@react-stately/calendar": "^3.9.1", "@react-stately/checkbox": "^3.7.3", "@react-stately/collections": "^3.12.8", "@react-stately/color": "^3.9.3", "@react-stately/combobox": "^3.12.1", "@react-stately/data": "^3.15.0", "@react-stately/datepicker": "^3.15.3", "@react-stately/disclosure": "^3.0.9", "@react-stately/dnd": "^3.7.2", "@react-stately/form": "^3.2.2", "@react-stately/list": "^3.13.2", "@react-stately/menu": "^3.9.9", "@react-stately/numberfield": "^3.10.3", "@react-stately/overlays": "^3.6.21", "@react-stately/radio": "^3.11.3", "@react-stately/searchfield": "^3.5.17", "@react-stately/select": "^3.9.0", "@react-stately/selection": "^3.20.7", "@react-stately/slider": "^3.7.3", "@react-stately/table": "^3.15.2", "@react-stately/tabs": "^3.8.7", "@react-stately/toast": "^3.1.2", "@react-stately/toggle": "^3.9.3", "@react-stately/tooltip": "^3.5.9", "@react-stately/tree": "^3.9.4", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-dScb9fTL1tRtFODPnk/2rP0a9kp1C+7+40RArS0C7j0auAUmnrO/wDILojwQUso7/kkys4fP707fTwGJDeJ7vg=="],
-
- "react-syntax-highlighter": ["react-syntax-highlighter@15.6.6", "", { "dependencies": { "@babel/runtime": "^7.3.1", "highlight.js": "^10.4.1", "highlightjs-vue": "^1.0.0", "lowlight": "^1.17.0", "prismjs": "^1.30.0", "refractor": "^3.6.0" }, "peerDependencies": { "react": ">= 0.14.0" } }, "sha512-DgXrc+AZF47+HvAPEmn7Ua/1p10jNoVZVI/LoPiYdtY+OM+/nG5yefLHKJwdKqY1adMuHFbeyBaG9j64ML7vTw=="],
-
- "react-transition-group": ["react-transition-group@4.4.5", "", { "dependencies": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", "loose-envify": "^1.4.0", "prop-types": "^15.6.2" }, "peerDependencies": { "react": ">=16.6.0", "react-dom": ">=16.6.0" } }, "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g=="],
-
- "react-universal-interface": ["react-universal-interface@0.6.2", "", { "peerDependencies": { "react": "*", "tslib": "*" } }, "sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw=="],
-
- "react-use": ["react-use@17.6.0", "", { "dependencies": { "@types/js-cookie": "^2.2.6", "@xobotyi/scrollbar-width": "^1.9.5", "copy-to-clipboard": "^3.3.1", "fast-deep-equal": "^3.1.3", "fast-shallow-equal": "^1.0.0", "js-cookie": "^2.2.1", "nano-css": "^5.6.2", "react-universal-interface": "^0.6.2", "resize-observer-polyfill": "^1.5.1", "screenfull": "^5.1.0", "set-harmonic-interval": "^1.0.1", "throttle-debounce": "^3.0.1", "ts-easing": "^0.2.0", "tslib": "^2.1.0" }, "peerDependencies": { "react": "*", "react-dom": "*" } }, "sha512-OmedEScUMKFfzn1Ir8dBxiLLSOzhKe/dPZwVxcujweSj45aNM7BEGPb9BEVIgVEqEXx6f3/TsXzwIktNgUR02g=="],
-
- "react-virtualized-auto-sizer": ["react-virtualized-auto-sizer@1.0.26", "", { "peerDependencies": { "react": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-CblNyiNVw2o+hsa5/49NH2ogGxZ+t+3aweRvNSq7TVjDIlwk7ir4lencEg5HxHeSzwNarSkNkiu0qJSOXtxm5A=="],
-
- "react-window": ["react-window@1.8.11", "", { "dependencies": { "@babel/runtime": "^7.0.0", "memoize-one": ">=3.1.1 <6" }, "peerDependencies": { "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-+SRbUVT2scadgFSWx+R1P754xHPEqvcfSfVX10QYg6POOz+WNgkN48pS+BtZNIMGiL1HYrSEiCkwsMS15QogEQ=="],
-
- "read-tls-client-hello": ["read-tls-client-hello@1.1.0", "", { "dependencies": { "@types/node": "*" } }, "sha512-htV8ph2jXGCVnKRwW12V1UQdfwC2jPFrDrk8Qh9P+4R/t/Jef/BNmfdX5jsxlcakUMPskwiPZT/enVbjRQqtGQ=="],
-
- "read-yaml-file": ["read-yaml-file@1.1.0", "", { "dependencies": { "graceful-fs": "^4.1.5", "js-yaml": "^3.6.1", "pify": "^4.0.1", "strip-bom": "^3.0.0" } }, "sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA=="],
-
- "readable-stream": ["readable-stream@2.3.8", "", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="],
-
- "readdir-glob": ["readdir-glob@1.1.3", "", { "dependencies": { "minimatch": "^5.1.0" } }, "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA=="],
-
- "readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="],
-
- "rechoir": ["rechoir@0.8.0", "", { "dependencies": { "resolve": "^1.20.0" } }, "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ=="],
-
- "recursive-readdir": ["recursive-readdir@2.2.3", "", { "dependencies": { "minimatch": "^3.0.5" } }, "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA=="],
-
- "redis-errors": ["redis-errors@1.2.0", "", {}, "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w=="],
-
- "redis-parser": ["redis-parser@3.0.0", "", { "dependencies": { "redis-errors": "^1.0.0" } }, "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A=="],
-
- "redux": ["redux@4.2.1", "", { "dependencies": { "@babel/runtime": "^7.9.2" } }, "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w=="],
-
- "reflect.getprototypeof": ["reflect.getprototypeof@1.0.10", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.9", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", "get-intrinsic": "^1.2.7", "get-proto": "^1.0.1", "which-builtin-type": "^1.2.1" } }, "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw=="],
-
- "refractor": ["refractor@3.6.0", "", { "dependencies": { "hastscript": "^6.0.0", "parse-entities": "^2.0.0", "prismjs": "~1.27.0" } }, "sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA=="],
-
- "regenerate": ["regenerate@1.4.2", "", {}, "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A=="],
-
- "regenerate-unicode-properties": ["regenerate-unicode-properties@10.2.2", "", { "dependencies": { "regenerate": "^1.4.2" } }, "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g=="],
-
- "regexp.prototype.flags": ["regexp.prototype.flags@1.5.4", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-errors": "^1.3.0", "get-proto": "^1.0.1", "gopd": "^1.2.0", "set-function-name": "^2.0.2" } }, "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA=="],
-
- "regexpu-core": ["regexpu-core@6.4.0", "", { "dependencies": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.2.2", "regjsgen": "^0.8.0", "regjsparser": "^0.13.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.2.1" } }, "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA=="],
-
- "regjsgen": ["regjsgen@0.8.0", "", {}, "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q=="],
-
- "regjsparser": ["regjsparser@0.13.0", "", { "dependencies": { "jsesc": "~3.1.0" }, "bin": { "regjsparser": "bin/parser" } }, "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q=="],
-
- "relateurl": ["relateurl@0.2.7", "", {}, "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog=="],
-
- "remark-gfm": ["remark-gfm@3.0.1", "", { "dependencies": { "@types/mdast": "^3.0.0", "mdast-util-gfm": "^2.0.0", "micromark-extension-gfm": "^2.0.0", "unified": "^10.0.0" } }, "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig=="],
-
- "remark-parse": ["remark-parse@10.0.2", "", { "dependencies": { "@types/mdast": "^3.0.0", "mdast-util-from-markdown": "^1.0.0", "unified": "^10.0.0" } }, "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw=="],
-
- "remark-rehype": ["remark-rehype@10.1.0", "", { "dependencies": { "@types/hast": "^2.0.0", "@types/mdast": "^3.0.0", "mdast-util-to-hast": "^12.1.0", "unified": "^10.0.0" } }, "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw=="],
-
- "renderkid": ["renderkid@3.0.0", "", { "dependencies": { "css-select": "^4.1.3", "dom-converter": "^0.2.0", "htmlparser2": "^6.1.0", "lodash": "^4.17.21", "strip-ansi": "^6.0.1" } }, "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg=="],
-
- "replace-in-file": ["replace-in-file@7.2.0", "", { "dependencies": { "chalk": "^4.1.2", "glob": "^8.1.0", "yargs": "^17.7.2" }, "bin": { "replace-in-file": "bin/cli.js" } }, "sha512-CiLXVop3o8/h2Kd1PwKPPimmS9wUV0Ki6Fl8+1ITD35nB3Gl/PrW5IONpTE0AXk0z4v8WYcpEpdeZqMXvSnWpg=="],
-
- "request": ["request@2.88.2", "", { "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", "caseless": "~0.12.0", "combined-stream": "~1.0.6", "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", "har-validator": "~5.1.3", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "oauth-sign": "~0.9.0", "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" } }, "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw=="],
-
- "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="],
-
- "require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="],
-
- "requires-port": ["requires-port@1.0.0", "", {}, "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="],
-
- "resize-observer-polyfill": ["resize-observer-polyfill@1.5.1", "", {}, "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="],
-
- "resolve": ["resolve@2.0.0-next.5", "", { "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA=="],
-
- "resolve-alpn": ["resolve-alpn@1.2.1", "", {}, "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g=="],
-
- "resolve-cwd": ["resolve-cwd@3.0.0", "", { "dependencies": { "resolve-from": "^5.0.0" } }, "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg=="],
-
- "resolve-dir": ["resolve-dir@1.0.1", "", { "dependencies": { "expand-tilde": "^2.0.0", "global-modules": "^1.0.0" } }, "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg=="],
-
- "resolve-from": ["resolve-from@5.0.0", "", {}, "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="],
-
- "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="],
-
- "resolve.exports": ["resolve.exports@2.0.3", "", {}, "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A=="],
-
- "restore-cursor": ["restore-cursor@3.1.0", "", { "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" } }, "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA=="],
-
- "retry": ["retry@0.13.1", "", {}, "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg=="],
-
- "retry-request": ["retry-request@7.0.2", "", { "dependencies": { "@types/request": "^2.48.8", "extend": "^3.0.2", "teeny-request": "^9.0.0" } }, "sha512-dUOvLMJ0/JJYEn8NrpOaGNE7X3vpI5XlZS/u0ANjqtcZVKnIxP7IgCFwrKTxENw29emmwug53awKtaMm4i9g5w=="],
-
- "rettime": ["rettime@0.7.0", "", {}, "sha512-LPRKoHnLKd/r3dVxcwO7vhCW+orkOGj9ViueosEBK6ie89CijnfRlhaDhHq/3Hxu4CkWQtxwlBG0mzTQY6uQjw=="],
-
- "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="],
-
- "rfc4648": ["rfc4648@1.5.4", "", {}, "sha512-rRg/6Lb+IGfJqO05HZkN50UtY7K/JhxJag1kP23+zyMfrvoB0B7RWv06MbOzoc79RgCdNTiUaNsTT1AJZ7Z+cg=="],
-
- "rfdc": ["rfdc@1.4.1", "", {}, "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA=="],
-
- "rifm": ["rifm@0.7.0", "", { "dependencies": { "@babel/runtime": "^7.3.1" }, "peerDependencies": { "react": ">=16.8" } }, "sha512-DSOJTWHD67860I5ojetXdEQRIBvF6YcpNe53j0vn1vp9EUb9N80EiZTxgP+FkDKorWC8PZw052kTF4C1GOivCQ=="],
-
- "rimraf": ["rimraf@3.0.2", "", { "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" } }, "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA=="],
-
- "ripemd160": ["ripemd160@2.0.3", "", { "dependencies": { "hash-base": "^3.1.2", "inherits": "^2.0.4" } }, "sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA=="],
-
- "roarr": ["roarr@2.15.4", "", { "dependencies": { "boolean": "^3.0.1", "detect-node": "^2.0.4", "globalthis": "^1.0.1", "json-stringify-safe": "^5.0.1", "semver-compare": "^1.0.0", "sprintf-js": "^1.1.2" } }, "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A=="],
-
- "rollup": ["rollup@4.54.0", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.54.0", "@rollup/rollup-android-arm64": "4.54.0", "@rollup/rollup-darwin-arm64": "4.54.0", "@rollup/rollup-darwin-x64": "4.54.0", "@rollup/rollup-freebsd-arm64": "4.54.0", "@rollup/rollup-freebsd-x64": "4.54.0", "@rollup/rollup-linux-arm-gnueabihf": "4.54.0", "@rollup/rollup-linux-arm-musleabihf": "4.54.0", "@rollup/rollup-linux-arm64-gnu": "4.54.0", "@rollup/rollup-linux-arm64-musl": "4.54.0", "@rollup/rollup-linux-loong64-gnu": "4.54.0", "@rollup/rollup-linux-ppc64-gnu": "4.54.0", "@rollup/rollup-linux-riscv64-gnu": "4.54.0", "@rollup/rollup-linux-riscv64-musl": "4.54.0", "@rollup/rollup-linux-s390x-gnu": "4.54.0", "@rollup/rollup-linux-x64-gnu": "4.54.0", "@rollup/rollup-linux-x64-musl": "4.54.0", "@rollup/rollup-openharmony-arm64": "4.54.0", "@rollup/rollup-win32-arm64-msvc": "4.54.0", "@rollup/rollup-win32-ia32-msvc": "4.54.0", "@rollup/rollup-win32-x64-gnu": "4.54.0", "@rollup/rollup-win32-x64-msvc": "4.54.0", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-3nk8Y3a9Ea8szgKhinMlGMhGMw89mqule3KWczxhIzqudyHdCIOHw8WJlj/r329fACjKLEh13ZSk7oE22kyeIw=="],
-
- "rollup-plugin-dts": ["rollup-plugin-dts@6.3.0", "", { "dependencies": { "magic-string": "^0.30.21" }, "optionalDependencies": { "@babel/code-frame": "^7.27.1" }, "peerDependencies": { "rollup": "^3.29.4 || ^4", "typescript": "^4.5 || ^5.0" } }, "sha512-d0UrqxYd8KyZ6i3M2Nx7WOMy708qsV/7fTHMHxCMCBOAe3V/U7OMPu5GkX8hC+cmkHhzGnfeYongl1IgiooddA=="],
-
- "rollup-plugin-esbuild": ["rollup-plugin-esbuild@6.2.1", "", { "dependencies": { "debug": "^4.4.0", "es-module-lexer": "^1.6.0", "get-tsconfig": "^4.10.0", "unplugin-utils": "^0.2.4" }, "peerDependencies": { "esbuild": ">=0.18.0", "rollup": "^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" } }, "sha512-jTNOMGoMRhs0JuueJrJqbW8tOwxumaWYq+V5i+PD+8ecSCVkuX27tGW7BXqDgoULQ55rO7IdNxPcnsWtshz3AA=="],
-
- "rollup-plugin-postcss": ["rollup-plugin-postcss@4.0.2", "", { "dependencies": { "chalk": "^4.1.0", "concat-with-sourcemaps": "^1.1.0", "cssnano": "^5.0.1", "import-cwd": "^3.0.0", "p-queue": "^6.6.2", "pify": "^5.0.0", "postcss-load-config": "^3.0.0", "postcss-modules": "^4.0.0", "promise.series": "^0.2.0", "resolve": "^1.19.0", "rollup-pluginutils": "^2.8.2", "safe-identifier": "^0.4.2", "style-inject": "^0.3.0" }, "peerDependencies": { "postcss": "8.x" } }, "sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w=="],
-
- "rollup-pluginutils": ["rollup-pluginutils@2.8.2", "", { "dependencies": { "estree-walker": "^0.6.1" } }, "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ=="],
-
- "rtl-css-js": ["rtl-css-js@1.16.1", "", { "dependencies": { "@babel/runtime": "^7.1.2" } }, "sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg=="],
-
- "run-applescript": ["run-applescript@7.1.0", "", {}, "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q=="],
-
- "run-async": ["run-async@2.4.1", "", {}, "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ=="],
-
- "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="],
-
- "run-script-webpack-plugin": ["run-script-webpack-plugin@0.2.3", "", {}, "sha512-GX1JqSNAmtGMAcE3iyLFlnxWpxKBWPNkpac/02w2RF3xynTjA8LWLkFzMzlvATA3c3kARWnT2OrsnvJviB79Lg=="],
-
- "rxjs": ["rxjs@7.8.2", "", { "dependencies": { "tslib": "^2.1.0" } }, "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA=="],
-
- "sade": ["sade@1.8.1", "", { "dependencies": { "mri": "^1.1.0" } }, "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A=="],
-
- "safe-array-concat": ["safe-array-concat@1.1.3", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.2", "get-intrinsic": "^1.2.6", "has-symbols": "^1.1.0", "isarray": "^2.0.5" } }, "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q=="],
-
- "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="],
-
- "safe-identifier": ["safe-identifier@0.4.2", "", {}, "sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w=="],
-
- "safe-push-apply": ["safe-push-apply@1.0.0", "", { "dependencies": { "es-errors": "^1.3.0", "isarray": "^2.0.5" } }, "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA=="],
-
- "safe-regex-test": ["safe-regex-test@1.1.0", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-regex": "^1.2.1" } }, "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw=="],
-
- "safe-stable-stringify": ["safe-stable-stringify@2.5.0", "", {}, "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA=="],
-
- "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="],
-
- "sax": ["sax@1.4.3", "", {}, "sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ=="],
-
- "saxes": ["saxes@6.0.0", "", { "dependencies": { "xmlchars": "^2.2.0" } }, "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA=="],
-
- "scheduler": ["scheduler@0.23.2", "", { "dependencies": { "loose-envify": "^1.1.0" } }, "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ=="],
-
- "schema-utils": ["schema-utils@3.3.0", "", { "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } }, "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg=="],
-
- "screenfull": ["screenfull@5.2.0", "", {}, "sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA=="],
-
- "select-hose": ["select-hose@2.0.0", "", {}, "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg=="],
-
- "selfsigned": ["selfsigned@2.4.1", "", { "dependencies": { "@types/node-forge": "^1.3.0", "node-forge": "^1" } }, "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q=="],
-
- "semver": ["semver@7.7.3", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q=="],
-
- "semver-compare": ["semver-compare@1.0.0", "", {}, "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow=="],
-
- "send": ["send@0.19.2", "", { "dependencies": { "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "~0.5.2", "http-errors": "~2.0.1", "mime": "1.6.0", "ms": "2.1.3", "on-finished": "~2.4.1", "range-parser": "~1.2.1", "statuses": "~2.0.2" } }, "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg=="],
-
- "seq-queue": ["seq-queue@0.0.5", "", {}, "sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q=="],
-
- "serialize-error": ["serialize-error@8.1.0", "", { "dependencies": { "type-fest": "^0.20.2" } }, "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ=="],
-
- "serialize-javascript": ["serialize-javascript@6.0.2", "", { "dependencies": { "randombytes": "^2.1.0" } }, "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g=="],
-
- "serve-index": ["serve-index@1.9.1", "", { "dependencies": { "accepts": "~1.3.4", "batch": "0.6.1", "debug": "2.6.9", "escape-html": "~1.0.3", "http-errors": "~1.6.2", "mime-types": "~2.1.17", "parseurl": "~1.3.2" } }, "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw=="],
-
- "serve-static": ["serve-static@1.16.3", "", { "dependencies": { "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", "send": "~0.19.1" } }, "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA=="],
-
- "set-function-length": ["set-function-length@1.2.2", "", { "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2" } }, "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg=="],
-
- "set-function-name": ["set-function-name@2.0.2", "", { "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", "has-property-descriptors": "^1.0.2" } }, "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ=="],
-
- "set-harmonic-interval": ["set-harmonic-interval@1.0.1", "", {}, "sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g=="],
-
- "set-proto": ["set-proto@1.0.0", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0" } }, "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw=="],
-
- "setimmediate": ["setimmediate@1.0.5", "", {}, "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="],
-
- "setprototypeof": ["setprototypeof@1.2.0", "", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="],
-
- "sha.js": ["sha.js@2.4.12", "", { "dependencies": { "inherits": "^2.0.4", "safe-buffer": "^5.2.1", "to-buffer": "^1.2.0" }, "bin": { "sha.js": "bin.js" } }, "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w=="],
-
- "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="],
-
- "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="],
-
- "shell-quote": ["shell-quote@1.8.3", "", {}, "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw=="],
-
- "side-channel": ["side-channel@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3", "side-channel-list": "^1.0.0", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw=="],
-
- "side-channel-list": ["side-channel-list@1.0.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3" } }, "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA=="],
-
- "side-channel-map": ["side-channel-map@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="],
-
- "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3", "side-channel-map": "^1.0.1" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="],
-
- "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="],
-
- "simple-concat": ["simple-concat@1.0.1", "", {}, "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="],
-
- "simple-get": ["simple-get@4.0.1", "", { "dependencies": { "decompress-response": "^6.0.0", "once": "^1.3.1", "simple-concat": "^1.0.0" } }, "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA=="],
-
- "sisteransi": ["sisteransi@1.0.5", "", {}, "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="],
-
- "slash": ["slash@3.0.0", "", {}, "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="],
-
- "smart-buffer": ["smart-buffer@4.2.0", "", {}, "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="],
-
- "smol-toml": ["smol-toml@1.6.0", "", {}, "sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw=="],
-
- "sockjs": ["sockjs@0.3.24", "", { "dependencies": { "faye-websocket": "^0.11.3", "uuid": "^8.3.2", "websocket-driver": "^0.7.4" } }, "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ=="],
-
- "socks": ["socks@2.8.7", "", { "dependencies": { "ip-address": "^10.0.1", "smart-buffer": "^4.2.0" } }, "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A=="],
-
- "socks-proxy-agent": ["socks-proxy-agent@7.0.0", "", { "dependencies": { "agent-base": "^6.0.2", "debug": "^4.3.3", "socks": "^2.6.2" } }, "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww=="],
-
- "sorted-array-functions": ["sorted-array-functions@1.3.0", "", {}, "sha512-2sqgzeFlid6N4Z2fUQ1cvFmTOLRi/sEDzSQ0OKYchqgoPmQBVyM3959qYx3fpS6Esef80KjmpgPeEr028dP3OA=="],
-
- "source-list-map": ["source-list-map@2.0.1", "", {}, "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw=="],
-
- "source-map": ["source-map@0.7.6", "", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="],
-
- "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="],
-
- "source-map-support": ["source-map-support@0.5.21", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="],
-
- "space-separated-tokens": ["space-separated-tokens@2.0.2", "", {}, "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q=="],
-
- "spdy": ["spdy@4.0.2", "", { "dependencies": { "debug": "^4.1.0", "handle-thing": "^2.0.0", "http-deceiver": "^1.2.7", "select-hose": "^2.0.0", "spdy-transport": "^3.0.0" } }, "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA=="],
-
- "spdy-transport": ["spdy-transport@3.0.0", "", { "dependencies": { "debug": "^4.1.0", "detect-node": "^2.0.4", "hpack.js": "^2.1.6", "obuf": "^1.1.2", "readable-stream": "^3.0.6", "wbuf": "^1.7.3" } }, "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw=="],
-
- "split-ca": ["split-ca@1.0.1", "", {}, "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ=="],
-
- "split2": ["split2@4.2.0", "", {}, "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg=="],
-
- "sprintf-js": ["sprintf-js@1.1.3", "", {}, "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA=="],
-
- "sqlstring": ["sqlstring@2.3.3", "", {}, "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg=="],
-
- "ssh2": ["ssh2@1.17.0", "", { "dependencies": { "asn1": "^0.2.6", "bcrypt-pbkdf": "^1.0.2" }, "optionalDependencies": { "cpu-features": "~0.0.10", "nan": "^2.23.0" } }, "sha512-wPldCk3asibAjQ/kziWQQt1Wh3PgDFpC0XpwclzKcdT1vql6KeYxf5LIt4nlFkUeR8WuphYMKqUA56X4rjbfgQ=="],
-
- "sshpk": ["sshpk@1.18.0", "", { "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", "bcrypt-pbkdf": "^1.0.0", "dashdash": "^1.12.0", "ecc-jsbn": "~0.1.1", "getpass": "^0.1.1", "jsbn": "~0.1.0", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" }, "bin": { "sshpk-conv": "bin/sshpk-conv", "sshpk-sign": "bin/sshpk-sign", "sshpk-verify": "bin/sshpk-verify" } }, "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ=="],
-
- "stable": ["stable@0.1.8", "", {}, "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="],
-
- "stack-generator": ["stack-generator@2.0.10", "", { "dependencies": { "stackframe": "^1.3.4" } }, "sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ=="],
-
- "stack-trace": ["stack-trace@0.0.10", "", {}, "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg=="],
-
- "stack-utils": ["stack-utils@2.0.6", "", { "dependencies": { "escape-string-regexp": "^2.0.0" } }, "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ=="],
-
- "stackframe": ["stackframe@1.3.4", "", {}, "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw=="],
-
- "stacktrace-gps": ["stacktrace-gps@3.1.2", "", { "dependencies": { "source-map": "0.5.6", "stackframe": "^1.3.4" } }, "sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ=="],
-
- "stacktrace-js": ["stacktrace-js@2.0.2", "", { "dependencies": { "error-stack-parser": "^2.0.6", "stack-generator": "^2.0.5", "stacktrace-gps": "^3.0.4" } }, "sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg=="],
-
- "standard-as-callback": ["standard-as-callback@2.1.0", "", {}, "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A=="],
-
- "static-eval": ["static-eval@2.0.2", "", { "dependencies": { "escodegen": "^1.8.1" } }, "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg=="],
-
- "statuses": ["statuses@2.0.2", "", {}, "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="],
-
- "stop-iteration-iterator": ["stop-iteration-iterator@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "internal-slot": "^1.1.0" } }, "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ=="],
-
- "stoppable": ["stoppable@1.1.0", "", {}, "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw=="],
-
- "stream-browserify": ["stream-browserify@2.0.2", "", { "dependencies": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" } }, "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg=="],
-
- "stream-buffers": ["stream-buffers@3.0.3", "", {}, "sha512-pqMqwQCso0PBJt2PQmDO0cFj0lyqmiwOMiMSkVtRokl7e+ZTRYgDHKnuZNbqjiJXgsg4nuqtD/zxuo9KqTp0Yw=="],
-
- "stream-events": ["stream-events@1.0.5", "", { "dependencies": { "stubs": "^3.0.0" } }, "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg=="],
-
- "stream-http": ["stream-http@2.8.3", "", { "dependencies": { "builtin-status-codes": "^3.0.0", "inherits": "^2.0.1", "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" } }, "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw=="],
-
- "stream-shift": ["stream-shift@1.0.3", "", {}, "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ=="],
-
- "streamroller": ["streamroller@3.1.5", "", { "dependencies": { "date-format": "^4.0.14", "debug": "^4.3.4", "fs-extra": "^8.1.0" } }, "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw=="],
-
- "streamsearch": ["streamsearch@1.1.0", "", {}, "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg=="],
-
- "streamx": ["streamx@2.23.0", "", { "dependencies": { "events-universal": "^1.0.0", "fast-fifo": "^1.3.2", "text-decoder": "^1.1.0" } }, "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg=="],
-
- "strict-event-emitter": ["strict-event-emitter@0.5.1", "", {}, "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ=="],
-
- "string-hash": ["string-hash@1.1.3", "", {}, "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A=="],
-
- "string-length": ["string-length@4.0.2", "", { "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" } }, "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ=="],
-
- "string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
-
- "string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
-
- "string.prototype.includes": ["string.prototype.includes@2.0.1", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.3" } }, "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg=="],
-
- "string.prototype.matchall": ["string.prototype.matchall@4.0.12", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-abstract": "^1.23.6", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", "get-intrinsic": "^1.2.6", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "internal-slot": "^1.1.0", "regexp.prototype.flags": "^1.5.3", "set-function-name": "^2.0.2", "side-channel": "^1.1.0" } }, "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA=="],
-
- "string.prototype.repeat": ["string.prototype.repeat@1.0.0", "", { "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.17.5" } }, "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w=="],
-
- "string.prototype.trim": ["string.prototype.trim@1.2.10", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.2", "define-data-property": "^1.1.4", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-object-atoms": "^1.0.0", "has-property-descriptors": "^1.0.2" } }, "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA=="],
-
- "string.prototype.trimend": ["string.prototype.trimend@1.0.9", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.2", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" } }, "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ=="],
-
- "string.prototype.trimstart": ["string.prototype.trimstart@1.0.8", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" } }, "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg=="],
-
- "string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="],
-
- "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
-
- "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
-
- "strip-bom": ["strip-bom@4.0.0", "", {}, "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w=="],
-
- "strip-final-newline": ["strip-final-newline@2.0.0", "", {}, "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="],
-
- "strip-json-comments": ["strip-json-comments@5.0.3", "", {}, "sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw=="],
-
- "strnum": ["strnum@1.1.2", "", {}, "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA=="],
-
- "stubs": ["stubs@3.0.0", "", {}, "sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw=="],
-
- "style-inject": ["style-inject@0.3.0", "", {}, "sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw=="],
-
- "style-loader": ["style-loader@3.3.4", "", { "peerDependencies": { "webpack": "^5.0.0" } }, "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w=="],
-
- "style-to-object": ["style-to-object@0.4.4", "", { "dependencies": { "inline-style-parser": "0.1.1" } }, "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg=="],
-
- "stylehacks": ["stylehacks@5.1.1", "", { "dependencies": { "browserslist": "^4.21.4", "postcss-selector-parser": "^6.0.4" }, "peerDependencies": { "postcss": "^8.2.15" } }, "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw=="],
-
- "stylis": ["stylis@4.3.6", "", {}, "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ=="],
-
- "sucrase": ["sucrase@3.35.1", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "tinyglobby": "^0.2.11", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw=="],
-
- "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="],
-
- "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="],
-
- "svg-parser": ["svg-parser@2.0.4", "", {}, "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ=="],
-
- "svgo": ["svgo@2.8.0", "", { "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", "css-select": "^4.1.3", "css-tree": "^1.1.3", "csso": "^4.2.0", "picocolors": "^1.0.0", "stable": "^0.1.8" }, "bin": { "svgo": "bin/svgo" } }, "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg=="],
-
- "swc-loader": ["swc-loader@0.2.6", "", { "dependencies": { "@swc/counter": "^0.1.3" }, "peerDependencies": { "@swc/core": "^1.2.147", "webpack": ">=2" } }, "sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg=="],
-
- "swr": ["swr@2.3.8", "", { "dependencies": { "dequal": "^2.0.3", "use-sync-external-store": "^1.6.0" }, "peerDependencies": { "react": "^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-gaCPRVoMq8WGDcWj9p4YWzCMPHzE0WNl6W8ADIx9c3JBEIdMkJGMzW+uzXvxHMltwcYACr9jP+32H8/hgwMR7w=="],
-
- "symbol-observable": ["symbol-observable@1.2.0", "", {}, "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="],
-
- "symbol-tree": ["symbol-tree@3.2.4", "", {}, "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="],
-
- "tagged-tag": ["tagged-tag@1.0.0", "", {}, "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng=="],
-
- "tapable": ["tapable@2.3.0", "", {}, "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg=="],
-
- "tar": ["tar@6.2.1", "", { "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" } }, "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A=="],
-
- "tar-fs": ["tar-fs@2.1.4", "", { "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", "tar-stream": "^2.1.4" } }, "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ=="],
-
- "tar-stream": ["tar-stream@3.1.7", "", { "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", "streamx": "^2.15.0" } }, "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ=="],
-
- "tarn": ["tarn@3.0.2", "", {}, "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ=="],
-
- "tdigest": ["tdigest@0.1.2", "", { "dependencies": { "bintrees": "1.0.2" } }, "sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA=="],
-
- "teeny-request": ["teeny-request@9.0.0", "", { "dependencies": { "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "node-fetch": "^2.6.9", "stream-events": "^1.0.5", "uuid": "^9.0.0" } }, "sha512-resvxdc6Mgb7YEThw6G6bExlXKkv6+YbuzGg9xuXxSgxJF7Ozs+o8Y9+2R3sArdWdW8nOokoQb1yrpFB0pQK2g=="],
-
- "terser": ["terser@5.44.1", "", { "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.15.0", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, "bin": { "terser": "bin/terser" } }, "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw=="],
-
- "terser-webpack-plugin": ["terser-webpack-plugin@5.3.16", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", "schema-utils": "^4.3.0", "serialize-javascript": "^6.0.2", "terser": "^5.31.1" }, "peerDependencies": { "webpack": "^5.1.0" } }, "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q=="],
-
- "test-exclude": ["test-exclude@6.0.0", "", { "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", "minimatch": "^3.0.4" } }, "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w=="],
-
- "text-decoder": ["text-decoder@1.2.3", "", { "dependencies": { "b4a": "^1.6.4" } }, "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA=="],
-
- "text-hex": ["text-hex@1.0.0", "", {}, "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg=="],
-
- "text-table": ["text-table@0.2.0", "", {}, "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="],
-
- "thenify": ["thenify@3.3.1", "", { "dependencies": { "any-promise": "^1.0.0" } }, "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw=="],
-
- "thenify-all": ["thenify-all@1.6.0", "", { "dependencies": { "thenify": ">= 3.1.0 < 4" } }, "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA=="],
-
- "thingies": ["thingies@2.5.0", "", { "peerDependencies": { "tslib": "^2" } }, "sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw=="],
-
- "throttle-debounce": ["throttle-debounce@3.0.1", "", {}, "sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg=="],
-
- "through": ["through@2.3.8", "", {}, "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="],
-
- "through2": ["through2@4.0.2", "", { "dependencies": { "readable-stream": "3" } }, "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw=="],
-
- "thunky": ["thunky@1.1.0", "", {}, "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA=="],
-
- "tildify": ["tildify@2.0.0", "", {}, "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw=="],
-
- "timers-browserify": ["timers-browserify@2.0.12", "", { "dependencies": { "setimmediate": "^1.0.4" } }, "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ=="],
-
- "tiny-case": ["tiny-case@1.0.3", "", {}, "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q=="],
-
- "tiny-invariant": ["tiny-invariant@1.3.3", "", {}, "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg=="],
-
- "tiny-warning": ["tiny-warning@1.0.3", "", {}, "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="],
-
- "tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="],
-
- "tldts": ["tldts@7.0.19", "", { "dependencies": { "tldts-core": "^7.0.19" }, "bin": { "tldts": "bin/cli.js" } }, "sha512-8PWx8tvC4jDB39BQw1m4x8y5MH1BcQ5xHeL2n7UVFulMPH/3Q0uiamahFJ3lXA0zO2SUyRXuVVbWSDmstlt9YA=="],
-
- "tldts-core": ["tldts-core@7.0.19", "", {}, "sha512-lJX2dEWx0SGH4O6p+7FPwYmJ/bu1JbcGJ8RLaG9b7liIgZ85itUVEPbMtWRVrde/0fnDPEPHW10ZsKW3kVsE9A=="],
-
- "tmpl": ["tmpl@1.0.5", "", {}, "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw=="],
-
- "to-arraybuffer": ["to-arraybuffer@1.0.1", "", {}, "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA=="],
-
- "to-buffer": ["to-buffer@1.2.2", "", { "dependencies": { "isarray": "^2.0.5", "safe-buffer": "^5.2.1", "typed-array-buffer": "^1.0.3" } }, "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw=="],
-
- "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="],
-
- "toggle-selection": ["toggle-selection@1.0.6", "", {}, "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ=="],
-
- "toidentifier": ["toidentifier@1.0.1", "", {}, "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="],
-
- "toposort": ["toposort@2.0.2", "", {}, "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg=="],
-
- "tosource": ["tosource@2.0.0-alpha.3", "", {}, "sha512-KAB2lrSS48y91MzFPFuDg4hLbvDiyTjOVgaK7Erw+5AmZXNq4sFRVn8r6yxSLuNs15PaokrDRpS61ERY9uZOug=="],
-
- "tough-cookie": ["tough-cookie@6.0.0", "", { "dependencies": { "tldts": "^7.0.5" } }, "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w=="],
-
- "tr46": ["tr46@0.0.3", "", {}, "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="],
-
- "tree-dump": ["tree-dump@1.1.0", "", { "peerDependencies": { "tslib": "2" } }, "sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA=="],
-
- "trim-lines": ["trim-lines@3.0.1", "", {}, "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg=="],
-
- "triple-beam": ["triple-beam@1.4.1", "", {}, "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg=="],
-
- "trough": ["trough@2.2.0", "", {}, "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw=="],
-
- "tryer": ["tryer@1.0.1", "", {}, "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA=="],
-
- "ts-algebra": ["ts-algebra@2.0.0", "", {}, "sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw=="],
-
- "ts-api-utils": ["ts-api-utils@1.4.3", "", { "peerDependencies": { "typescript": ">=4.2.0" } }, "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw=="],
-
- "ts-easing": ["ts-easing@0.2.0", "", {}, "sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ=="],
-
- "ts-interface-checker": ["ts-interface-checker@0.1.13", "", {}, "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="],
-
- "ts-is-present": ["ts-is-present@1.2.2", "", {}, "sha512-cA5MPLWGWYXvnlJb4TamUUx858HVHBsxxdy8l7jxODOLDyGYnQOllob2A2jyDghGa5iJHs2gzFNHvwGJ0ZfR8g=="],
-
- "ts-node": ["ts-node@10.9.2", "", { "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", "@tsconfig/node16": "^1.0.2", "acorn": "^8.4.1", "acorn-walk": "^8.1.1", "arg": "^4.1.0", "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" }, "peerDependencies": { "@swc/core": ">=1.2.50", "@swc/wasm": ">=1.2.50", "@types/node": "*", "typescript": ">=2.7" }, "optionalPeers": ["@swc/core", "@swc/wasm"], "bin": { "ts-node": "dist/bin.js", "ts-script": "dist/bin-script-deprecated.js", "ts-node-cwd": "dist/bin-cwd.js", "ts-node-esm": "dist/bin-esm.js", "ts-node-script": "dist/bin-script.js", "ts-node-transpile-only": "dist/bin-transpile.js" } }, "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ=="],
-
- "tsconfig-paths": ["tsconfig-paths@3.15.0", "", { "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", "minimist": "^1.2.6", "strip-bom": "^3.0.0" } }, "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg=="],
-
- "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
-
- "tsscmp": ["tsscmp@1.0.6", "", {}, "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA=="],
-
- "tsutils": ["tsutils@3.21.0", "", { "dependencies": { "tslib": "^1.8.1" }, "peerDependencies": { "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA=="],
-
- "tty-browserify": ["tty-browserify@0.0.0", "", {}, "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw=="],
-
- "tunnel-agent": ["tunnel-agent@0.6.0", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w=="],
-
- "tweetnacl": ["tweetnacl@0.14.5", "", {}, "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="],
-
- "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="],
-
- "type-detect": ["type-detect@4.0.8", "", {}, "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g=="],
-
- "type-fest": ["type-fest@5.3.1", "", { "dependencies": { "tagged-tag": "^1.0.0" } }, "sha512-VCn+LMHbd4t6sF3wfU/+HKT63C9OoyrSIf4b+vtWHpt2U7/4InZG467YDNMFMR70DdHjAdpPWmw2lzRdg0Xqqg=="],
-
- "type-is": ["type-is@1.6.18", "", { "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" } }, "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g=="],
-
- "typed-array-buffer": ["typed-array-buffer@1.0.3", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "is-typed-array": "^1.1.14" } }, "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw=="],
-
- "typed-array-byte-length": ["typed-array-byte-length@1.0.3", "", { "dependencies": { "call-bind": "^1.0.8", "for-each": "^0.3.3", "gopd": "^1.2.0", "has-proto": "^1.2.0", "is-typed-array": "^1.1.14" } }, "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg=="],
-
- "typed-array-byte-offset": ["typed-array-byte-offset@1.0.4", "", { "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", "for-each": "^0.3.3", "gopd": "^1.2.0", "has-proto": "^1.2.0", "is-typed-array": "^1.1.15", "reflect.getprototypeof": "^1.0.9" } }, "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ=="],
-
- "typed-array-length": ["typed-array-length@1.0.7", "", { "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", "is-typed-array": "^1.1.13", "possible-typed-array-names": "^1.0.0", "reflect.getprototypeof": "^1.0.6" } }, "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg=="],
-
- "typed-error": ["typed-error@3.2.2", "", {}, "sha512-Z48LU67/qJ+vyA7lh3ozELqpTp3pvQoY5RtLi5wQ/UGSrEidBhlVSqhjr8B3iqbGpjqAoJYrtSYXWMDtidWGkA=="],
-
- "typedarray": ["typedarray@0.0.6", "", {}, "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="],
-
- "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
-
- "typescript-json-schema": ["typescript-json-schema@0.67.1", "", { "dependencies": { "@types/json-schema": "^7.0.9", "@types/node": "^18.11.9", "glob": "^7.1.7", "path-equal": "^1.2.5", "safe-stable-stringify": "^2.2.0", "ts-node": "^10.9.1", "typescript": "~5.5.0", "vm2": "^3.10.0", "yargs": "^17.1.1" }, "bin": { "typescript-json-schema": "bin/typescript-json-schema" } }, "sha512-vKTZB/RoYTIBdVP7E7vrgHMCssBuhja91wQy498QIVhvfRimaOgjc98uwAXmZ7mbLUytJmOSbF11wPz+ByQeXg=="],
-
- "uglify-js": ["uglify-js@3.19.3", "", { "bin": { "uglifyjs": "bin/uglifyjs" } }, "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ=="],
-
- "uid-safe": ["uid-safe@2.1.5", "", { "dependencies": { "random-bytes": "~1.0.0" } }, "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA=="],
-
- "uid2": ["uid2@0.0.4", "", {}, "sha512-IevTus0SbGwQzYh3+fRsAMTVVPOoIVufzacXcHPmdlle1jUpq7BRL+mw3dgeLanvGZdwwbWhRV6XrcFNdBmjWA=="],
-
- "unbox-primitive": ["unbox-primitive@1.1.0", "", { "dependencies": { "call-bound": "^1.0.3", "has-bigints": "^1.0.2", "has-symbols": "^1.1.0", "which-boxed-primitive": "^1.1.1" } }, "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw=="],
-
- "underscore": ["underscore@1.12.1", "", {}, "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw=="],
-
- "undici": ["undici@7.16.0", "", {}, "sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g=="],
-
- "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
-
- "unicode-canonical-property-names-ecmascript": ["unicode-canonical-property-names-ecmascript@2.0.1", "", {}, "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg=="],
-
- "unicode-match-property-ecmascript": ["unicode-match-property-ecmascript@2.0.0", "", { "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" } }, "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q=="],
-
- "unicode-match-property-value-ecmascript": ["unicode-match-property-value-ecmascript@2.2.1", "", {}, "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg=="],
-
- "unicode-property-aliases-ecmascript": ["unicode-property-aliases-ecmascript@2.2.0", "", {}, "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ=="],
-
- "unified": ["unified@10.1.2", "", { "dependencies": { "@types/unist": "^2.0.0", "bail": "^2.0.0", "extend": "^3.0.0", "is-buffer": "^2.0.0", "is-plain-obj": "^4.0.0", "trough": "^2.0.0", "vfile": "^5.0.0" } }, "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q=="],
-
- "unist-util-generated": ["unist-util-generated@2.0.1", "", {}, "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A=="],
-
- "unist-util-is": ["unist-util-is@5.2.1", "", { "dependencies": { "@types/unist": "^2.0.0" } }, "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw=="],
-
- "unist-util-position": ["unist-util-position@4.0.4", "", { "dependencies": { "@types/unist": "^2.0.0" } }, "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg=="],
-
- "unist-util-stringify-position": ["unist-util-stringify-position@3.0.3", "", { "dependencies": { "@types/unist": "^2.0.0" } }, "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg=="],
-
- "unist-util-visit": ["unist-util-visit@4.1.2", "", { "dependencies": { "@types/unist": "^2.0.0", "unist-util-is": "^5.0.0", "unist-util-visit-parents": "^5.1.1" } }, "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg=="],
-
- "unist-util-visit-parents": ["unist-util-visit-parents@5.1.3", "", { "dependencies": { "@types/unist": "^2.0.0", "unist-util-is": "^5.0.0" } }, "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg=="],
-
- "universal-github-app-jwt": ["universal-github-app-jwt@1.2.0", "", { "dependencies": { "@types/jsonwebtoken": "^9.0.0", "jsonwebtoken": "^9.0.2" } }, "sha512-dncpMpnsKBk0eetwfN8D8OUHGfiDhhJ+mtsbMl+7PfW7mYjiH8LIcqRmYMtzYLgSh47HjfdBtrBwIQ/gizKR3g=="],
-
- "universal-user-agent": ["universal-user-agent@6.0.1", "", {}, "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ=="],
-
- "universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="],
-
- "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="],
-
- "unplugin-utils": ["unplugin-utils@0.2.5", "", { "dependencies": { "pathe": "^2.0.3", "picomatch": "^4.0.3" } }, "sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg=="],
-
- "until-async": ["until-async@3.0.2", "", {}, "sha512-IiSk4HlzAMqTUseHHe3VhIGyuFmN90zMTpD3Z3y8jeQbzLIq500MVM7Jq2vUAnTKAFPJrqwkzr6PoTcPhGcOiw=="],
-
- "upath": ["upath@2.0.1", "", {}, "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w=="],
-
- "update-browserslist-db": ["update-browserslist-db@1.2.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w=="],
-
- "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="],
-
- "uri-template": ["uri-template@2.0.0", "", { "dependencies": { "pct-encode": "~1.0.0" } }, "sha512-r/i44nPoo0ktEZDjx+hxp9PSjQuBBfsd6RgCRuuMqCP0FZEp+YE0SpihThI4UGc5ePqQEFsdyZc7UVlowp+LLw=="],
-
- "urijs": ["urijs@1.19.11", "", {}, "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ=="],
-
- "url": ["url@0.11.4", "", { "dependencies": { "punycode": "^1.4.1", "qs": "^6.12.3" } }, "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg=="],
-
- "url-parse": ["url-parse@1.5.10", "", { "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" } }, "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ=="],
-
- "urlpattern-polyfill": ["urlpattern-polyfill@8.0.2", "", {}, "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ=="],
-
- "use-memo-one": ["use-memo-one@1.1.3", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "sha512-g66/K7ZQGYrI6dy8GLpVcMsBp4s17xNkYJVSMvTEevGy3nDxHOfE6z8BVE22+5G5x7t3+bhzrlTDB7ObrEE0cQ=="],
-
- "use-sync-external-store": ["use-sync-external-store@1.6.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w=="],
-
- "util": ["util@0.12.5", "", { "dependencies": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", "is-generator-function": "^1.0.7", "is-typed-array": "^1.1.3", "which-typed-array": "^1.1.2" } }, "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA=="],
-
- "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="],
-
- "utila": ["utila@0.4.0", "", {}, "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA=="],
-
- "utils-merge": ["utils-merge@1.0.1", "", {}, "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="],
-
- "uuid": ["uuid@11.1.0", "", { "bin": { "uuid": "dist/esm/bin/uuid" } }, "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A=="],
-
- "uvu": ["uvu@0.5.6", "", { "dependencies": { "dequal": "^2.0.0", "diff": "^5.0.0", "kleur": "^4.0.3", "sade": "^1.7.3" }, "bin": { "uvu": "bin.js" } }, "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA=="],
-
- "v8-compile-cache-lib": ["v8-compile-cache-lib@3.0.1", "", {}, "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg=="],
-
- "v8-to-istanbul": ["v8-to-istanbul@9.3.0", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^2.0.0" } }, "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA=="],
-
- "validate.io-array": ["validate.io-array@1.0.6", "", {}, "sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg=="],
-
- "validate.io-function": ["validate.io-function@1.0.2", "", {}, "sha512-LlFybRJEriSuBnUhQyG5bwglhh50EpTL2ul23MPIuR1odjO7XaMLFV8vHGwp7AZciFxtYOeiSCT5st+XSPONiQ=="],
-
- "validate.io-integer": ["validate.io-integer@1.0.5", "", { "dependencies": { "validate.io-number": "^1.0.3" } }, "sha512-22izsYSLojN/P6bppBqhgUDjCkr5RY2jd+N2a3DCAUey8ydvrZ/OkGvFPR7qfOpwR2LC5p4Ngzxz36g5Vgr/hQ=="],
-
- "validate.io-integer-array": ["validate.io-integer-array@1.0.0", "", { "dependencies": { "validate.io-array": "^1.0.3", "validate.io-integer": "^1.0.4" } }, "sha512-mTrMk/1ytQHtCY0oNO3dztafHYyGU88KL+jRxWuzfOmQb+4qqnWmI+gykvGp8usKZOM0H7keJHEbRaFiYA0VrA=="],
-
- "validate.io-number": ["validate.io-number@1.0.3", "", {}, "sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg=="],
-
- "value-or-promise": ["value-or-promise@1.0.11", "", {}, "sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg=="],
-
- "vary": ["vary@1.1.2", "", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="],
-
- "verror": ["verror@1.10.0", "", { "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" } }, "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw=="],
-
- "vfile": ["vfile@5.3.7", "", { "dependencies": { "@types/unist": "^2.0.0", "is-buffer": "^2.0.0", "unist-util-stringify-position": "^3.0.0", "vfile-message": "^3.0.0" } }, "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g=="],
-
- "vfile-message": ["vfile-message@3.1.4", "", { "dependencies": { "@types/unist": "^2.0.0", "unist-util-stringify-position": "^3.0.0" } }, "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw=="],
-
- "vm-browserify": ["vm-browserify@1.1.2", "", {}, "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ=="],
-
- "vm2": ["vm2@3.10.0", "", { "dependencies": { "acorn": "^8.14.1", "acorn-walk": "^8.3.4" }, "bin": { "vm2": "bin/vm2" } }, "sha512-3ggF4Bs0cw4M7Rxn19/Cv3nJi04xrgHwt4uLto+zkcZocaKwP/nKP9wPx6ggN2X0DSXxOOIc63BV1jvES19wXQ=="],
-
- "w3c-xmlserializer": ["w3c-xmlserializer@4.0.0", "", { "dependencies": { "xml-name-validator": "^4.0.0" } }, "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw=="],
-
- "walk-up-path": ["walk-up-path@4.0.0", "", {}, "sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A=="],
-
- "walker": ["walker@1.0.8", "", { "dependencies": { "makeerror": "1.0.12" } }, "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ=="],
-
- "watchpack": ["watchpack@2.5.0", "", { "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" } }, "sha512-e6vZvY6xboSwLz2GD36c16+O/2Z6fKvIf4pOXptw2rY9MVwE/TXc6RGqxD3I3x0a28lwBY7DE+76uTPSsBrrCA=="],
-
- "wbuf": ["wbuf@1.7.3", "", { "dependencies": { "minimalistic-assert": "^1.0.0" } }, "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA=="],
-
- "wcwidth": ["wcwidth@1.0.1", "", { "dependencies": { "defaults": "^1.0.3" } }, "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg=="],
-
- "webidl-conversions": ["webidl-conversions@7.0.0", "", {}, "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="],
-
- "webpack": ["webpack@5.104.1", "", { "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.8", "@types/json-schema": "^7.0.15", "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", "acorn": "^8.15.0", "acorn-import-phases": "^1.0.3", "browserslist": "^4.28.1", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.17.4", "es-module-lexer": "^2.0.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.3.1", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^4.3.3", "tapable": "^2.3.0", "terser-webpack-plugin": "^5.3.16", "watchpack": "^2.4.4", "webpack-sources": "^3.3.3" }, "bin": { "webpack": "bin/webpack.js" } }, "sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA=="],
-
- "webpack-dev-middleware": ["webpack-dev-middleware@7.4.5", "", { "dependencies": { "colorette": "^2.0.10", "memfs": "^4.43.1", "mime-types": "^3.0.1", "on-finished": "^2.4.1", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" }, "peerDependencies": { "webpack": "^5.0.0" }, "optionalPeers": ["webpack"] }, "sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA=="],
-
- "webpack-dev-server": ["webpack-dev-server@5.2.2", "", { "dependencies": { "@types/bonjour": "^3.5.13", "@types/connect-history-api-fallback": "^1.5.4", "@types/express": "^4.17.21", "@types/express-serve-static-core": "^4.17.21", "@types/serve-index": "^1.9.4", "@types/serve-static": "^1.15.5", "@types/sockjs": "^0.3.36", "@types/ws": "^8.5.10", "ansi-html-community": "^0.0.8", "bonjour-service": "^1.2.1", "chokidar": "^3.6.0", "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^2.0.0", "express": "^4.21.2", "graceful-fs": "^4.2.6", "http-proxy-middleware": "^2.0.9", "ipaddr.js": "^2.1.0", "launch-editor": "^2.6.1", "open": "^10.0.3", "p-retry": "^6.2.0", "schema-utils": "^4.2.0", "selfsigned": "^2.4.1", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", "webpack-dev-middleware": "^7.4.2", "ws": "^8.18.0" }, "peerDependencies": { "webpack": "^5.0.0" }, "optionalPeers": ["webpack"], "bin": { "webpack-dev-server": "bin/webpack-dev-server.js" } }, "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg=="],
-
- "webpack-node-externals": ["webpack-node-externals@3.0.0", "", {}, "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ=="],
-
- "webpack-sources": ["webpack-sources@1.4.3", "", { "dependencies": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" } }, "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ=="],
-
- "websocket-driver": ["websocket-driver@0.7.4", "", { "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg=="],
-
- "websocket-extensions": ["websocket-extensions@0.1.4", "", {}, "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg=="],
-
- "whatwg-encoding": ["whatwg-encoding@2.0.0", "", { "dependencies": { "iconv-lite": "0.6.3" } }, "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg=="],
-
- "whatwg-mimetype": ["whatwg-mimetype@3.0.0", "", {}, "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q=="],
-
- "whatwg-url": ["whatwg-url@5.0.0", "", { "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw=="],
-
- "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="],
-
- "which-boxed-primitive": ["which-boxed-primitive@1.1.1", "", { "dependencies": { "is-bigint": "^1.1.0", "is-boolean-object": "^1.2.1", "is-number-object": "^1.1.1", "is-string": "^1.1.1", "is-symbol": "^1.1.1" } }, "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA=="],
-
- "which-builtin-type": ["which-builtin-type@1.2.1", "", { "dependencies": { "call-bound": "^1.0.2", "function.prototype.name": "^1.1.6", "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", "is-date-object": "^1.1.0", "is-finalizationregistry": "^1.1.0", "is-generator-function": "^1.0.10", "is-regex": "^1.2.1", "is-weakref": "^1.0.2", "isarray": "^2.0.5", "which-boxed-primitive": "^1.1.0", "which-collection": "^1.0.2", "which-typed-array": "^1.1.16" } }, "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q=="],
-
- "which-collection": ["which-collection@1.0.2", "", { "dependencies": { "is-map": "^2.0.3", "is-set": "^2.0.3", "is-weakmap": "^2.0.2", "is-weakset": "^2.0.3" } }, "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw=="],
-
- "which-typed-array": ["which-typed-array@1.1.19", "", { "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", "call-bound": "^1.0.4", "for-each": "^0.3.5", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" } }, "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw=="],
-
- "winston": ["winston@3.19.0", "", { "dependencies": { "@colors/colors": "^1.6.0", "@dabh/diagnostics": "^2.0.8", "async": "^3.2.3", "is-stream": "^2.0.0", "logform": "^2.7.0", "one-time": "^1.0.0", "readable-stream": "^3.4.0", "safe-stable-stringify": "^2.3.1", "stack-trace": "0.0.x", "triple-beam": "^1.3.0", "winston-transport": "^4.9.0" } }, "sha512-LZNJgPzfKR+/J3cHkxcpHKpKKvGfDZVPS4hfJCc4cCG0CgYzvlD6yE/S3CIL/Yt91ak327YCpiF/0MyeZHEHKA=="],
-
- "winston-transport": ["winston-transport@4.9.0", "", { "dependencies": { "logform": "^2.7.0", "readable-stream": "^3.6.2", "triple-beam": "^1.3.0" } }, "sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A=="],
-
- "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="],
-
- "wordwrap": ["wordwrap@1.0.0", "", {}, "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q=="],
-
- "wrap-ansi": ["wrap-ansi@6.2.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA=="],
-
- "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="],
-
- "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="],
-
- "write-file-atomic": ["write-file-atomic@4.0.2", "", { "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" } }, "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg=="],
-
- "ws": ["ws@8.18.3", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg=="],
-
- "wsl-utils": ["wsl-utils@0.1.0", "", { "dependencies": { "is-wsl": "^3.1.0" } }, "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw=="],
-
- "xml-crypto": ["xml-crypto@3.2.1", "", { "dependencies": { "@xmldom/xmldom": "^0.8.8", "xpath": "0.0.32" } }, "sha512-0GUNbPtQt+PLMsC5HoZRONX+K6NBJEqpXe/lsvrFj0EqfpGPpVfJKGE7a5jCg8s2+Wkrf/2U1G41kIH+zC9eyQ=="],
-
- "xml-encryption": ["xml-encryption@3.1.0", "", { "dependencies": { "@xmldom/xmldom": "^0.8.5", "escape-html": "^1.0.3", "xpath": "0.0.32" } }, "sha512-PV7qnYpoAMXbf1kvQkqMScLeQpjCMixddAKq9PtqVrho8HnYbBOWNfG0kA4R7zxQDo7w9kiYAyzS/ullAyO55Q=="],
-
- "xml-name-validator": ["xml-name-validator@4.0.0", "", {}, "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw=="],
-
- "xml2js": ["xml2js@0.5.0", "", { "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" } }, "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA=="],
-
- "xmlbuilder": ["xmlbuilder@15.1.1", "", {}, "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg=="],
-
- "xmlchars": ["xmlchars@2.2.0", "", {}, "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="],
-
- "xpath": ["xpath@0.0.27", "", {}, "sha512-fg03WRxtkCV6ohClePNAECYsmpKKTv5L8y/X3Dn1hQrec3POx2jHZ/0P2qQ6HvsrU1BmeqXcof3NGGueG6LxwQ=="],
-
- "xtend": ["xtend@4.0.2", "", {}, "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="],
-
- "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="],
-
- "yallist": ["yallist@4.0.0", "", {}, "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="],
-
- "yaml": ["yaml@2.8.2", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A=="],
-
- "yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="],
-
- "yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="],
-
- "yauzl": ["yauzl@3.2.0", "", { "dependencies": { "buffer-crc32": "~0.2.3", "pend": "~1.2.0" } }, "sha512-Ow9nuGZE+qp1u4JIPvg+uCiUr7xGQWdff7JQSk5VGYTAZMDe2q8lxJ10ygv10qmSj031Ty/6FNJpLO4o1Sgc+w=="],
-
- "ylru": ["ylru@1.4.0", "", {}, "sha512-2OQsPNEmBCvXuFlIni/a+Rn+R2pHW9INm0BxXJ4hVDA8TirqMj+J/Rp9ItLatT/5pZqWwefVrTQcHpixsxnVlA=="],
-
- "yml-loader": ["yml-loader@2.1.0", "", { "dependencies": { "js-yaml": "^3.8.3", "loader-utils": "^1.1.0" } }, "sha512-mo42d5FQWlXxpyTEpYywPu1LzK3F69pPPCOB8WKgJi8s+aqaogQP7XnXTjSobbKzzlZ/wXm7kg9CkP4x4ZnVMw=="],
-
- "yn": ["yn@4.0.0", "", {}, "sha512-huWiiCS4TxKc4SfgmTwW1K7JmXPPAmuXWYy4j9qjQo4+27Kni8mGhAAi1cloRWmBe2EqcLgt3IGqQoRL/MtPgg=="],
-
- "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="],
-
- "yoctocolors-cjs": ["yoctocolors-cjs@2.1.3", "", {}, "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw=="],
-
- "yup": ["yup@1.7.1", "", { "dependencies": { "property-expr": "^2.0.5", "tiny-case": "^1.0.3", "toposort": "^2.0.2", "type-fest": "^2.19.0" } }, "sha512-GKHFX2nXul2/4Dtfxhozv701jLQHdf6J34YDh2cEkpqoo8le5Mg6/LrdseVLrFarmFygZTlfIhHx/QKfb/QWXw=="],
-
- "zen-observable": ["zen-observable@0.10.0", "", {}, "sha512-iI3lT0iojZhKwT5DaFy2Ce42n3yFcLdFyOh01G7H0flMY60P8MJuVFEoJoNwXlmAyQ45GrjL6AcZmmlv8A5rbw=="],
-
- "zip-stream": ["zip-stream@5.0.2", "", { "dependencies": { "archiver-utils": "^4.0.1", "compress-commons": "^5.0.1", "readable-stream": "^3.6.0" } }, "sha512-LfOdrUvPB8ZoXtvOBz6DlNClfvi//b5d56mSWyJi7XbH/HfhOHfUhOqxhT/rUiR7yiktlunqRo+jY6y/cWC/5g=="],
-
- "zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="],
-
- "zod-to-json-schema": ["zod-to-json-schema@3.25.0", "", { "peerDependencies": { "zod": "^3.25 || ^4" } }, "sha512-HvWtU2UG41LALjajJrML6uQejQhNJx+JBO9IflpSja4R03iNWfKXrj6W2h7ljuLyc1nKS+9yDyL/9tD1U/yBnQ=="],
-
- "zod-validation-error": ["zod-validation-error@3.5.4", "", { "peerDependencies": { "zod": "^3.24.4" } }, "sha512-+hEiRIiPobgyuFlEojnqjJnhFvg4r/i3cqgcm67eehZf/WBaK3g6cD02YU9mtdVxZjv8CzCA9n/Rhrs3yAAvAw=="],
-
- "zstd-codec": ["zstd-codec@0.1.5", "", {}, "sha512-v3fyjpK8S/dpY/X5WxqTK3IoCnp/ZOLxn144GZVlNUjtwAchzrVo03h+oMATFhCIiJ5KTr4V3vDQQYz4RU684g=="],
-
- "zwitch": ["zwitch@2.0.4", "", {}, "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A=="],
-
- "@apidevtools/swagger-parser/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="],
-
- "@aws-crypto/sha1-browser/@smithy/util-utf8": ["@smithy/util-utf8@2.3.0", "", { "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A=="],
-
- "@aws-crypto/sha256-browser/@smithy/util-utf8": ["@smithy/util-utf8@2.3.0", "", { "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A=="],
-
- "@aws-crypto/util/@smithy/util-utf8": ["@smithy/util-utf8@2.3.0", "", { "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A=="],
-
- "@aws-sdk/xml-builder/fast-xml-parser": ["fast-xml-parser@5.2.5", "", { "dependencies": { "strnum": "^2.1.0" }, "bin": { "fxparser": "src/cli/cli.js" } }, "sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ=="],
-
- "@azure/core-xml/fast-xml-parser": ["fast-xml-parser@5.3.3", "", { "dependencies": { "strnum": "^2.1.0" }, "bin": { "fxparser": "src/cli/cli.js" } }, "sha512-2O3dkPAAC6JavuMm8+4+pgTk+5hoAs+CjZ+sWcQLkX9+/tHRuTkQh/Oaifr8qDmZ8iEHb771Ea6G8CdwkrgvYA=="],
-
- "@azure/identity/open": ["open@10.2.0", "", { "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", "is-inside-container": "^1.0.0", "wsl-utils": "^0.1.0" } }, "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA=="],
-
- "@azure/msal-node/uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="],
-
- "@babel/core/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
-
- "@babel/helper-compilation-targets/lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="],
-
- "@babel/helper-compilation-targets/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
-
- "@babel/helper-create-class-features-plugin/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
-
- "@babel/helper-create-regexp-features-plugin/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
-
- "@babel/helper-define-polyfill-provider/resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="],
-
- "@babel/highlight/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="],
-
- "@babel/preset-env/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
-
- "@babel/template/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "@babel/traverse/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "@backstage/app-defaults/@backstage/core-components": ["@backstage/core-components@0.18.4", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/core-plugin-api": "^1.12.1", "@backstage/errors": "^1.2.7", "@backstage/theme": "^0.7.1", "@backstage/version-bridge": "^1.0.11", "@dagrejs/dagre": "^1.1.4", "@date-io/core": "^1.3.13", "@material-table/core": "^3.1.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^24.0.0", "@testing-library/react": "^16.0.0", "@types/react-sparklines": "^1.7.0", "ansi-regex": "^6.0.1", "classnames": "^2.2.6", "d3-selection": "^3.0.0", "d3-shape": "^3.0.0", "d3-zoom": "^3.0.0", "js-yaml": "^4.1.0", "linkify-react": "4.3.2", "linkifyjs": "4.3.2", "lodash": "^4.17.21", "pluralize": "^8.0.0", "qs": "^6.9.4", "rc-progress": "3.5.1", "react-full-screen": "^1.1.1", "react-helmet": "6.1.0", "react-hook-form": "^7.12.2", "react-idle-timer": "5.7.2", "react-markdown": "^8.0.0", "react-sparklines": "^1.7.0", "react-syntax-highlighter": "^15.4.5", "react-use": "^17.3.2", "react-virtualized-auto-sizer": "^1.0.11", "react-window": "^1.8.6", "remark-gfm": "^3.0.1", "zen-observable": "^0.10.0", "zod": "^3.22.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-x2dy8CGXclN5sHKIn6CyxCo99Wk245mX3AsrXoHNr2BCRBL4U7Pv62hlbTtAsdyO41+Fzbc33ZXnjQSdpnGwWw=="],
-
- "@backstage/app-defaults/@backstage/theme": ["@backstage/theme@0.7.1", "", { "dependencies": { "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@mui/material": "^5.12.2" }, "peerDependencies": { "@material-ui/core": "^4.12.2", "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-JC2EUqfV198SzNT0B/E7MrnQuR5ML3qCz1FMDNd1qGoXNRBtBsSlPPJMcmuRsz7tM2BN+Vnbr7KkRPNbEnCYkQ=="],
-
- "@backstage/backend-app-api/cookie": ["cookie@0.6.0", "", {}, "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw=="],
-
- "@backstage/backend-app-api/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="],
-
- "@backstage/backend-common/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="],
-
- "@backstage/backend-defaults/cookie": ["cookie@0.6.0", "", {}, "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw=="],
-
- "@backstage/backend-defaults/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="],
-
- "@backstage/backend-openapi-utils/@backstage/backend-plugin-api": ["@backstage/backend-plugin-api@1.6.0", "", { "dependencies": { "@backstage/cli-common": "^0.1.16", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@backstage/plugin-permission-node": "^0.10.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/json-schema": "^7.0.6", "@types/luxon": "^3.0.0", "json-schema": "^0.4.0", "knex": "^3.0.0", "luxon": "^3.0.0", "zod": "^3.22.4" } }, "sha512-Zkm/YG0qAC+sifpFu487y8e+8Ft+IZJxZwsRLyeLBLjwAkTNNvO25HvNKYSve3KzpTEca7So3zx146zV+lA5dA=="],
-
- "@backstage/backend-openapi-utils/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="],
-
- "@backstage/backend-plugin-api/@backstage/plugin-permission-common": ["@backstage/plugin-permission-common@0.8.4", "", { "dependencies": { "@backstage/config": "^1.3.2", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.1", "cross-fetch": "^4.0.0", "uuid": "^11.0.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" } }, "sha512-zZSfXadycRCP/YG2Cf4p/hxDU4fhrYDAVneo9PKZMfy3O4ERdtrYehGuOspcak2NkeMmaj2KfsFuWFuWK2xBTQ=="],
-
- "@backstage/catalog-model/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="],
-
- "@backstage/cli/@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@6.21.0", "", { "dependencies": { "@eslint-community/regexpp": "^4.5.1", "@typescript-eslint/scope-manager": "6.21.0", "@typescript-eslint/type-utils": "6.21.0", "@typescript-eslint/utils": "6.21.0", "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", "natural-compare": "^1.4.0", "semver": "^7.5.4", "ts-api-utils": "^1.0.1" }, "peerDependencies": { "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", "eslint": "^7.0.0 || ^8.0.0" } }, "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA=="],
-
- "@backstage/cli/@typescript-eslint/parser": ["@typescript-eslint/parser@6.21.0", "", { "dependencies": { "@typescript-eslint/scope-manager": "6.21.0", "@typescript-eslint/types": "6.21.0", "@typescript-eslint/typescript-estree": "6.21.0", "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4" }, "peerDependencies": { "eslint": "^7.0.0 || ^8.0.0" } }, "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ=="],
-
- "@backstage/config-loader/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="],
-
- "@backstage/frontend-defaults/@backstage/core-components": ["@backstage/core-components@0.18.4", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/core-plugin-api": "^1.12.1", "@backstage/errors": "^1.2.7", "@backstage/theme": "^0.7.1", "@backstage/version-bridge": "^1.0.11", "@dagrejs/dagre": "^1.1.4", "@date-io/core": "^1.3.13", "@material-table/core": "^3.1.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^24.0.0", "@testing-library/react": "^16.0.0", "@types/react-sparklines": "^1.7.0", "ansi-regex": "^6.0.1", "classnames": "^2.2.6", "d3-selection": "^3.0.0", "d3-shape": "^3.0.0", "d3-zoom": "^3.0.0", "js-yaml": "^4.1.0", "linkify-react": "4.3.2", "linkifyjs": "4.3.2", "lodash": "^4.17.21", "pluralize": "^8.0.0", "qs": "^6.9.4", "rc-progress": "3.5.1", "react-full-screen": "^1.1.1", "react-helmet": "6.1.0", "react-hook-form": "^7.12.2", "react-idle-timer": "5.7.2", "react-markdown": "^8.0.0", "react-sparklines": "^1.7.0", "react-syntax-highlighter": "^15.4.5", "react-use": "^17.3.2", "react-virtualized-auto-sizer": "^1.0.11", "react-window": "^1.8.6", "remark-gfm": "^3.0.1", "zen-observable": "^0.10.0", "zod": "^3.22.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-x2dy8CGXclN5sHKIn6CyxCo99Wk245mX3AsrXoHNr2BCRBL4U7Pv62hlbTtAsdyO41+Fzbc33ZXnjQSdpnGwWw=="],
-
- "@backstage/frontend-test-utils/@testing-library/react": ["@testing-library/react@16.3.1", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "@testing-library/dom": "^10.0.0", "@types/react": "^18.0.0 || ^19.0.0", "@types/react-dom": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-gr4KtAWqIOQoucWYD/f6ki+j5chXfcPc74Col/6poTyqTmn7zRmodWahWRCp8tYd+GMqBonw6hstNzqjbs6gjw=="],
-
- "@backstage/integration/git-url-parse": ["git-url-parse@15.0.0", "", { "dependencies": { "git-up": "^7.0.0" } }, "sha512-5reeBufLi+i4QD3ZFftcJs9jC26aULFLBU23FeKM/b1rI0K6ofIeAblmDVO7Ht22zTDE9+CkJ3ZVb0CgJmz3UQ=="],
-
- "@backstage/plugin-app/@backstage/core-components": ["@backstage/core-components@0.18.4", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/core-plugin-api": "^1.12.1", "@backstage/errors": "^1.2.7", "@backstage/theme": "^0.7.1", "@backstage/version-bridge": "^1.0.11", "@dagrejs/dagre": "^1.1.4", "@date-io/core": "^1.3.13", "@material-table/core": "^3.1.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^24.0.0", "@testing-library/react": "^16.0.0", "@types/react-sparklines": "^1.7.0", "ansi-regex": "^6.0.1", "classnames": "^2.2.6", "d3-selection": "^3.0.0", "d3-shape": "^3.0.0", "d3-zoom": "^3.0.0", "js-yaml": "^4.1.0", "linkify-react": "4.3.2", "linkifyjs": "4.3.2", "lodash": "^4.17.21", "pluralize": "^8.0.0", "qs": "^6.9.4", "rc-progress": "3.5.1", "react-full-screen": "^1.1.1", "react-helmet": "6.1.0", "react-hook-form": "^7.12.2", "react-idle-timer": "5.7.2", "react-markdown": "^8.0.0", "react-sparklines": "^1.7.0", "react-syntax-highlighter": "^15.4.5", "react-use": "^17.3.2", "react-virtualized-auto-sizer": "^1.0.11", "react-window": "^1.8.6", "remark-gfm": "^3.0.1", "zen-observable": "^0.10.0", "zod": "^3.22.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-x2dy8CGXclN5sHKIn6CyxCo99Wk245mX3AsrXoHNr2BCRBL4U7Pv62hlbTtAsdyO41+Fzbc33ZXnjQSdpnGwWw=="],
-
- "@backstage/plugin-app/@backstage/theme": ["@backstage/theme@0.7.1", "", { "dependencies": { "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@mui/material": "^5.12.2" }, "peerDependencies": { "@material-ui/core": "^4.12.2", "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-JC2EUqfV198SzNT0B/E7MrnQuR5ML3qCz1FMDNd1qGoXNRBtBsSlPPJMcmuRsz7tM2BN+Vnbr7KkRPNbEnCYkQ=="],
-
- "@backstage/plugin-app-backend/@backstage/backend-common": ["@backstage/backend-common@0.25.0", "", { "dependencies": { "@aws-sdk/abort-controller": "^3.347.0", "@aws-sdk/client-codecommit": "^3.350.0", "@aws-sdk/client-s3": "^3.350.0", "@aws-sdk/credential-providers": "^3.350.0", "@aws-sdk/types": "^3.347.0", "@backstage/backend-dev-utils": "^0.1.5", "@backstage/backend-plugin-api": "^1.0.0", "@backstage/cli-common": "^0.1.14", "@backstage/config": "^1.2.0", "@backstage/config-loader": "^1.9.1", "@backstage/errors": "^1.2.4", "@backstage/integration": "^1.15.0", "@backstage/integration-aws-node": "^0.1.12", "@backstage/plugin-auth-node": "^0.5.2", "@backstage/types": "^1.1.1", "@google-cloud/storage": "^7.0.0", "@keyv/memcache": "^1.3.5", "@keyv/redis": "^2.5.3", "@kubernetes/client-node": "0.20.0", "@manypkg/get-packages": "^1.1.3", "@octokit/rest": "^19.0.3", "@types/cors": "^2.8.6", "@types/dockerode": "^3.3.0", "@types/express": "^4.17.6", "@types/luxon": "^3.0.0", "@types/webpack-env": "^1.15.2", "archiver": "^7.0.0", "base64-stream": "^1.0.0", "compression": "^1.7.4", "concat-stream": "^2.0.0", "cors": "^2.8.5", "dockerode": "^4.0.0", "express": "^4.17.1", "express-promise-router": "^4.1.0", "fs-extra": "^11.2.0", "git-url-parse": "^14.0.0", "helmet": "^6.0.0", "isomorphic-git": "^1.23.0", "jose": "^5.0.0", "keyv": "^4.5.2", "knex": "^3.0.0", "lodash": "^4.17.21", "logform": "^2.3.2", "luxon": "^3.0.0", "minimatch": "^9.0.0", "minimist": "^1.2.5", "morgan": "^1.10.0", "mysql2": "^3.0.0", "node-fetch": "^2.7.0", "node-forge": "^1.3.1", "p-limit": "^3.1.0", "path-to-regexp": "^8.0.0", "pg": "^8.11.3", "pg-format": "^1.0.4", "raw-body": "^2.4.1", "selfsigned": "^2.0.0", "stoppable": "^1.1.0", "tar": "^6.1.12", "triple-beam": "^1.4.1", "uuid": "^9.0.0", "winston": "^3.2.1", "winston-transport": "^4.5.0", "yauzl": "^3.0.0", "yn": "^4.0.0" }, "peerDependencies": { "pg-connection-string": "^2.3.0" }, "optionalPeers": ["pg-connection-string"] }, "sha512-TMQjoZLP80ek/NYBAcFvr8p5fioxuq6rC2Qd9FHXTifTzH9k31yJqmaTUmlJcw4+tz+3h4ss3qCwGGlgfNbGfQ=="],
-
- "@backstage/plugin-app-backend/@backstage/backend-plugin-api": ["@backstage/backend-plugin-api@1.6.0", "", { "dependencies": { "@backstage/cli-common": "^0.1.16", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@backstage/plugin-permission-node": "^0.10.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/json-schema": "^7.0.6", "@types/luxon": "^3.0.0", "json-schema": "^0.4.0", "knex": "^3.0.0", "luxon": "^3.0.0", "zod": "^3.22.4" } }, "sha512-Zkm/YG0qAC+sifpFu487y8e+8Ft+IZJxZwsRLyeLBLjwAkTNNvO25HvNKYSve3KzpTEca7So3zx146zV+lA5dA=="],
-
- "@backstage/plugin-app-node/@backstage/backend-plugin-api": ["@backstage/backend-plugin-api@1.6.0", "", { "dependencies": { "@backstage/cli-common": "^0.1.16", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@backstage/plugin-permission-node": "^0.10.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/json-schema": "^7.0.6", "@types/luxon": "^3.0.0", "json-schema": "^0.4.0", "knex": "^3.0.0", "luxon": "^3.0.0", "zod": "^3.22.4" } }, "sha512-Zkm/YG0qAC+sifpFu487y8e+8Ft+IZJxZwsRLyeLBLjwAkTNNvO25HvNKYSve3KzpTEca7So3zx146zV+lA5dA=="],
-
- "@backstage/plugin-auth-backend/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="],
-
- "@backstage/plugin-auth-node/@backstage/backend-common": ["@backstage/backend-common@0.25.0", "", { "dependencies": { "@aws-sdk/abort-controller": "^3.347.0", "@aws-sdk/client-codecommit": "^3.350.0", "@aws-sdk/client-s3": "^3.350.0", "@aws-sdk/credential-providers": "^3.350.0", "@aws-sdk/types": "^3.347.0", "@backstage/backend-dev-utils": "^0.1.5", "@backstage/backend-plugin-api": "^1.0.0", "@backstage/cli-common": "^0.1.14", "@backstage/config": "^1.2.0", "@backstage/config-loader": "^1.9.1", "@backstage/errors": "^1.2.4", "@backstage/integration": "^1.15.0", "@backstage/integration-aws-node": "^0.1.12", "@backstage/plugin-auth-node": "^0.5.2", "@backstage/types": "^1.1.1", "@google-cloud/storage": "^7.0.0", "@keyv/memcache": "^1.3.5", "@keyv/redis": "^2.5.3", "@kubernetes/client-node": "0.20.0", "@manypkg/get-packages": "^1.1.3", "@octokit/rest": "^19.0.3", "@types/cors": "^2.8.6", "@types/dockerode": "^3.3.0", "@types/express": "^4.17.6", "@types/luxon": "^3.0.0", "@types/webpack-env": "^1.15.2", "archiver": "^7.0.0", "base64-stream": "^1.0.0", "compression": "^1.7.4", "concat-stream": "^2.0.0", "cors": "^2.8.5", "dockerode": "^4.0.0", "express": "^4.17.1", "express-promise-router": "^4.1.0", "fs-extra": "^11.2.0", "git-url-parse": "^14.0.0", "helmet": "^6.0.0", "isomorphic-git": "^1.23.0", "jose": "^5.0.0", "keyv": "^4.5.2", "knex": "^3.0.0", "lodash": "^4.17.21", "logform": "^2.3.2", "luxon": "^3.0.0", "minimatch": "^9.0.0", "minimist": "^1.2.5", "morgan": "^1.10.0", "mysql2": "^3.0.0", "node-fetch": "^2.7.0", "node-forge": "^1.3.1", "p-limit": "^3.1.0", "path-to-regexp": "^8.0.0", "pg": "^8.11.3", "pg-format": "^1.0.4", "raw-body": "^2.4.1", "selfsigned": "^2.0.0", "stoppable": "^1.1.0", "tar": "^6.1.12", "triple-beam": "^1.4.1", "uuid": "^9.0.0", "winston": "^3.2.1", "winston-transport": "^4.5.0", "yauzl": "^3.0.0", "yn": "^4.0.0" }, "peerDependencies": { "pg-connection-string": "^2.3.0" }, "optionalPeers": ["pg-connection-string"] }, "sha512-TMQjoZLP80ek/NYBAcFvr8p5fioxuq6rC2Qd9FHXTifTzH9k31yJqmaTUmlJcw4+tz+3h4ss3qCwGGlgfNbGfQ=="],
-
- "@backstage/plugin-auth-node/@backstage/backend-plugin-api": ["@backstage/backend-plugin-api@1.6.0", "", { "dependencies": { "@backstage/cli-common": "^0.1.16", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@backstage/plugin-permission-node": "^0.10.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/json-schema": "^7.0.6", "@types/luxon": "^3.0.0", "json-schema": "^0.4.0", "knex": "^3.0.0", "luxon": "^3.0.0", "zod": "^3.22.4" } }, "sha512-Zkm/YG0qAC+sifpFu487y8e+8Ft+IZJxZwsRLyeLBLjwAkTNNvO25HvNKYSve3KzpTEca7So3zx146zV+lA5dA=="],
-
- "@backstage/plugin-catalog/@backstage/core-components": ["@backstage/core-components@0.18.4", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/core-plugin-api": "^1.12.1", "@backstage/errors": "^1.2.7", "@backstage/theme": "^0.7.1", "@backstage/version-bridge": "^1.0.11", "@dagrejs/dagre": "^1.1.4", "@date-io/core": "^1.3.13", "@material-table/core": "^3.1.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^24.0.0", "@testing-library/react": "^16.0.0", "@types/react-sparklines": "^1.7.0", "ansi-regex": "^6.0.1", "classnames": "^2.2.6", "d3-selection": "^3.0.0", "d3-shape": "^3.0.0", "d3-zoom": "^3.0.0", "js-yaml": "^4.1.0", "linkify-react": "4.3.2", "linkifyjs": "4.3.2", "lodash": "^4.17.21", "pluralize": "^8.0.0", "qs": "^6.9.4", "rc-progress": "3.5.1", "react-full-screen": "^1.1.1", "react-helmet": "6.1.0", "react-hook-form": "^7.12.2", "react-idle-timer": "5.7.2", "react-markdown": "^8.0.0", "react-sparklines": "^1.7.0", "react-syntax-highlighter": "^15.4.5", "react-use": "^17.3.2", "react-virtualized-auto-sizer": "^1.0.11", "react-window": "^1.8.6", "remark-gfm": "^3.0.1", "zen-observable": "^0.10.0", "zod": "^3.22.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-x2dy8CGXclN5sHKIn6CyxCo99Wk245mX3AsrXoHNr2BCRBL4U7Pv62hlbTtAsdyO41+Fzbc33ZXnjQSdpnGwWw=="],
-
- "@backstage/plugin-catalog-backend/@backstage/backend-common": ["@backstage/backend-common@0.25.0", "", { "dependencies": { "@aws-sdk/abort-controller": "^3.347.0", "@aws-sdk/client-codecommit": "^3.350.0", "@aws-sdk/client-s3": "^3.350.0", "@aws-sdk/credential-providers": "^3.350.0", "@aws-sdk/types": "^3.347.0", "@backstage/backend-dev-utils": "^0.1.5", "@backstage/backend-plugin-api": "^1.0.0", "@backstage/cli-common": "^0.1.14", "@backstage/config": "^1.2.0", "@backstage/config-loader": "^1.9.1", "@backstage/errors": "^1.2.4", "@backstage/integration": "^1.15.0", "@backstage/integration-aws-node": "^0.1.12", "@backstage/plugin-auth-node": "^0.5.2", "@backstage/types": "^1.1.1", "@google-cloud/storage": "^7.0.0", "@keyv/memcache": "^1.3.5", "@keyv/redis": "^2.5.3", "@kubernetes/client-node": "0.20.0", "@manypkg/get-packages": "^1.1.3", "@octokit/rest": "^19.0.3", "@types/cors": "^2.8.6", "@types/dockerode": "^3.3.0", "@types/express": "^4.17.6", "@types/luxon": "^3.0.0", "@types/webpack-env": "^1.15.2", "archiver": "^7.0.0", "base64-stream": "^1.0.0", "compression": "^1.7.4", "concat-stream": "^2.0.0", "cors": "^2.8.5", "dockerode": "^4.0.0", "express": "^4.17.1", "express-promise-router": "^4.1.0", "fs-extra": "^11.2.0", "git-url-parse": "^14.0.0", "helmet": "^6.0.0", "isomorphic-git": "^1.23.0", "jose": "^5.0.0", "keyv": "^4.5.2", "knex": "^3.0.0", "lodash": "^4.17.21", "logform": "^2.3.2", "luxon": "^3.0.0", "minimatch": "^9.0.0", "minimist": "^1.2.5", "morgan": "^1.10.0", "mysql2": "^3.0.0", "node-fetch": "^2.7.0", "node-forge": "^1.3.1", "p-limit": "^3.1.0", "path-to-regexp": "^8.0.0", "pg": "^8.11.3", "pg-format": "^1.0.4", "raw-body": "^2.4.1", "selfsigned": "^2.0.0", "stoppable": "^1.1.0", "tar": "^6.1.12", "triple-beam": "^1.4.1", "uuid": "^9.0.0", "winston": "^3.2.1", "winston-transport": "^4.5.0", "yauzl": "^3.0.0", "yn": "^4.0.0" }, "peerDependencies": { "pg-connection-string": "^2.3.0" }, "optionalPeers": ["pg-connection-string"] }, "sha512-TMQjoZLP80ek/NYBAcFvr8p5fioxuq6rC2Qd9FHXTifTzH9k31yJqmaTUmlJcw4+tz+3h4ss3qCwGGlgfNbGfQ=="],
-
- "@backstage/plugin-catalog-backend/@backstage/backend-plugin-api": ["@backstage/backend-plugin-api@1.6.0", "", { "dependencies": { "@backstage/cli-common": "^0.1.16", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@backstage/plugin-permission-node": "^0.10.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/json-schema": "^7.0.6", "@types/luxon": "^3.0.0", "json-schema": "^0.4.0", "knex": "^3.0.0", "luxon": "^3.0.0", "zod": "^3.22.4" } }, "sha512-Zkm/YG0qAC+sifpFu487y8e+8Ft+IZJxZwsRLyeLBLjwAkTNNvO25HvNKYSve3KzpTEca7So3zx146zV+lA5dA=="],
-
- "@backstage/plugin-catalog-backend/@backstage/plugin-events-node": ["@backstage/plugin-events-node@0.4.18", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "@types/content-type": "^1.1.8", "@types/express": "^4.17.6", "content-type": "^1.0.5", "cross-fetch": "^4.0.0", "express": "^4.22.0", "uri-template": "^2.0.0" } }, "sha512-PHxS5X8r6cI3BglafvLL7tR7OD2axuWqj0myO/Ls58X5ZS8uplmffRuWE59t509E8MBe6fQCyO6epYWVFjvyYg=="],
-
- "@backstage/plugin-catalog-backend/@backstage/plugin-permission-common": ["@backstage/plugin-permission-common@0.8.4", "", { "dependencies": { "@backstage/config": "^1.3.2", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.1", "cross-fetch": "^4.0.0", "uuid": "^11.0.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" } }, "sha512-zZSfXadycRCP/YG2Cf4p/hxDU4fhrYDAVneo9PKZMfy3O4ERdtrYehGuOspcak2NkeMmaj2KfsFuWFuWK2xBTQ=="],
-
- "@backstage/plugin-catalog-backend/@backstage/plugin-permission-node": ["@backstage/plugin-permission-node@0.9.1", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.3.0", "@backstage/config": "^1.3.2", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.2", "@backstage/plugin-permission-common": "^0.8.4", "@types/express": "^4.17.6", "express": "^4.17.1", "express-promise-router": "^4.1.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" } }, "sha512-1Wryt2Slja3mJvRpUUjvqI11HFjDF+4cE+VsxWnj7o+GlClGS4EePj1YOlB32W0ImKaSFIr8bB7Z/lHTJ9IckA=="],
-
- "@backstage/plugin-catalog-backend/git-url-parse": ["git-url-parse@15.0.0", "", { "dependencies": { "git-up": "^7.0.0" } }, "sha512-5reeBufLi+i4QD3ZFftcJs9jC26aULFLBU23FeKM/b1rI0K6ofIeAblmDVO7Ht22zTDE9+CkJ3ZVb0CgJmz3UQ=="],
-
- "@backstage/plugin-catalog-graph/@backstage/core-components": ["@backstage/core-components@0.17.5", "", { "dependencies": { "@backstage/config": "^1.3.3", "@backstage/core-plugin-api": "^1.10.9", "@backstage/errors": "^1.2.7", "@backstage/theme": "^0.6.8", "@backstage/version-bridge": "^1.0.11", "@dagrejs/dagre": "^1.1.4", "@date-io/core": "^1.3.13", "@material-table/core": "^3.1.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^24.0.0", "@testing-library/react": "^16.0.0", "@types/react-sparklines": "^1.7.0", "ansi-regex": "^6.0.1", "classnames": "^2.2.6", "d3-selection": "^3.0.0", "d3-shape": "^3.0.0", "d3-zoom": "^3.0.0", "js-yaml": "^4.1.0", "linkify-react": "4.3.2", "linkifyjs": "4.3.2", "lodash": "^4.17.21", "pluralize": "^8.0.0", "qs": "^6.9.4", "rc-progress": "3.5.1", "react-helmet": "6.1.0", "react-hook-form": "^7.12.2", "react-idle-timer": "5.7.2", "react-markdown": "^8.0.0", "react-sparklines": "^1.7.0", "react-syntax-highlighter": "^15.4.5", "react-use": "^17.3.2", "react-virtualized-auto-sizer": "^1.0.11", "react-window": "^1.8.6", "remark-gfm": "^3.0.1", "zen-observable": "^0.10.0", "zod": "^3.22.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-rFEeQH46BWx040aIsZ5VBmIgVzILWvQwhlCKRMZj09Yo9eLQnM6B5KTLD2wo5MeohZqwPY2Dmd/y+O8FyjvVVQ=="],
-
- "@backstage/plugin-catalog-graph/@backstage/frontend-plugin-api": ["@backstage/frontend-plugin-api@0.11.0", "", { "dependencies": { "@backstage/core-components": "^0.17.5", "@backstage/core-plugin-api": "^1.10.9", "@backstage/types": "^1.2.1", "@backstage/version-bridge": "^1.0.11", "@material-ui/core": "^4.12.4", "lodash": "^4.17.21", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-NOQ6c3vjwWKqU6vvbgwSQW0RvbSn1D7kIFut6sctjSkNNWzQ5nULclBap6sPQZsHwXqG+MqDdG46g4po6MRK4A=="],
-
- "@backstage/plugin-catalog-import/@backstage/core-compat-api": ["@backstage/core-compat-api@0.4.4", "", { "dependencies": { "@backstage/core-plugin-api": "^1.10.9", "@backstage/frontend-plugin-api": "^0.10.4", "@backstage/plugin-catalog-react": "^1.19.1", "@backstage/version-bridge": "^1.0.11", "lodash": "^4.17.21" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-Ub5W9RFnhs4HuAmdYxbhLS8qC+Yq0RNLGFDypNUh5/ZVCPq4wb2j40ADL2gLuSBsqyYYVAsWauDuiFSEQJWalw=="],
-
- "@backstage/plugin-catalog-import/@backstage/core-components": ["@backstage/core-components@0.17.5", "", { "dependencies": { "@backstage/config": "^1.3.3", "@backstage/core-plugin-api": "^1.10.9", "@backstage/errors": "^1.2.7", "@backstage/theme": "^0.6.8", "@backstage/version-bridge": "^1.0.11", "@dagrejs/dagre": "^1.1.4", "@date-io/core": "^1.3.13", "@material-table/core": "^3.1.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^24.0.0", "@testing-library/react": "^16.0.0", "@types/react-sparklines": "^1.7.0", "ansi-regex": "^6.0.1", "classnames": "^2.2.6", "d3-selection": "^3.0.0", "d3-shape": "^3.0.0", "d3-zoom": "^3.0.0", "js-yaml": "^4.1.0", "linkify-react": "4.3.2", "linkifyjs": "4.3.2", "lodash": "^4.17.21", "pluralize": "^8.0.0", "qs": "^6.9.4", "rc-progress": "3.5.1", "react-helmet": "6.1.0", "react-hook-form": "^7.12.2", "react-idle-timer": "5.7.2", "react-markdown": "^8.0.0", "react-sparklines": "^1.7.0", "react-syntax-highlighter": "^15.4.5", "react-use": "^17.3.2", "react-virtualized-auto-sizer": "^1.0.11", "react-window": "^1.8.6", "remark-gfm": "^3.0.1", "zen-observable": "^0.10.0", "zod": "^3.22.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-rFEeQH46BWx040aIsZ5VBmIgVzILWvQwhlCKRMZj09Yo9eLQnM6B5KTLD2wo5MeohZqwPY2Dmd/y+O8FyjvVVQ=="],
-
- "@backstage/plugin-catalog-import/@backstage/frontend-plugin-api": ["@backstage/frontend-plugin-api@0.10.4", "", { "dependencies": { "@backstage/core-components": "^0.17.4", "@backstage/core-plugin-api": "^1.10.9", "@backstage/types": "^1.2.1", "@backstage/version-bridge": "^1.0.11", "@material-ui/core": "^4.12.4", "lodash": "^4.17.21", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-nC9IecJFbPkC0G8+GYolX3k0IE9prWelhE5N76zDmlW17niB5w270RZopGbhEOEvRiuZrIJk6iXU5ukFbdw8FQ=="],
-
- "@backstage/plugin-catalog-import/git-url-parse": ["git-url-parse@15.0.0", "", { "dependencies": { "git-up": "^7.0.0" } }, "sha512-5reeBufLi+i4QD3ZFftcJs9jC26aULFLBU23FeKM/b1rI0K6ofIeAblmDVO7Ht22zTDE9+CkJ3ZVb0CgJmz3UQ=="],
-
- "@backstage/plugin-catalog-node/@backstage/backend-plugin-api": ["@backstage/backend-plugin-api@1.6.0", "", { "dependencies": { "@backstage/cli-common": "^0.1.16", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@backstage/plugin-permission-node": "^0.10.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/json-schema": "^7.0.6", "@types/luxon": "^3.0.0", "json-schema": "^0.4.0", "knex": "^3.0.0", "luxon": "^3.0.0", "zod": "^3.22.4" } }, "sha512-Zkm/YG0qAC+sifpFu487y8e+8Ft+IZJxZwsRLyeLBLjwAkTNNvO25HvNKYSve3KzpTEca7So3zx146zV+lA5dA=="],
-
- "@backstage/plugin-catalog-node/@backstage/plugin-permission-node": ["@backstage/plugin-permission-node@0.10.7", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@types/express": "^4.17.6", "express": "^4.22.0", "express-promise-router": "^4.1.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" } }, "sha512-OSDfwo9dVTHBzfJ7LKea3Bw5ZQR+VnPHMOkwyu+MtaCZ2QPrGh0ZKcri4miHshnhhnqCKF6ELuK5nYxZFhIcjg=="],
-
- "@backstage/plugin-catalog-react/@backstage/core-components": ["@backstage/core-components@0.18.4", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/core-plugin-api": "^1.12.1", "@backstage/errors": "^1.2.7", "@backstage/theme": "^0.7.1", "@backstage/version-bridge": "^1.0.11", "@dagrejs/dagre": "^1.1.4", "@date-io/core": "^1.3.13", "@material-table/core": "^3.1.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^24.0.0", "@testing-library/react": "^16.0.0", "@types/react-sparklines": "^1.7.0", "ansi-regex": "^6.0.1", "classnames": "^2.2.6", "d3-selection": "^3.0.0", "d3-shape": "^3.0.0", "d3-zoom": "^3.0.0", "js-yaml": "^4.1.0", "linkify-react": "4.3.2", "linkifyjs": "4.3.2", "lodash": "^4.17.21", "pluralize": "^8.0.0", "qs": "^6.9.4", "rc-progress": "3.5.1", "react-full-screen": "^1.1.1", "react-helmet": "6.1.0", "react-hook-form": "^7.12.2", "react-idle-timer": "5.7.2", "react-markdown": "^8.0.0", "react-sparklines": "^1.7.0", "react-syntax-highlighter": "^15.4.5", "react-use": "^17.3.2", "react-virtualized-auto-sizer": "^1.0.11", "react-window": "^1.8.6", "remark-gfm": "^3.0.1", "zen-observable": "^0.10.0", "zod": "^3.22.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-x2dy8CGXclN5sHKIn6CyxCo99Wk245mX3AsrXoHNr2BCRBL4U7Pv62hlbTtAsdyO41+Fzbc33ZXnjQSdpnGwWw=="],
-
- "@backstage/plugin-home/@backstage/core-compat-api": ["@backstage/core-compat-api@0.3.6", "", { "dependencies": { "@backstage/core-plugin-api": "^1.10.4", "@backstage/frontend-plugin-api": "^0.9.5", "@backstage/version-bridge": "^1.0.11", "lodash": "^4.17.21" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-ybXU+sYHOrhadhHr3HUrC5xGc1uIAcRafc8qFW8tAbf5jMtEZZW+Yf59p8YvHu8G4r+WEapmAwo5V8pWlSYj/g=="],
-
- "@backstage/plugin-home/@backstage/core-components": ["@backstage/core-components@0.15.1", "", { "dependencies": { "@backstage/config": "^1.2.0", "@backstage/core-plugin-api": "^1.10.0", "@backstage/errors": "^1.2.4", "@backstage/theme": "^0.6.0", "@backstage/version-bridge": "^1.0.10", "@date-io/core": "^1.3.13", "@material-table/core": "^3.1.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^24.0.0", "@types/react-sparklines": "^1.7.0", "ansi-regex": "^6.0.1", "classnames": "^2.2.6", "d3-selection": "^3.0.0", "d3-shape": "^3.0.0", "d3-zoom": "^3.0.0", "dagre": "^0.8.5", "linkify-react": "4.1.3", "linkifyjs": "4.1.3", "lodash": "^4.17.21", "pluralize": "^8.0.0", "qs": "^6.9.4", "rc-progress": "3.5.1", "react-helmet": "6.1.0", "react-hook-form": "^7.12.2", "react-idle-timer": "5.7.2", "react-markdown": "^8.0.0", "react-sparklines": "^1.7.0", "react-syntax-highlighter": "^15.4.5", "react-use": "^17.3.2", "react-virtualized-auto-sizer": "^1.0.11", "react-window": "^1.8.6", "remark-gfm": "^3.0.1", "zen-observable": "^0.10.0", "zod": "^3.22.4" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", "react": "^16.13.1 || ^17.0.0 || ^18.0.0", "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", "react-router-dom": "6.0.0-beta.0 || ^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-Vqll9vyExGln1K+M6FriWKlU1jkpwEg0X6WtxrwxcykdKQNAfiyJwU7K/NuPCUEP80TsbHycOPFHdU+SWygI8A=="],
-
- "@backstage/plugin-home/@backstage/frontend-plugin-api": ["@backstage/frontend-plugin-api@0.8.0", "", { "dependencies": { "@backstage/core-components": "^0.15.0", "@backstage/core-plugin-api": "^1.9.4", "@backstage/types": "^1.1.1", "@backstage/version-bridge": "^1.0.9", "@material-ui/core": "^4.12.4", "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", "lodash": "^4.17.21", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4" }, "peerDependencies": { "react": "^16.13.1 || ^17.0.0 || ^18.0.0", "react-router-dom": "6.0.0-beta.0 || ^6.3.0" } }, "sha512-LpxR2K58XVZPc4IWdsYa2l8JL6R2nX/52WmIs4kaOvLGXqiMWs78Ih+QXoDkPYnAhktygOFfHszyt1zA2y0GxQ=="],
-
- "@backstage/plugin-home-react/@backstage/core-components": ["@backstage/core-components@0.18.4", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/core-plugin-api": "^1.12.1", "@backstage/errors": "^1.2.7", "@backstage/theme": "^0.7.1", "@backstage/version-bridge": "^1.0.11", "@dagrejs/dagre": "^1.1.4", "@date-io/core": "^1.3.13", "@material-table/core": "^3.1.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^24.0.0", "@testing-library/react": "^16.0.0", "@types/react-sparklines": "^1.7.0", "ansi-regex": "^6.0.1", "classnames": "^2.2.6", "d3-selection": "^3.0.0", "d3-shape": "^3.0.0", "d3-zoom": "^3.0.0", "js-yaml": "^4.1.0", "linkify-react": "4.3.2", "linkifyjs": "4.3.2", "lodash": "^4.17.21", "pluralize": "^8.0.0", "qs": "^6.9.4", "rc-progress": "3.5.1", "react-full-screen": "^1.1.1", "react-helmet": "6.1.0", "react-hook-form": "^7.12.2", "react-idle-timer": "5.7.2", "react-markdown": "^8.0.0", "react-sparklines": "^1.7.0", "react-syntax-highlighter": "^15.4.5", "react-use": "^17.3.2", "react-virtualized-auto-sizer": "^1.0.11", "react-window": "^1.8.6", "remark-gfm": "^3.0.1", "zen-observable": "^0.10.0", "zod": "^3.22.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-x2dy8CGXclN5sHKIn6CyxCo99Wk245mX3AsrXoHNr2BCRBL4U7Pv62hlbTtAsdyO41+Fzbc33ZXnjQSdpnGwWw=="],
-
- "@backstage/plugin-home-react/@rjsf/utils": ["@rjsf/utils@5.24.13", "", { "dependencies": { "json-schema-merge-allof": "^0.8.1", "jsonpointer": "^5.0.1", "lodash": "^4.17.21", "lodash-es": "^4.17.21", "react-is": "^18.2.0" }, "peerDependencies": { "react": "^16.14.0 || >=17" } }, "sha512-rNF8tDxIwTtXzz5O/U23QU73nlhgQNYJ+Sv5BAwQOIyhIE2Z3S5tUiSVMwZHt0julkv/Ryfwi+qsD4FiE5rOuw=="],
-
- "@backstage/plugin-permission-node/@backstage/backend-common": ["@backstage/backend-common@0.25.0", "", { "dependencies": { "@aws-sdk/abort-controller": "^3.347.0", "@aws-sdk/client-codecommit": "^3.350.0", "@aws-sdk/client-s3": "^3.350.0", "@aws-sdk/credential-providers": "^3.350.0", "@aws-sdk/types": "^3.347.0", "@backstage/backend-dev-utils": "^0.1.5", "@backstage/backend-plugin-api": "^1.0.0", "@backstage/cli-common": "^0.1.14", "@backstage/config": "^1.2.0", "@backstage/config-loader": "^1.9.1", "@backstage/errors": "^1.2.4", "@backstage/integration": "^1.15.0", "@backstage/integration-aws-node": "^0.1.12", "@backstage/plugin-auth-node": "^0.5.2", "@backstage/types": "^1.1.1", "@google-cloud/storage": "^7.0.0", "@keyv/memcache": "^1.3.5", "@keyv/redis": "^2.5.3", "@kubernetes/client-node": "0.20.0", "@manypkg/get-packages": "^1.1.3", "@octokit/rest": "^19.0.3", "@types/cors": "^2.8.6", "@types/dockerode": "^3.3.0", "@types/express": "^4.17.6", "@types/luxon": "^3.0.0", "@types/webpack-env": "^1.15.2", "archiver": "^7.0.0", "base64-stream": "^1.0.0", "compression": "^1.7.4", "concat-stream": "^2.0.0", "cors": "^2.8.5", "dockerode": "^4.0.0", "express": "^4.17.1", "express-promise-router": "^4.1.0", "fs-extra": "^11.2.0", "git-url-parse": "^14.0.0", "helmet": "^6.0.0", "isomorphic-git": "^1.23.0", "jose": "^5.0.0", "keyv": "^4.5.2", "knex": "^3.0.0", "lodash": "^4.17.21", "logform": "^2.3.2", "luxon": "^3.0.0", "minimatch": "^9.0.0", "minimist": "^1.2.5", "morgan": "^1.10.0", "mysql2": "^3.0.0", "node-fetch": "^2.7.0", "node-forge": "^1.3.1", "p-limit": "^3.1.0", "path-to-regexp": "^8.0.0", "pg": "^8.11.3", "pg-format": "^1.0.4", "raw-body": "^2.4.1", "selfsigned": "^2.0.0", "stoppable": "^1.1.0", "tar": "^6.1.12", "triple-beam": "^1.4.1", "uuid": "^9.0.0", "winston": "^3.2.1", "winston-transport": "^4.5.0", "yauzl": "^3.0.0", "yn": "^4.0.0" }, "peerDependencies": { "pg-connection-string": "^2.3.0" }, "optionalPeers": ["pg-connection-string"] }, "sha512-TMQjoZLP80ek/NYBAcFvr8p5fioxuq6rC2Qd9FHXTifTzH9k31yJqmaTUmlJcw4+tz+3h4ss3qCwGGlgfNbGfQ=="],
-
- "@backstage/plugin-permission-node/@backstage/backend-plugin-api": ["@backstage/backend-plugin-api@1.6.0", "", { "dependencies": { "@backstage/cli-common": "^0.1.16", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@backstage/plugin-permission-node": "^0.10.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/json-schema": "^7.0.6", "@types/luxon": "^3.0.0", "json-schema": "^0.4.0", "knex": "^3.0.0", "luxon": "^3.0.0", "zod": "^3.22.4" } }, "sha512-Zkm/YG0qAC+sifpFu487y8e+8Ft+IZJxZwsRLyeLBLjwAkTNNvO25HvNKYSve3KzpTEca7So3zx146zV+lA5dA=="],
-
- "@backstage/plugin-permission-node/@backstage/plugin-auth-node": ["@backstage/plugin-auth-node@0.6.10", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/catalog-client": "^1.12.1", "@backstage/catalog-model": "^1.7.6", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "express": "^4.22.0", "jose": "^5.0.0", "lodash": "^4.17.21", "passport": "^0.7.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4", "zod-validation-error": "^3.4.0" } }, "sha512-Hi8ZxKzs0GS37a0KTpPf3DyhQ8TdexwH+UtgNxOPn6nBuoONOeW75EQO4CoJ12oT6DmIJ0t6ZXAqIe4kt93QOw=="],
-
- "@backstage/plugin-permission-node/@backstage/plugin-permission-common": ["@backstage/plugin-permission-common@0.8.4", "", { "dependencies": { "@backstage/config": "^1.3.2", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.1", "cross-fetch": "^4.0.0", "uuid": "^11.0.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" } }, "sha512-zZSfXadycRCP/YG2Cf4p/hxDU4fhrYDAVneo9PKZMfy3O4ERdtrYehGuOspcak2NkeMmaj2KfsFuWFuWK2xBTQ=="],
-
- "@backstage/plugin-proxy-backend/@backstage/backend-common": ["@backstage/backend-common@0.25.0", "", { "dependencies": { "@aws-sdk/abort-controller": "^3.347.0", "@aws-sdk/client-codecommit": "^3.350.0", "@aws-sdk/client-s3": "^3.350.0", "@aws-sdk/credential-providers": "^3.350.0", "@aws-sdk/types": "^3.347.0", "@backstage/backend-dev-utils": "^0.1.5", "@backstage/backend-plugin-api": "^1.0.0", "@backstage/cli-common": "^0.1.14", "@backstage/config": "^1.2.0", "@backstage/config-loader": "^1.9.1", "@backstage/errors": "^1.2.4", "@backstage/integration": "^1.15.0", "@backstage/integration-aws-node": "^0.1.12", "@backstage/plugin-auth-node": "^0.5.2", "@backstage/types": "^1.1.1", "@google-cloud/storage": "^7.0.0", "@keyv/memcache": "^1.3.5", "@keyv/redis": "^2.5.3", "@kubernetes/client-node": "0.20.0", "@manypkg/get-packages": "^1.1.3", "@octokit/rest": "^19.0.3", "@types/cors": "^2.8.6", "@types/dockerode": "^3.3.0", "@types/express": "^4.17.6", "@types/luxon": "^3.0.0", "@types/webpack-env": "^1.15.2", "archiver": "^7.0.0", "base64-stream": "^1.0.0", "compression": "^1.7.4", "concat-stream": "^2.0.0", "cors": "^2.8.5", "dockerode": "^4.0.0", "express": "^4.17.1", "express-promise-router": "^4.1.0", "fs-extra": "^11.2.0", "git-url-parse": "^14.0.0", "helmet": "^6.0.0", "isomorphic-git": "^1.23.0", "jose": "^5.0.0", "keyv": "^4.5.2", "knex": "^3.0.0", "lodash": "^4.17.21", "logform": "^2.3.2", "luxon": "^3.0.0", "minimatch": "^9.0.0", "minimist": "^1.2.5", "morgan": "^1.10.0", "mysql2": "^3.0.0", "node-fetch": "^2.7.0", "node-forge": "^1.3.1", "p-limit": "^3.1.0", "path-to-regexp": "^8.0.0", "pg": "^8.11.3", "pg-format": "^1.0.4", "raw-body": "^2.4.1", "selfsigned": "^2.0.0", "stoppable": "^1.1.0", "tar": "^6.1.12", "triple-beam": "^1.4.1", "uuid": "^9.0.0", "winston": "^3.2.1", "winston-transport": "^4.5.0", "yauzl": "^3.0.0", "yn": "^4.0.0" }, "peerDependencies": { "pg-connection-string": "^2.3.0" }, "optionalPeers": ["pg-connection-string"] }, "sha512-TMQjoZLP80ek/NYBAcFvr8p5fioxuq6rC2Qd9FHXTifTzH9k31yJqmaTUmlJcw4+tz+3h4ss3qCwGGlgfNbGfQ=="],
-
- "@backstage/plugin-proxy-backend/@backstage/backend-plugin-api": ["@backstage/backend-plugin-api@1.6.0", "", { "dependencies": { "@backstage/cli-common": "^0.1.16", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@backstage/plugin-permission-node": "^0.10.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/json-schema": "^7.0.6", "@types/luxon": "^3.0.0", "json-schema": "^0.4.0", "knex": "^3.0.0", "luxon": "^3.0.0", "zod": "^3.22.4" } }, "sha512-Zkm/YG0qAC+sifpFu487y8e+8Ft+IZJxZwsRLyeLBLjwAkTNNvO25HvNKYSve3KzpTEca7So3zx146zV+lA5dA=="],
-
- "@backstage/plugin-proxy-node/@backstage/backend-plugin-api": ["@backstage/backend-plugin-api@1.6.0", "", { "dependencies": { "@backstage/cli-common": "^0.1.16", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@backstage/plugin-permission-node": "^0.10.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/json-schema": "^7.0.6", "@types/luxon": "^3.0.0", "json-schema": "^0.4.0", "knex": "^3.0.0", "luxon": "^3.0.0", "zod": "^3.22.4" } }, "sha512-Zkm/YG0qAC+sifpFu487y8e+8Ft+IZJxZwsRLyeLBLjwAkTNNvO25HvNKYSve3KzpTEca7So3zx146zV+lA5dA=="],
-
- "@backstage/plugin-search/@backstage/core-components": ["@backstage/core-components@0.18.4", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/core-plugin-api": "^1.12.1", "@backstage/errors": "^1.2.7", "@backstage/theme": "^0.7.1", "@backstage/version-bridge": "^1.0.11", "@dagrejs/dagre": "^1.1.4", "@date-io/core": "^1.3.13", "@material-table/core": "^3.1.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^24.0.0", "@testing-library/react": "^16.0.0", "@types/react-sparklines": "^1.7.0", "ansi-regex": "^6.0.1", "classnames": "^2.2.6", "d3-selection": "^3.0.0", "d3-shape": "^3.0.0", "d3-zoom": "^3.0.0", "js-yaml": "^4.1.0", "linkify-react": "4.3.2", "linkifyjs": "4.3.2", "lodash": "^4.17.21", "pluralize": "^8.0.0", "qs": "^6.9.4", "rc-progress": "3.5.1", "react-full-screen": "^1.1.1", "react-helmet": "6.1.0", "react-hook-form": "^7.12.2", "react-idle-timer": "5.7.2", "react-markdown": "^8.0.0", "react-sparklines": "^1.7.0", "react-syntax-highlighter": "^15.4.5", "react-use": "^17.3.2", "react-virtualized-auto-sizer": "^1.0.11", "react-window": "^1.8.6", "remark-gfm": "^3.0.1", "zen-observable": "^0.10.0", "zod": "^3.22.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-x2dy8CGXclN5sHKIn6CyxCo99Wk245mX3AsrXoHNr2BCRBL4U7Pv62hlbTtAsdyO41+Fzbc33ZXnjQSdpnGwWw=="],
-
- "@backstage/plugin-search-backend-module-catalog/@backstage/backend-plugin-api": ["@backstage/backend-plugin-api@1.6.0", "", { "dependencies": { "@backstage/cli-common": "^0.1.16", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@backstage/plugin-permission-node": "^0.10.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/json-schema": "^7.0.6", "@types/luxon": "^3.0.0", "json-schema": "^0.4.0", "knex": "^3.0.0", "luxon": "^3.0.0", "zod": "^3.22.4" } }, "sha512-Zkm/YG0qAC+sifpFu487y8e+8Ft+IZJxZwsRLyeLBLjwAkTNNvO25HvNKYSve3KzpTEca7So3zx146zV+lA5dA=="],
-
- "@backstage/plugin-search-backend-node/@backstage/backend-plugin-api": ["@backstage/backend-plugin-api@1.6.0", "", { "dependencies": { "@backstage/cli-common": "^0.1.16", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@backstage/plugin-permission-node": "^0.10.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/json-schema": "^7.0.6", "@types/luxon": "^3.0.0", "json-schema": "^0.4.0", "knex": "^3.0.0", "luxon": "^3.0.0", "zod": "^3.22.4" } }, "sha512-Zkm/YG0qAC+sifpFu487y8e+8Ft+IZJxZwsRLyeLBLjwAkTNNvO25HvNKYSve3KzpTEca7So3zx146zV+lA5dA=="],
-
- "@backstage/plugin-search-react/@backstage/core-components": ["@backstage/core-components@0.18.4", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/core-plugin-api": "^1.12.1", "@backstage/errors": "^1.2.7", "@backstage/theme": "^0.7.1", "@backstage/version-bridge": "^1.0.11", "@dagrejs/dagre": "^1.1.4", "@date-io/core": "^1.3.13", "@material-table/core": "^3.1.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^24.0.0", "@testing-library/react": "^16.0.0", "@types/react-sparklines": "^1.7.0", "ansi-regex": "^6.0.1", "classnames": "^2.2.6", "d3-selection": "^3.0.0", "d3-shape": "^3.0.0", "d3-zoom": "^3.0.0", "js-yaml": "^4.1.0", "linkify-react": "4.3.2", "linkifyjs": "4.3.2", "lodash": "^4.17.21", "pluralize": "^8.0.0", "qs": "^6.9.4", "rc-progress": "3.5.1", "react-full-screen": "^1.1.1", "react-helmet": "6.1.0", "react-hook-form": "^7.12.2", "react-idle-timer": "5.7.2", "react-markdown": "^8.0.0", "react-sparklines": "^1.7.0", "react-syntax-highlighter": "^15.4.5", "react-use": "^17.3.2", "react-virtualized-auto-sizer": "^1.0.11", "react-window": "^1.8.6", "remark-gfm": "^3.0.1", "zen-observable": "^0.10.0", "zod": "^3.22.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-x2dy8CGXclN5sHKIn6CyxCo99Wk245mX3AsrXoHNr2BCRBL4U7Pv62hlbTtAsdyO41+Fzbc33ZXnjQSdpnGwWw=="],
-
- "@backstage/plugin-search-react/@backstage/theme": ["@backstage/theme@0.7.1", "", { "dependencies": { "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@mui/material": "^5.12.2" }, "peerDependencies": { "@material-ui/core": "^4.12.2", "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-JC2EUqfV198SzNT0B/E7MrnQuR5ML3qCz1FMDNd1qGoXNRBtBsSlPPJMcmuRsz7tM2BN+Vnbr7KkRPNbEnCYkQ=="],
-
- "@backstage/plugin-techdocs-react/@backstage/core-components": ["@backstage/core-components@0.18.4", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/core-plugin-api": "^1.12.1", "@backstage/errors": "^1.2.7", "@backstage/theme": "^0.7.1", "@backstage/version-bridge": "^1.0.11", "@dagrejs/dagre": "^1.1.4", "@date-io/core": "^1.3.13", "@material-table/core": "^3.1.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^24.0.0", "@testing-library/react": "^16.0.0", "@types/react-sparklines": "^1.7.0", "ansi-regex": "^6.0.1", "classnames": "^2.2.6", "d3-selection": "^3.0.0", "d3-shape": "^3.0.0", "d3-zoom": "^3.0.0", "js-yaml": "^4.1.0", "linkify-react": "4.3.2", "linkifyjs": "4.3.2", "lodash": "^4.17.21", "pluralize": "^8.0.0", "qs": "^6.9.4", "rc-progress": "3.5.1", "react-full-screen": "^1.1.1", "react-helmet": "6.1.0", "react-hook-form": "^7.12.2", "react-idle-timer": "5.7.2", "react-markdown": "^8.0.0", "react-sparklines": "^1.7.0", "react-syntax-highlighter": "^15.4.5", "react-use": "^17.3.2", "react-virtualized-auto-sizer": "^1.0.11", "react-window": "^1.8.6", "remark-gfm": "^3.0.1", "zen-observable": "^0.10.0", "zod": "^3.22.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-x2dy8CGXclN5sHKIn6CyxCo99Wk245mX3AsrXoHNr2BCRBL4U7Pv62hlbTtAsdyO41+Fzbc33ZXnjQSdpnGwWw=="],
-
- "@backstage/test-utils/@backstage/theme": ["@backstage/theme@0.7.1", "", { "dependencies": { "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@mui/material": "^5.12.2" }, "peerDependencies": { "@material-ui/core": "^4.12.2", "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-JC2EUqfV198SzNT0B/E7MrnQuR5ML3qCz1FMDNd1qGoXNRBtBsSlPPJMcmuRsz7tM2BN+Vnbr7KkRPNbEnCYkQ=="],
-
- "@backstage/test-utils/@testing-library/react": ["@testing-library/react@16.3.1", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "@testing-library/dom": "^10.0.0", "@types/react": "^18.0.0 || ^19.0.0", "@types/react-dom": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-gr4KtAWqIOQoucWYD/f6ki+j5chXfcPc74Col/6poTyqTmn7zRmodWahWRCp8tYd+GMqBonw6hstNzqjbs6gjw=="],
-
- "@backstage/ui/clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="],
-
- "@cspotcode/source-map-support/@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.9", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" } }, "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ=="],
-
- "@davidzemon/passport-okta-oauth/pkginfo": ["pkginfo@0.4.1", "", {}, "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ=="],
-
- "@davidzemon/passport-okta-oauth/uid2": ["uid2@1.0.0", "", {}, "sha512-+I6aJUv63YAcY9n4mQreLUt0d4lvwkkopDNmpomkAUz0fAkEMV9pRWxN0EjhW1YfRhcuyHg2v3mwddCDW1+LFQ=="],
-
- "@emotion/babel-plugin/@emotion/hash": ["@emotion/hash@0.9.2", "", {}, "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g=="],
-
- "@emotion/babel-plugin/convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="],
-
- "@emotion/babel-plugin/source-map": ["source-map@0.5.7", "", {}, "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="],
-
- "@emotion/babel-plugin/stylis": ["stylis@4.2.0", "", {}, "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw=="],
-
- "@emotion/cache/stylis": ["stylis@4.2.0", "", {}, "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw=="],
-
- "@emotion/serialize/@emotion/hash": ["@emotion/hash@0.9.2", "", {}, "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g=="],
-
- "@eslint/eslintrc/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
-
- "@eslint/eslintrc/strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="],
-
- "@google-cloud/storage/uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="],
-
- "@graphql-tools/merge/@graphql-tools/utils": ["@graphql-tools/utils@8.9.0", "", { "dependencies": { "tslib": "^2.4.0" }, "peerDependencies": { "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, "sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg=="],
-
- "@graphql-tools/schema/@graphql-tools/utils": ["@graphql-tools/utils@8.9.0", "", { "dependencies": { "tslib": "^2.4.0" }, "peerDependencies": { "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, "sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg=="],
-
- "@grpc/grpc-js/@grpc/proto-loader": ["@grpc/proto-loader@0.8.0", "", { "dependencies": { "lodash.camelcase": "^4.3.0", "long": "^5.0.0", "protobufjs": "^7.5.3", "yargs": "^17.7.2" }, "bin": { "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" } }, "sha512-rc1hOQtjIWGxcxpb9aHAfLpIctjEnsDehj0DAiVfBlmT84uvR0uUtN2hEi/ecvWVjXUGf5qPF4qEgiLOx1YIMQ=="],
-
- "@happy-dom/global-registrator/happy-dom": ["happy-dom@20.0.11", "", { "dependencies": { "@types/node": "^20.0.0", "@types/whatwg-mimetype": "^3.0.2", "whatwg-mimetype": "^3.0.0" } }, "sha512-QsCdAUHAmiDeKeaNojb1OHOPF7NjcWPBR7obdu3NwH2a/oyQaLg5d0aaCy/9My6CdPChYF07dvz5chaXBGaD4g=="],
-
- "@httptoolkit/subscriptions-transport-ws/eventemitter3": ["eventemitter3@3.1.2", "", {}, "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q=="],
-
- "@httptoolkit/websocket-stream/duplexify": ["duplexify@3.7.1", "", { "dependencies": { "end-of-stream": "^1.0.0", "inherits": "^2.0.1", "readable-stream": "^2.0.0", "stream-shift": "^1.0.0" } }, "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g=="],
-
- "@httptoolkit/websocket-stream/isomorphic-ws": ["isomorphic-ws@4.0.1", "", { "peerDependencies": { "ws": "*" } }, "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w=="],
-
- "@humanwhocodes/config-array/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
-
- "@inquirer/core/cli-width": ["cli-width@4.1.0", "", {}, "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ=="],
-
- "@inquirer/core/mute-stream": ["mute-stream@2.0.0", "", {}, "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA=="],
-
- "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="],
-
- "@isaacs/cliui/strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="],
-
- "@isaacs/cliui/wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="],
-
- "@istanbuljs/load-nyc-config/camelcase": ["camelcase@5.3.1", "", {}, "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="],
-
- "@istanbuljs/load-nyc-config/find-up": ["find-up@4.1.0", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="],
-
- "@istanbuljs/load-nyc-config/js-yaml": ["js-yaml@3.14.2", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="],
-
- "@jest/create-cache-key-function/@jest/types": ["@jest/types@30.2.0", "", { "dependencies": { "@jest/pattern": "30.0.1", "@jest/schemas": "30.0.5", "@types/istanbul-lib-coverage": "^2.0.6", "@types/istanbul-reports": "^3.0.4", "@types/node": "*", "@types/yargs": "^17.0.33", "chalk": "^4.1.2" } }, "sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg=="],
-
- "@jest/pattern/jest-regex-util": ["jest-regex-util@30.0.1", "", {}, "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA=="],
-
- "@manypkg/find-root/@types/node": ["@types/node@12.20.55", "", {}, "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ=="],
-
- "@manypkg/find-root/find-up": ["find-up@4.1.0", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="],
-
- "@manypkg/find-root/fs-extra": ["fs-extra@8.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="],
-
- "@manypkg/get-packages/fs-extra": ["fs-extra@8.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="],
-
- "@material-table/core/uuid": ["uuid@3.4.0", "", { "bin": { "uuid": "./bin/uuid" } }, "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="],
-
- "@material-ui/styles/csstype": ["csstype@2.6.21", "", {}, "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="],
-
- "@material-ui/system/csstype": ["csstype@2.6.21", "", {}, "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="],
-
- "@module-federation/bridge-react-webpack-plugin/semver": ["semver@7.6.3", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A=="],
-
- "@module-federation/data-prefetch/fs-extra": ["fs-extra@9.1.0", "", { "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ=="],
-
- "@module-federation/dts-plugin/chalk": ["chalk@3.0.0", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg=="],
-
- "@module-federation/dts-plugin/fs-extra": ["fs-extra@9.1.0", "", { "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ=="],
-
- "@module-federation/dts-plugin/ws": ["ws@8.18.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw=="],
-
- "@module-federation/managers/fs-extra": ["fs-extra@9.1.0", "", { "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ=="],
-
- "@module-federation/manifest/chalk": ["chalk@3.0.0", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg=="],
-
- "@module-federation/third-party-dts-extractor/fs-extra": ["fs-extra@9.1.0", "", { "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ=="],
-
- "@module-federation/third-party-dts-extractor/resolve": ["resolve@1.22.8", "", { "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw=="],
-
- "@mui/material/clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="],
-
- "@mui/material/react-is": ["react-is@19.2.3", "", {}, "sha512-qJNJfu81ByyabuG7hPFEbXqNcWSU3+eVus+KJs+0ncpGfMyYdvSmxiJxbWR65lYi1I+/0HBcliO029gc4F+PnA=="],
-
- "@mui/system/clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="],
-
- "@mui/utils/clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="],
-
- "@mui/utils/react-is": ["react-is@19.2.3", "", {}, "sha512-qJNJfu81ByyabuG7hPFEbXqNcWSU3+eVus+KJs+0ncpGfMyYdvSmxiJxbWR65lYi1I+/0HBcliO029gc4F+PnA=="],
-
- "@node-saml/passport-saml/passport": ["passport@0.6.0", "", { "dependencies": { "passport-strategy": "1.x.x", "pause": "0.0.1", "utils-merge": "^1.0.1" } }, "sha512-0fe+p3ZnrWRW74fe8+SvCyf4a3Pb2/h7gFkQ8yTJpAO50gDzlfjZUZTO1k5Eg9kUct22OxHLqDZoKUWRHOh9ug=="],
-
- "@octokit/auth-app/lru-cache": ["lru-cache@9.1.2", "", {}, "sha512-ERJq3FOzJTxBbFjZ7iDs+NiK4VI9Wz+RdrrAB8dio1oV+YvdPzUEE4QNiT2VD51DkIbCYRUUzCRkssXCHqSnKQ=="],
-
- "@octokit/plugin-rest-endpoint-methods/@octokit/types": ["@octokit/types@10.0.0", "", { "dependencies": { "@octokit/openapi-types": "^18.0.0" } }, "sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg=="],
-
- "@pmmmwh/react-refresh-webpack-plugin/schema-utils": ["schema-utils@4.3.3", "", { "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.1.0" } }, "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA=="],
-
- "@pmmmwh/react-refresh-webpack-plugin/type-fest": ["type-fest@2.19.0", "", {}, "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA=="],
-
- "@react-aria/focus/clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="],
-
- "@react-aria/utils/clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="],
-
- "@rjsf/utils/react-is": ["react-is@18.3.1", "", {}, "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="],
-
- "@rjsf/validator-ajv8/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="],
-
- "@rollup/plugin-commonjs/glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="],
-
- "@rollup/plugin-node-resolve/resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="],
-
- "@smithy/abort-controller/@smithy/types": ["@smithy/types@1.2.0", "", { "dependencies": { "tslib": "^2.5.0" } }, "sha512-z1r00TvBqF3dh4aHhya7nz1HhvCg4TRmw51fjMrh5do3h+ngSstt/yKlNbHeb9QxJmFbmN8KEVSWgb1bRvfEoA=="],
-
- "@smithy/node-http-handler/@smithy/abort-controller": ["@smithy/abort-controller@4.2.7", "", { "dependencies": { "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-rzMY6CaKx2qxrbYbqjXWS0plqEy7LOdKHS0bg4ixJ6aoGDPNUcLWk/FRNuCILh7GKLG9TFUXYYeQQldMBBwuyw=="],
-
- "@smithy/util-waiter/@smithy/abort-controller": ["@smithy/abort-controller@4.2.7", "", { "dependencies": { "@smithy/types": "^4.11.0", "tslib": "^2.6.2" } }, "sha512-rzMY6CaKx2qxrbYbqjXWS0plqEy7LOdKHS0bg4ixJ6aoGDPNUcLWk/FRNuCILh7GKLG9TFUXYYeQQldMBBwuyw=="],
-
- "@sucrase/webpack-loader/loader-utils": ["loader-utils@1.4.2", "", { "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^1.0.1" } }, "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg=="],
-
- "@svgr/rollup/@rollup/pluginutils": ["@rollup/pluginutils@4.2.1", "", { "dependencies": { "estree-walker": "^2.0.1", "picomatch": "^2.2.2" } }, "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ=="],
-
- "@testing-library/dom/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "@testing-library/dom/aria-query": ["aria-query@5.1.3", "", { "dependencies": { "deep-equal": "^2.0.5" } }, "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ=="],
-
- "@testing-library/dom/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="],
-
- "@types/request/form-data": ["form-data@2.5.5", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", "mime-types": "^2.1.35", "safe-buffer": "^5.2.1" } }, "sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A=="],
-
- "@types/ssh2/@types/node": ["@types/node@18.19.130", "", { "dependencies": { "undici-types": "~5.26.4" } }, "sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg=="],
-
- "@typescript-eslint/project-service/@typescript-eslint/types": ["@typescript-eslint/types@8.50.1", "", {}, "sha512-v5lFIS2feTkNyMhd7AucE/9j/4V9v5iIbpVRncjk/K0sQ6Sb+Np9fgYS/63n6nwqahHQvbmujeBL7mp07Q9mlA=="],
-
- "@typespec/ts-http-runtime/http-proxy-agent": ["http-proxy-agent@7.0.2", "", { "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig=="],
-
- "@typespec/ts-http-runtime/https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="],
-
- "@yarnpkg/parsers/js-yaml": ["js-yaml@3.14.2", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="],
-
- "accepts/negotiator": ["negotiator@0.6.3", "", {}, "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="],
-
- "ajv/json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="],
-
- "ajv-draft-04/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="],
-
- "ajv-formats/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="],
-
- "ansi-escapes/type-fest": ["type-fest@0.21.3", "", {}, "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w=="],
-
- "anymatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
-
- "archiver/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
-
- "archiver-utils/glob": ["glob@8.1.0", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^5.0.1", "once": "^1.3.0" } }, "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ=="],
-
- "archiver-utils/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
-
- "asn1.js/bn.js": ["bn.js@4.12.2", "", {}, "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw=="],
-
- "assert/util": ["util@0.10.4", "", { "dependencies": { "inherits": "2.0.3" } }, "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A=="],
-
- "babel-plugin-istanbul/istanbul-lib-instrument": ["istanbul-lib-instrument@5.2.1", "", { "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.2.0", "semver": "^6.3.0" } }, "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg=="],
-
- "babel-plugin-macros/resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="],
-
- "babel-plugin-polyfill-corejs2/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
-
- "basic-auth/safe-buffer": ["safe-buffer@5.1.2", "", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="],
-
- "bl/buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="],
-
- "bl/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
-
- "body-parser/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="],
-
- "body-parser/iconv-lite": ["iconv-lite@0.4.24", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3" } }, "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="],
-
- "chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="],
-
- "clean-css/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
-
- "cliui/wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="],
-
- "codeowners-utils/find-up": ["find-up@4.1.0", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="],
-
- "codeowners-utils/locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="],
-
- "color/color-convert": ["color-convert@3.1.3", "", { "dependencies": { "color-name": "^2.0.0" } }, "sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg=="],
-
- "color-string/color-name": ["color-name@2.1.0", "", {}, "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg=="],
-
- "compress-commons/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
-
- "compressible/mime-db": ["mime-db@1.54.0", "", {}, "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ=="],
-
- "compression/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="],
-
- "concat-stream/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
-
- "concat-with-sourcemaps/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
-
- "connect/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="],
-
- "connect/finalhandler": ["finalhandler@1.1.2", "", { "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", "parseurl": "~1.3.3", "statuses": "~1.5.0", "unpipe": "~1.0.0" } }, "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA=="],
-
- "cookie-parser/cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="],
-
- "cookie-parser/cookie-signature": ["cookie-signature@1.0.6", "", {}, "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="],
-
- "cosmiconfig/yaml": ["yaml@1.10.2", "", {}, "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="],
-
- "crc32-stream/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
-
- "create-ecdh/bn.js": ["bn.js@4.12.2", "", {}, "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw=="],
-
- "cron/@types/luxon": ["@types/luxon@3.4.2", "", {}, "sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA=="],
-
- "cron/luxon": ["luxon@3.5.0", "", {}, "sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ=="],
-
- "css-tree/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
-
- "cssnano/yaml": ["yaml@1.10.2", "", {}, "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="],
-
- "cssstyle/cssom": ["cssom@0.3.8", "", {}, "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="],
-
- "data-urls/whatwg-url": ["whatwg-url@11.0.0", "", { "dependencies": { "tr46": "^3.0.0", "webidl-conversions": "^7.0.0" } }, "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ=="],
-
- "decode-named-character-reference/character-entities": ["character-entities@2.0.2", "", {}, "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ=="],
-
- "deep-equal/isarray": ["isarray@2.0.5", "", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="],
-
- "defaults/clone": ["clone@1.0.4", "", {}, "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg=="],
-
- "detect-port-alt/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="],
-
- "diffie-hellman/bn.js": ["bn.js@4.12.2", "", {}, "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw=="],
-
- "docker-modem/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
-
- "dockerode/uuid": ["uuid@10.0.0", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ=="],
-
- "dom-serializer/entities": ["entities@2.2.0", "", {}, "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="],
-
- "duplexify/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
-
- "elliptic/bn.js": ["bn.js@4.12.2", "", {}, "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw=="],
-
- "es-get-iterator/isarray": ["isarray@2.0.5", "", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="],
-
- "esbuild-loader/esbuild": ["esbuild@0.27.2", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.2", "@esbuild/android-arm": "0.27.2", "@esbuild/android-arm64": "0.27.2", "@esbuild/android-x64": "0.27.2", "@esbuild/darwin-arm64": "0.27.2", "@esbuild/darwin-x64": "0.27.2", "@esbuild/freebsd-arm64": "0.27.2", "@esbuild/freebsd-x64": "0.27.2", "@esbuild/linux-arm": "0.27.2", "@esbuild/linux-arm64": "0.27.2", "@esbuild/linux-ia32": "0.27.2", "@esbuild/linux-loong64": "0.27.2", "@esbuild/linux-mips64el": "0.27.2", "@esbuild/linux-ppc64": "0.27.2", "@esbuild/linux-riscv64": "0.27.2", "@esbuild/linux-s390x": "0.27.2", "@esbuild/linux-x64": "0.27.2", "@esbuild/netbsd-arm64": "0.27.2", "@esbuild/netbsd-x64": "0.27.2", "@esbuild/openbsd-arm64": "0.27.2", "@esbuild/openbsd-x64": "0.27.2", "@esbuild/openharmony-arm64": "0.27.2", "@esbuild/sunos-x64": "0.27.2", "@esbuild/win32-arm64": "0.27.2", "@esbuild/win32-ia32": "0.27.2", "@esbuild/win32-x64": "0.27.2" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw=="],
-
- "escodegen/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
-
- "eslint/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
-
- "eslint-formatter-friendly/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="],
-
- "eslint-formatter-friendly/strip-ansi": ["strip-ansi@5.2.0", "", { "dependencies": { "ansi-regex": "^4.1.0" } }, "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA=="],
-
- "eslint-import-resolver-node/debug": ["debug@3.2.7", "", { "dependencies": { "ms": "^2.1.1" } }, "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ=="],
-
- "eslint-import-resolver-node/resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="],
-
- "eslint-module-utils/debug": ["debug@3.2.7", "", { "dependencies": { "ms": "^2.1.1" } }, "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ=="],
-
- "eslint-plugin-deprecation/@typescript-eslint/utils": ["@typescript-eslint/utils@6.21.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", "@typescript-eslint/scope-manager": "6.21.0", "@typescript-eslint/types": "6.21.0", "@typescript-eslint/typescript-estree": "6.21.0", "semver": "^7.5.4" }, "peerDependencies": { "eslint": "^7.0.0 || ^8.0.0" } }, "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ=="],
-
- "eslint-plugin-import/debug": ["debug@3.2.7", "", { "dependencies": { "ms": "^2.1.1" } }, "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ=="],
-
- "eslint-plugin-import/doctrine": ["doctrine@2.1.0", "", { "dependencies": { "esutils": "^2.0.2" } }, "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw=="],
-
- "eslint-plugin-import/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
-
- "eslint-plugin-import/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
-
- "eslint-plugin-jest/@typescript-eslint/utils": ["@typescript-eslint/utils@8.50.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", "@typescript-eslint/scope-manager": "8.50.1", "@typescript-eslint/types": "8.50.1", "@typescript-eslint/typescript-estree": "8.50.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-lCLp8H1T9T7gPbEuJSnHwnSuO9mDf8mfK/Nion5mZmiEaQD9sWf9W4dfeFqRyqRjF06/kBuTmAqcs9sewM2NbQ=="],
-
- "eslint-plugin-jsx-a11y/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
-
- "eslint-plugin-react/doctrine": ["doctrine@2.1.0", "", { "dependencies": { "esutils": "^2.0.2" } }, "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw=="],
-
- "eslint-plugin-react/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
-
- "eslint-plugin-react/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
-
- "eslint-webpack-plugin/schema-utils": ["schema-utils@4.3.3", "", { "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.1.0" } }, "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA=="],
-
- "execa/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="],
-
- "express/cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="],
-
- "express/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="],
-
- "express/path-to-regexp": ["path-to-regexp@0.1.12", "", {}, "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ=="],
-
- "express-openapi-validator/@apidevtools/json-schema-ref-parser": ["@apidevtools/json-schema-ref-parser@14.2.1", "", { "dependencies": { "js-yaml": "^4.1.0" }, "peerDependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-HmdFw9CDYqM6B25pqGBpNeLCKvGPlIx1EbLrVL0zPvj50CJQUHyBNBw45Muk0kEIkogo1VZvOKHajdMuAzSxRg=="],
-
- "express-openapi-validator/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="],
-
- "express-openapi-validator/ajv-formats": ["ajv-formats@3.0.1", "", { "dependencies": { "ajv": "^8.0.0" } }, "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ=="],
-
- "express-openapi-validator/media-typer": ["media-typer@1.1.0", "", {}, "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw=="],
-
- "express-openapi-validator/path-to-regexp": ["path-to-regexp@8.3.0", "", {}, "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA=="],
-
- "express-session/cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="],
-
- "express-session/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="],
-
- "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="],
-
- "figures/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="],
-
- "finalhandler/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="],
-
- "fork-ts-checker-webpack-plugin/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "fork-ts-checker-webpack-plugin/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="],
-
- "fork-ts-checker-webpack-plugin/cosmiconfig": ["cosmiconfig@8.3.6", "", { "dependencies": { "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", "parse-json": "^5.2.0", "path-type": "^4.0.0" }, "peerDependencies": { "typescript": ">=4.9.5" }, "optionalPeers": ["typescript"] }, "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA=="],
-
- "fork-ts-checker-webpack-plugin/fs-extra": ["fs-extra@10.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ=="],
-
- "fork-ts-checker-webpack-plugin/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
-
- "fs-minipass/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="],
-
- "gaxios/https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="],
-
- "gaxios/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="],
-
- "generic-names/loader-utils": ["loader-utils@3.3.1", "", {}, "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg=="],
-
- "glob/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
-
- "global-agent/serialize-error": ["serialize-error@7.0.1", "", { "dependencies": { "type-fest": "^0.13.1" } }, "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw=="],
-
- "global-prefix/which": ["which@1.3.1", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "which": "./bin/which" } }, "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ=="],
-
- "globals/type-fest": ["type-fest@0.20.2", "", {}, "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="],
-
- "google-gax/object-hash": ["object-hash@3.0.0", "", {}, "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="],
-
- "google-gax/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="],
-
- "graphql-subscriptions/graphql": ["graphql@15.10.1", "", {}, "sha512-BL/Xd/T9baO6NFzoMpiMD7YUZ62R6viR5tp/MULVEnbYJXZA//kRNW7J0j1w/wXArgL0sCxhDfK5dczSKn3+cg=="],
-
- "handlebars/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
-
- "hastscript/comma-separated-tokens": ["comma-separated-tokens@1.0.8", "", {}, "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw=="],
-
- "hastscript/property-information": ["property-information@5.6.0", "", { "dependencies": { "xtend": "^4.0.0" } }, "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA=="],
-
- "hastscript/space-separated-tokens": ["space-separated-tokens@1.1.5", "", {}, "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA=="],
-
- "hoist-non-react-statics/react-is": ["react-is@16.13.1", "", {}, "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="],
-
- "html-minifier-terser/commander": ["commander@8.3.0", "", {}, "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww=="],
-
- "htmlparser2/entities": ["entities@2.2.0", "", {}, "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="],
-
- "http-assert/deep-equal": ["deep-equal@1.0.1", "", {}, "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw=="],
-
- "http-assert/http-errors": ["http-errors@1.8.1", "", { "dependencies": { "depd": "~1.1.2", "inherits": "2.0.4", "setprototypeof": "1.2.0", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.1" } }, "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g=="],
-
- "ignore-walk/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="],
-
- "import-fresh/resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="],
-
- "is-inside-container/is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="],
-
- "isomorphic-git/pify": ["pify@4.0.1", "", {}, "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="],
-
- "isomorphic-git/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
-
- "istanbul-lib-source-maps/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
-
- "jest-config/strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="],
-
- "jest-message-util/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "jest-resolve/resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="],
-
- "jest-runner/source-map-support": ["source-map-support@0.5.13", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w=="],
-
- "jest-util/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
-
- "jest-worker/supports-color": ["supports-color@8.1.1", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q=="],
-
- "jsdom/tough-cookie": ["tough-cookie@4.1.4", "", { "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", "universalify": "^0.2.0", "url-parse": "^1.5.3" } }, "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag=="],
-
- "jsdom/whatwg-url": ["whatwg-url@11.0.0", "", { "dependencies": { "tr46": "^3.0.0", "webidl-conversions": "^7.0.0" } }, "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ=="],
-
- "jsonpath/esprima": ["esprima@1.2.2", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A=="],
-
- "knex/colorette": ["colorette@2.0.19", "", {}, "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ=="],
-
- "knex/commander": ["commander@10.0.1", "", {}, "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug=="],
-
- "knex/debug": ["debug@4.3.4", "", { "dependencies": { "ms": "2.1.2" } }, "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ=="],
-
- "knex/pg-connection-string": ["pg-connection-string@2.6.2", "", {}, "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA=="],
-
- "knip/zod": ["zod@4.2.1", "", {}, "sha512-0wZ1IRqGGhMP76gLqz8EyfBXKk0J2qo2+H3fi4mcUP/KtTocoX08nmIAHl1Z2kJIZbZee8KOpBCSNPRgauucjw=="],
-
- "koa/encodeurl": ["encodeurl@1.0.2", "", {}, "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="],
-
- "koa/http-errors": ["http-errors@1.6.3", "", { "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", "statuses": ">= 1.4.0 < 2" } }, "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A=="],
-
- "koa/statuses": ["statuses@1.5.0", "", {}, "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA=="],
-
- "md5.js/hash-base": ["hash-base@3.1.2", "", { "dependencies": { "inherits": "^2.0.4", "readable-stream": "^2.3.8", "safe-buffer": "^5.2.1", "to-buffer": "^1.2.1" } }, "sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg=="],
-
- "mdast-util-find-and-replace/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
-
- "micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
-
- "miller-rabin/bn.js": ["bn.js@4.12.2", "", {}, "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw=="],
-
- "mini-css-extract-plugin/schema-utils": ["schema-utils@4.3.3", "", { "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.1.0" } }, "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA=="],
-
- "minizlib/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="],
-
- "mockttp/cross-fetch": ["cross-fetch@3.2.0", "", { "dependencies": { "node-fetch": "^2.7.0" } }, "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q=="],
-
- "mockttp/graphql": ["graphql@15.10.1", "", {}, "sha512-BL/Xd/T9baO6NFzoMpiMD7YUZ62R6viR5tp/MULVEnbYJXZA//kRNW7J0j1w/wXArgL0sCxhDfK5dczSKn3+cg=="],
-
- "mockttp/isomorphic-ws": ["isomorphic-ws@4.0.1", "", { "peerDependencies": { "ws": "*" } }, "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w=="],
-
- "mockttp/lru-cache": ["lru-cache@7.18.3", "", {}, "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA=="],
-
- "mockttp/uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="],
-
- "morgan/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="],
-
- "morgan/on-finished": ["on-finished@2.3.0", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww=="],
-
- "multer/mkdirp": ["mkdirp@0.5.6", "", { "dependencies": { "minimist": "^1.2.6" }, "bin": { "mkdirp": "bin/cmd.js" } }, "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw=="],
-
- "ndjson/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
-
- "ndjson/split2": ["split2@3.2.2", "", { "dependencies": { "readable-stream": "^3.0.0" } }, "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg=="],
-
- "node-libs-browser/buffer": ["buffer@4.9.2", "", { "dependencies": { "base64-js": "^1.0.2", "ieee754": "^1.1.4", "isarray": "^1.0.0" } }, "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg=="],
-
- "node-libs-browser/util": ["util@0.11.1", "", { "dependencies": { "inherits": "2.0.3" } }, "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ=="],
-
- "npm-packlist/glob": ["glob@8.1.0", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^5.0.1", "once": "^1.3.0" } }, "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ=="],
-
- "openid-client/jose": ["jose@4.15.9", "", {}, "sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA=="],
-
- "pac-proxy-agent/agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="],
-
- "pac-proxy-agent/http-proxy-agent": ["http-proxy-agent@7.0.2", "", { "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig=="],
-
- "pac-proxy-agent/https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="],
-
- "pac-proxy-agent/socks-proxy-agent": ["socks-proxy-agent@8.0.5", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "^4.3.4", "socks": "^2.8.3" } }, "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw=="],
-
- "parse-json/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="],
-
- "passport-oauth1/oauth": ["oauth@0.9.15", "", {}, "sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA=="],
-
- "passport-onelogin-oauth/uid2": ["uid2@0.0.3", "", {}, "sha512-5gSP1liv10Gjp8cMEnFd6shzkL/D6W1uhXSFNCxDC+YI8+L8wkCYCbJ7n77Ezb4wE/xzMogecE+DtamEe9PZjg=="],
-
- "path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="],
-
- "path-scurry/minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="],
-
- "pkg-dir/find-up": ["find-up@4.1.0", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="],
-
- "pkg-up/find-up": ["find-up@3.0.0", "", { "dependencies": { "locate-path": "^3.0.0" } }, "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg=="],
-
- "playwright/fsevents": ["fsevents@2.3.2", "", { "os": "darwin" }, "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA=="],
-
- "postcss-calc/postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="],
-
- "postcss-load-config/yaml": ["yaml@1.10.2", "", {}, "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="],
-
- "postcss-merge-rules/postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="],
-
- "postcss-minify-selectors/postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="],
-
- "postcss-unique-selectors/postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="],
-
- "pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="],
-
- "pretty-format/react-is": ["react-is@18.3.1", "", {}, "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="],
-
- "prop-types/react-is": ["react-is@16.13.1", "", {}, "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="],
-
- "proxy-addr/ipaddr.js": ["ipaddr.js@1.9.1", "", {}, "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="],
-
- "psl/punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="],
-
- "public-encrypt/bn.js": ["bn.js@4.12.2", "", {}, "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw=="],
-
- "raw-body/iconv-lite": ["iconv-lite@0.4.24", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3" } }, "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="],
-
- "rc-util/react-is": ["react-is@18.3.1", "", {}, "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="],
-
- "react-dev-utils/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "react-dev-utils/fork-ts-checker-webpack-plugin": ["fork-ts-checker-webpack-plugin@6.5.3", "", { "dependencies": { "@babel/code-frame": "^7.8.3", "@types/json-schema": "^7.0.5", "chalk": "^4.1.0", "chokidar": "^3.4.2", "cosmiconfig": "^6.0.0", "deepmerge": "^4.2.2", "fs-extra": "^9.0.0", "glob": "^7.1.6", "memfs": "^3.1.2", "minimatch": "^3.0.4", "schema-utils": "2.7.0", "semver": "^7.3.2", "tapable": "^1.0.0" }, "peerDependencies": { "eslint": ">= 6", "typescript": ">= 2.7", "vue-template-compiler": "*", "webpack": ">= 4" }, "optionalPeers": ["eslint", "vue-template-compiler"] }, "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ=="],
-
- "react-dev-utils/loader-utils": ["loader-utils@3.3.1", "", {}, "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg=="],
-
- "react-draggable/clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="],
-
- "react-markdown/react-is": ["react-is@18.3.1", "", {}, "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="],
-
- "read-yaml-file/js-yaml": ["js-yaml@3.14.2", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="],
-
- "read-yaml-file/pify": ["pify@4.0.1", "", {}, "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="],
-
- "read-yaml-file/strip-bom": ["strip-bom@3.0.0", "", {}, "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="],
-
- "readable-stream/safe-buffer": ["safe-buffer@5.1.2", "", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="],
-
- "readable-stream/string_decoder": ["string_decoder@1.1.1", "", { "dependencies": { "safe-buffer": "~5.1.0" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="],
-
- "readdir-glob/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="],
-
- "readdirp/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
-
- "rechoir/resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="],
-
- "recursive-readdir/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
-
- "refractor/prismjs": ["prismjs@1.27.0", "", {}, "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA=="],
-
- "replace-in-file/glob": ["glob@8.1.0", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^5.0.1", "once": "^1.3.0" } }, "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ=="],
-
- "request/form-data": ["form-data@2.3.3", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" } }, "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ=="],
-
- "request/qs": ["qs@6.5.3", "", {}, "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA=="],
-
- "request/tough-cookie": ["tough-cookie@2.5.0", "", { "dependencies": { "psl": "^1.1.28", "punycode": "^2.1.1" } }, "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g=="],
-
- "request/uuid": ["uuid@3.4.0", "", { "bin": { "uuid": "./bin/uuid" } }, "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="],
-
- "resolve-dir/global-modules": ["global-modules@1.0.0", "", { "dependencies": { "global-prefix": "^1.0.1", "is-windows": "^1.0.1", "resolve-dir": "^1.0.0" } }, "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg=="],
-
- "restore-cursor/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="],
-
- "ripemd160/hash-base": ["hash-base@3.1.2", "", { "dependencies": { "inherits": "^2.0.4", "readable-stream": "^2.3.8", "safe-buffer": "^5.2.1", "to-buffer": "^1.2.1" } }, "sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg=="],
-
- "rollup-plugin-dts/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "rollup-plugin-postcss/resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="],
-
- "rollup-pluginutils/estree-walker": ["estree-walker@0.6.1", "", {}, "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w=="],
-
- "safe-array-concat/isarray": ["isarray@2.0.5", "", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="],
-
- "safe-push-apply/isarray": ["isarray@2.0.5", "", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="],
-
- "send/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="],
-
- "send/mime": ["mime@1.6.0", "", { "bin": { "mime": "cli.js" } }, "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="],
-
- "serialize-error/type-fest": ["type-fest@0.20.2", "", {}, "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="],
-
- "serve-index/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="],
-
- "serve-index/http-errors": ["http-errors@1.6.3", "", { "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", "statuses": ">= 1.4.0 < 2" } }, "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A=="],
-
- "sockjs/uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="],
-
- "source-map-support/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
-
- "spdy-transport/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
-
- "stack-utils/escape-string-regexp": ["escape-string-regexp@2.0.0", "", {}, "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w=="],
-
- "stacktrace-gps/source-map": ["source-map@0.5.6", "", {}, "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA=="],
-
- "static-eval/escodegen": ["escodegen@1.14.3", "", { "dependencies": { "esprima": "^4.0.1", "estraverse": "^4.2.0", "esutils": "^2.0.2", "optionator": "^0.8.1" }, "optionalDependencies": { "source-map": "~0.6.1" }, "bin": { "esgenerate": "bin/esgenerate.js", "escodegen": "bin/escodegen.js" } }, "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw=="],
-
- "streamroller/fs-extra": ["fs-extra@8.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="],
-
- "string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
-
- "string-width-cjs/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
-
- "strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
-
- "strip-ansi-cjs/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
-
- "stylehacks/postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="],
-
- "sucrase/commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="],
-
- "svgo/commander": ["commander@7.2.0", "", {}, "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="],
-
- "tar-fs/chownr": ["chownr@1.1.4", "", {}, "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="],
-
- "tar-fs/tar-stream": ["tar-stream@2.2.0", "", { "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.1.1" } }, "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ=="],
-
- "teeny-request/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="],
-
- "terser/commander": ["commander@2.20.3", "", {}, "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="],
-
- "terser-webpack-plugin/jest-worker": ["jest-worker@27.5.1", "", { "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" } }, "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg=="],
-
- "terser-webpack-plugin/schema-utils": ["schema-utils@4.3.3", "", { "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.1.0" } }, "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA=="],
-
- "test-exclude/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
-
- "through2/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
-
- "to-buffer/isarray": ["isarray@2.0.5", "", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="],
-
- "ts-node/diff": ["diff@4.0.2", "", {}, "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A=="],
-
- "ts-node/yn": ["yn@3.1.1", "", {}, "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q=="],
-
- "tsconfig-paths/json5": ["json5@1.0.2", "", { "dependencies": { "minimist": "^1.2.0" }, "bin": { "json5": "lib/cli.js" } }, "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA=="],
-
- "tsconfig-paths/strip-bom": ["strip-bom@3.0.0", "", {}, "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="],
-
- "tsutils/tslib": ["tslib@1.14.1", "", {}, "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="],
-
- "typescript-json-schema/@types/node": ["@types/node@18.19.130", "", { "dependencies": { "undici-types": "~5.26.4" } }, "sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg=="],
-
- "typescript-json-schema/typescript": ["typescript@5.5.4", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q=="],
-
- "unified/is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="],
-
- "uri-js/punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="],
-
- "uvu/kleur": ["kleur@4.1.5", "", {}, "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="],
-
- "verror/core-util-is": ["core-util-is@1.0.2", "", {}, "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="],
-
- "webpack/es-module-lexer": ["es-module-lexer@2.0.0", "", {}, "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw=="],
-
- "webpack/eslint-scope": ["eslint-scope@5.1.1", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" } }, "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw=="],
-
- "webpack/schema-utils": ["schema-utils@4.3.3", "", { "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.1.0" } }, "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA=="],
-
- "webpack/webpack-sources": ["webpack-sources@3.3.3", "", {}, "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg=="],
-
- "webpack-dev-middleware/memfs": ["memfs@4.51.1", "", { "dependencies": { "@jsonjoy.com/json-pack": "^1.11.0", "@jsonjoy.com/util": "^1.9.0", "glob-to-regex.js": "^1.0.1", "thingies": "^2.5.0", "tree-dump": "^1.0.3", "tslib": "^2.0.0" } }, "sha512-Eyt3XrufitN2ZL9c/uIRMyDwXanLI88h/L3MoWqNY747ha3dMR9dWqp8cRT5ntjZ0U1TNuq4U91ZXK0sMBjYOQ=="],
-
- "webpack-dev-middleware/mime-types": ["mime-types@3.0.2", "", { "dependencies": { "mime-db": "^1.54.0" } }, "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A=="],
-
- "webpack-dev-middleware/schema-utils": ["schema-utils@4.3.3", "", { "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.1.0" } }, "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA=="],
-
- "webpack-dev-server/open": ["open@10.2.0", "", { "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", "is-inside-container": "^1.0.0", "wsl-utils": "^0.1.0" } }, "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA=="],
-
- "webpack-dev-server/schema-utils": ["schema-utils@4.3.3", "", { "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.1.0" } }, "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA=="],
-
- "webpack-sources/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
-
- "whatwg-encoding/iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="],
-
- "whatwg-url/webidl-conversions": ["webidl-conversions@3.0.1", "", {}, "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="],
-
- "which-builtin-type/isarray": ["isarray@2.0.5", "", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="],
-
- "winston/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
-
- "winston-transport/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
-
- "write-file-atomic/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="],
-
- "wsl-utils/is-wsl": ["is-wsl@3.1.0", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw=="],
-
- "xml-crypto/xpath": ["xpath@0.0.32", "", {}, "sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw=="],
-
- "xml-encryption/xpath": ["xpath@0.0.32", "", {}, "sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw=="],
-
- "xml2js/xmlbuilder": ["xmlbuilder@11.0.1", "", {}, "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="],
-
- "yml-loader/js-yaml": ["js-yaml@3.14.2", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="],
-
- "yml-loader/loader-utils": ["loader-utils@1.4.2", "", { "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^1.0.1" } }, "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg=="],
-
- "yup/type-fest": ["type-fest@2.19.0", "", {}, "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA=="],
-
- "zip-stream/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
-
- "@aws-crypto/sha1-browser/@smithy/util-utf8/@smithy/util-buffer-from": ["@smithy/util-buffer-from@2.2.0", "", { "dependencies": { "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA=="],
-
- "@aws-crypto/sha256-browser/@smithy/util-utf8/@smithy/util-buffer-from": ["@smithy/util-buffer-from@2.2.0", "", { "dependencies": { "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA=="],
-
- "@aws-crypto/util/@smithy/util-utf8/@smithy/util-buffer-from": ["@smithy/util-buffer-from@2.2.0", "", { "dependencies": { "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA=="],
-
- "@aws-sdk/xml-builder/fast-xml-parser/strnum": ["strnum@2.1.2", "", {}, "sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ=="],
-
- "@azure/core-xml/fast-xml-parser/strnum": ["strnum@2.1.2", "", {}, "sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ=="],
-
- "@azure/identity/open/define-lazy-prop": ["define-lazy-prop@3.0.0", "", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="],
-
- "@babel/helper-compilation-targets/lru-cache/yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="],
-
- "@babel/highlight/chalk/ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="],
-
- "@babel/highlight/chalk/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="],
-
- "@babel/highlight/chalk/supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="],
-
- "@backstage/app-defaults/@backstage/core-components/@testing-library/react": ["@testing-library/react@16.3.1", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "@testing-library/dom": "^10.0.0", "@types/react": "^18.0.0 || ^19.0.0", "@types/react-dom": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-gr4KtAWqIOQoucWYD/f6ki+j5chXfcPc74Col/6poTyqTmn7zRmodWahWRCp8tYd+GMqBonw6hstNzqjbs6gjw=="],
-
- "@backstage/app-defaults/@backstage/core-components/linkify-react": ["linkify-react@4.3.2", "", { "peerDependencies": { "linkifyjs": "^4.0.0", "react": ">= 15.0.0" } }, "sha512-mi744h1hf+WDsr+paJgSBBgYNLMWNSHyM9V9LVUo03RidNGdw1VpI7Twnt+K3pEh3nIzB4xiiAgZxpd61ItKpQ=="],
-
- "@backstage/app-defaults/@backstage/core-components/linkifyjs": ["linkifyjs@4.3.2", "", {}, "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA=="],
-
- "@backstage/backend-openapi-utils/@backstage/backend-plugin-api/@backstage/plugin-auth-node": ["@backstage/plugin-auth-node@0.6.10", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/catalog-client": "^1.12.1", "@backstage/catalog-model": "^1.7.6", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "express": "^4.22.0", "jose": "^5.0.0", "lodash": "^4.17.21", "passport": "^0.7.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4", "zod-validation-error": "^3.4.0" } }, "sha512-Hi8ZxKzs0GS37a0KTpPf3DyhQ8TdexwH+UtgNxOPn6nBuoONOeW75EQO4CoJ12oT6DmIJ0t6ZXAqIe4kt93QOw=="],
-
- "@backstage/backend-openapi-utils/@backstage/backend-plugin-api/@backstage/plugin-permission-node": ["@backstage/plugin-permission-node@0.10.7", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@types/express": "^4.17.6", "express": "^4.22.0", "express-promise-router": "^4.1.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" } }, "sha512-OSDfwo9dVTHBzfJ7LKea3Bw5ZQR+VnPHMOkwyu+MtaCZ2QPrGh0ZKcri4miHshnhhnqCKF6ELuK5nYxZFhIcjg=="],
-
- "@backstage/cli/@typescript-eslint/eslint-plugin/@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@6.21.0", "", { "dependencies": { "@typescript-eslint/types": "6.21.0", "@typescript-eslint/visitor-keys": "6.21.0" } }, "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg=="],
-
- "@backstage/cli/@typescript-eslint/eslint-plugin/@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@6.21.0", "", { "dependencies": { "@typescript-eslint/typescript-estree": "6.21.0", "@typescript-eslint/utils": "6.21.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, "peerDependencies": { "eslint": "^7.0.0 || ^8.0.0" } }, "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag=="],
-
- "@backstage/cli/@typescript-eslint/eslint-plugin/@typescript-eslint/utils": ["@typescript-eslint/utils@6.21.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", "@typescript-eslint/scope-manager": "6.21.0", "@typescript-eslint/types": "6.21.0", "@typescript-eslint/typescript-estree": "6.21.0", "semver": "^7.5.4" }, "peerDependencies": { "eslint": "^7.0.0 || ^8.0.0" } }, "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ=="],
-
- "@backstage/cli/@typescript-eslint/eslint-plugin/@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@6.21.0", "", { "dependencies": { "@typescript-eslint/types": "6.21.0", "eslint-visitor-keys": "^3.4.1" } }, "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A=="],
-
- "@backstage/cli/@typescript-eslint/parser/@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@6.21.0", "", { "dependencies": { "@typescript-eslint/types": "6.21.0", "@typescript-eslint/visitor-keys": "6.21.0" } }, "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg=="],
-
- "@backstage/cli/@typescript-eslint/parser/@typescript-eslint/types": ["@typescript-eslint/types@6.21.0", "", {}, "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg=="],
-
- "@backstage/cli/@typescript-eslint/parser/@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@6.21.0", "", { "dependencies": { "@typescript-eslint/types": "6.21.0", "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", "minimatch": "9.0.3", "semver": "^7.5.4", "ts-api-utils": "^1.0.1" } }, "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ=="],
-
- "@backstage/cli/@typescript-eslint/parser/@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@6.21.0", "", { "dependencies": { "@typescript-eslint/types": "6.21.0", "eslint-visitor-keys": "^3.4.1" } }, "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A=="],
-
- "@backstage/frontend-defaults/@backstage/core-components/@backstage/theme": ["@backstage/theme@0.7.1", "", { "dependencies": { "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@mui/material": "^5.12.2" }, "peerDependencies": { "@material-ui/core": "^4.12.2", "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-JC2EUqfV198SzNT0B/E7MrnQuR5ML3qCz1FMDNd1qGoXNRBtBsSlPPJMcmuRsz7tM2BN+Vnbr7KkRPNbEnCYkQ=="],
-
- "@backstage/frontend-defaults/@backstage/core-components/@testing-library/react": ["@testing-library/react@16.3.1", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "@testing-library/dom": "^10.0.0", "@types/react": "^18.0.0 || ^19.0.0", "@types/react-dom": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-gr4KtAWqIOQoucWYD/f6ki+j5chXfcPc74Col/6poTyqTmn7zRmodWahWRCp8tYd+GMqBonw6hstNzqjbs6gjw=="],
-
- "@backstage/frontend-defaults/@backstage/core-components/linkify-react": ["linkify-react@4.3.2", "", { "peerDependencies": { "linkifyjs": "^4.0.0", "react": ">= 15.0.0" } }, "sha512-mi744h1hf+WDsr+paJgSBBgYNLMWNSHyM9V9LVUo03RidNGdw1VpI7Twnt+K3pEh3nIzB4xiiAgZxpd61ItKpQ=="],
-
- "@backstage/frontend-defaults/@backstage/core-components/linkifyjs": ["linkifyjs@4.3.2", "", {}, "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA=="],
-
- "@backstage/frontend-test-utils/@testing-library/react/@testing-library/dom": ["@testing-library/dom@10.4.1", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "picocolors": "1.1.1", "pretty-format": "^27.0.2" } }, "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg=="],
-
- "@backstage/plugin-app-backend/@backstage/backend-common/archiver": ["archiver@7.0.1", "", { "dependencies": { "archiver-utils": "^5.0.2", "async": "^3.2.4", "buffer-crc32": "^1.0.0", "readable-stream": "^4.0.0", "readdir-glob": "^1.1.2", "tar-stream": "^3.0.0", "zip-stream": "^6.0.1" } }, "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ=="],
-
- "@backstage/plugin-app-backend/@backstage/backend-common/path-to-regexp": ["path-to-regexp@8.3.0", "", {}, "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA=="],
-
- "@backstage/plugin-app-backend/@backstage/backend-common/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="],
-
- "@backstage/plugin-app-backend/@backstage/backend-plugin-api/@backstage/plugin-auth-node": ["@backstage/plugin-auth-node@0.6.10", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/catalog-client": "^1.12.1", "@backstage/catalog-model": "^1.7.6", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "express": "^4.22.0", "jose": "^5.0.0", "lodash": "^4.17.21", "passport": "^0.7.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4", "zod-validation-error": "^3.4.0" } }, "sha512-Hi8ZxKzs0GS37a0KTpPf3DyhQ8TdexwH+UtgNxOPn6nBuoONOeW75EQO4CoJ12oT6DmIJ0t6ZXAqIe4kt93QOw=="],
-
- "@backstage/plugin-app-backend/@backstage/backend-plugin-api/@backstage/plugin-permission-node": ["@backstage/plugin-permission-node@0.10.7", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@types/express": "^4.17.6", "express": "^4.22.0", "express-promise-router": "^4.1.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" } }, "sha512-OSDfwo9dVTHBzfJ7LKea3Bw5ZQR+VnPHMOkwyu+MtaCZ2QPrGh0ZKcri4miHshnhhnqCKF6ELuK5nYxZFhIcjg=="],
-
- "@backstage/plugin-app-node/@backstage/backend-plugin-api/@backstage/plugin-auth-node": ["@backstage/plugin-auth-node@0.6.10", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/catalog-client": "^1.12.1", "@backstage/catalog-model": "^1.7.6", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "express": "^4.22.0", "jose": "^5.0.0", "lodash": "^4.17.21", "passport": "^0.7.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4", "zod-validation-error": "^3.4.0" } }, "sha512-Hi8ZxKzs0GS37a0KTpPf3DyhQ8TdexwH+UtgNxOPn6nBuoONOeW75EQO4CoJ12oT6DmIJ0t6ZXAqIe4kt93QOw=="],
-
- "@backstage/plugin-app-node/@backstage/backend-plugin-api/@backstage/plugin-permission-node": ["@backstage/plugin-permission-node@0.10.7", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@types/express": "^4.17.6", "express": "^4.22.0", "express-promise-router": "^4.1.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" } }, "sha512-OSDfwo9dVTHBzfJ7LKea3Bw5ZQR+VnPHMOkwyu+MtaCZ2QPrGh0ZKcri4miHshnhhnqCKF6ELuK5nYxZFhIcjg=="],
-
- "@backstage/plugin-app/@backstage/core-components/@testing-library/react": ["@testing-library/react@16.3.1", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "@testing-library/dom": "^10.0.0", "@types/react": "^18.0.0 || ^19.0.0", "@types/react-dom": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-gr4KtAWqIOQoucWYD/f6ki+j5chXfcPc74Col/6poTyqTmn7zRmodWahWRCp8tYd+GMqBonw6hstNzqjbs6gjw=="],
-
- "@backstage/plugin-app/@backstage/core-components/linkify-react": ["linkify-react@4.3.2", "", { "peerDependencies": { "linkifyjs": "^4.0.0", "react": ">= 15.0.0" } }, "sha512-mi744h1hf+WDsr+paJgSBBgYNLMWNSHyM9V9LVUo03RidNGdw1VpI7Twnt+K3pEh3nIzB4xiiAgZxpd61ItKpQ=="],
-
- "@backstage/plugin-app/@backstage/core-components/linkifyjs": ["linkifyjs@4.3.2", "", {}, "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA=="],
-
- "@backstage/plugin-auth-node/@backstage/backend-common/archiver": ["archiver@7.0.1", "", { "dependencies": { "archiver-utils": "^5.0.2", "async": "^3.2.4", "buffer-crc32": "^1.0.0", "readable-stream": "^4.0.0", "readdir-glob": "^1.1.2", "tar-stream": "^3.0.0", "zip-stream": "^6.0.1" } }, "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ=="],
-
- "@backstage/plugin-auth-node/@backstage/backend-common/path-to-regexp": ["path-to-regexp@8.3.0", "", {}, "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA=="],
-
- "@backstage/plugin-auth-node/@backstage/backend-common/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="],
-
- "@backstage/plugin-auth-node/@backstage/backend-plugin-api/@backstage/plugin-auth-node": ["@backstage/plugin-auth-node@0.6.10", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/catalog-client": "^1.12.1", "@backstage/catalog-model": "^1.7.6", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "express": "^4.22.0", "jose": "^5.0.0", "lodash": "^4.17.21", "passport": "^0.7.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4", "zod-validation-error": "^3.4.0" } }, "sha512-Hi8ZxKzs0GS37a0KTpPf3DyhQ8TdexwH+UtgNxOPn6nBuoONOeW75EQO4CoJ12oT6DmIJ0t6ZXAqIe4kt93QOw=="],
-
- "@backstage/plugin-auth-node/@backstage/backend-plugin-api/@backstage/plugin-permission-node": ["@backstage/plugin-permission-node@0.10.7", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@types/express": "^4.17.6", "express": "^4.22.0", "express-promise-router": "^4.1.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" } }, "sha512-OSDfwo9dVTHBzfJ7LKea3Bw5ZQR+VnPHMOkwyu+MtaCZ2QPrGh0ZKcri4miHshnhhnqCKF6ELuK5nYxZFhIcjg=="],
-
- "@backstage/plugin-catalog-backend/@backstage/backend-common/archiver": ["archiver@7.0.1", "", { "dependencies": { "archiver-utils": "^5.0.2", "async": "^3.2.4", "buffer-crc32": "^1.0.0", "readable-stream": "^4.0.0", "readdir-glob": "^1.1.2", "tar-stream": "^3.0.0", "zip-stream": "^6.0.1" } }, "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ=="],
-
- "@backstage/plugin-catalog-backend/@backstage/backend-common/git-url-parse": ["git-url-parse@14.1.0", "", { "dependencies": { "git-up": "^7.0.0" } }, "sha512-8xg65dTxGHST3+zGpycMMFZcoTzAdZ2dOtu4vmgIfkTFnVHBxHMzBC2L1k8To7EmrSiHesT8JgPLT91VKw1B5g=="],
-
- "@backstage/plugin-catalog-backend/@backstage/backend-common/path-to-regexp": ["path-to-regexp@8.3.0", "", {}, "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA=="],
-
- "@backstage/plugin-catalog-backend/@backstage/backend-common/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="],
-
- "@backstage/plugin-catalog-backend/@backstage/backend-plugin-api/@backstage/plugin-auth-node": ["@backstage/plugin-auth-node@0.6.10", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/catalog-client": "^1.12.1", "@backstage/catalog-model": "^1.7.6", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "express": "^4.22.0", "jose": "^5.0.0", "lodash": "^4.17.21", "passport": "^0.7.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4", "zod-validation-error": "^3.4.0" } }, "sha512-Hi8ZxKzs0GS37a0KTpPf3DyhQ8TdexwH+UtgNxOPn6nBuoONOeW75EQO4CoJ12oT6DmIJ0t6ZXAqIe4kt93QOw=="],
-
- "@backstage/plugin-catalog-backend/@backstage/backend-plugin-api/@backstage/plugin-permission-common": ["@backstage/plugin-permission-common@0.9.3", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "cross-fetch": "^4.0.0", "uuid": "^11.0.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" } }, "sha512-QB9HtU4DlKyWaQFJvwiiURej1GYeMn4fB38lsVmvHuFTxraMIwEgoHjSjzdCFBBItrOUl4FILaaIZBtJGei9vA=="],
-
- "@backstage/plugin-catalog-backend/@backstage/backend-plugin-api/@backstage/plugin-permission-node": ["@backstage/plugin-permission-node@0.10.7", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@types/express": "^4.17.6", "express": "^4.22.0", "express-promise-router": "^4.1.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" } }, "sha512-OSDfwo9dVTHBzfJ7LKea3Bw5ZQR+VnPHMOkwyu+MtaCZ2QPrGh0ZKcri4miHshnhhnqCKF6ELuK5nYxZFhIcjg=="],
-
- "@backstage/plugin-catalog-backend/@backstage/plugin-permission-node/@backstage/plugin-auth-node": ["@backstage/plugin-auth-node@0.6.10", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/catalog-client": "^1.12.1", "@backstage/catalog-model": "^1.7.6", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "express": "^4.22.0", "jose": "^5.0.0", "lodash": "^4.17.21", "passport": "^0.7.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4", "zod-validation-error": "^3.4.0" } }, "sha512-Hi8ZxKzs0GS37a0KTpPf3DyhQ8TdexwH+UtgNxOPn6nBuoONOeW75EQO4CoJ12oT6DmIJ0t6ZXAqIe4kt93QOw=="],
-
- "@backstage/plugin-catalog-graph/@backstage/core-components/@backstage/theme": ["@backstage/theme@0.6.8", "", { "dependencies": { "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@mui/material": "^5.12.2" }, "peerDependencies": { "@material-ui/core": "^4.12.2", "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-hNUoOjirVIVht6GbDFt6vEej4hA7Kq3trJmyWhKuAKndPD+azjhzMOnGM7Rzj5qIkJeCNB6qcC89+NV6no1HzA=="],
-
- "@backstage/plugin-catalog-graph/@backstage/core-components/@testing-library/react": ["@testing-library/react@16.3.1", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "@testing-library/dom": "^10.0.0", "@types/react": "^18.0.0 || ^19.0.0", "@types/react-dom": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-gr4KtAWqIOQoucWYD/f6ki+j5chXfcPc74Col/6poTyqTmn7zRmodWahWRCp8tYd+GMqBonw6hstNzqjbs6gjw=="],
-
- "@backstage/plugin-catalog-graph/@backstage/core-components/linkify-react": ["linkify-react@4.3.2", "", { "peerDependencies": { "linkifyjs": "^4.0.0", "react": ">= 15.0.0" } }, "sha512-mi744h1hf+WDsr+paJgSBBgYNLMWNSHyM9V9LVUo03RidNGdw1VpI7Twnt+K3pEh3nIzB4xiiAgZxpd61ItKpQ=="],
-
- "@backstage/plugin-catalog-graph/@backstage/core-components/linkifyjs": ["linkifyjs@4.3.2", "", {}, "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA=="],
-
- "@backstage/plugin-catalog-import/@backstage/core-components/@backstage/theme": ["@backstage/theme@0.6.8", "", { "dependencies": { "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@mui/material": "^5.12.2" }, "peerDependencies": { "@material-ui/core": "^4.12.2", "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-hNUoOjirVIVht6GbDFt6vEej4hA7Kq3trJmyWhKuAKndPD+azjhzMOnGM7Rzj5qIkJeCNB6qcC89+NV6no1HzA=="],
-
- "@backstage/plugin-catalog-import/@backstage/core-components/@testing-library/react": ["@testing-library/react@16.3.1", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "@testing-library/dom": "^10.0.0", "@types/react": "^18.0.0 || ^19.0.0", "@types/react-dom": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-gr4KtAWqIOQoucWYD/f6ki+j5chXfcPc74Col/6poTyqTmn7zRmodWahWRCp8tYd+GMqBonw6hstNzqjbs6gjw=="],
-
- "@backstage/plugin-catalog-import/@backstage/core-components/linkify-react": ["linkify-react@4.3.2", "", { "peerDependencies": { "linkifyjs": "^4.0.0", "react": ">= 15.0.0" } }, "sha512-mi744h1hf+WDsr+paJgSBBgYNLMWNSHyM9V9LVUo03RidNGdw1VpI7Twnt+K3pEh3nIzB4xiiAgZxpd61ItKpQ=="],
-
- "@backstage/plugin-catalog-import/@backstage/core-components/linkifyjs": ["linkifyjs@4.3.2", "", {}, "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA=="],
-
- "@backstage/plugin-catalog-node/@backstage/backend-plugin-api/@backstage/plugin-auth-node": ["@backstage/plugin-auth-node@0.6.10", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/catalog-client": "^1.12.1", "@backstage/catalog-model": "^1.7.6", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "express": "^4.22.0", "jose": "^5.0.0", "lodash": "^4.17.21", "passport": "^0.7.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4", "zod-validation-error": "^3.4.0" } }, "sha512-Hi8ZxKzs0GS37a0KTpPf3DyhQ8TdexwH+UtgNxOPn6nBuoONOeW75EQO4CoJ12oT6DmIJ0t6ZXAqIe4kt93QOw=="],
-
- "@backstage/plugin-catalog-node/@backstage/plugin-permission-node/@backstage/plugin-auth-node": ["@backstage/plugin-auth-node@0.6.10", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/catalog-client": "^1.12.1", "@backstage/catalog-model": "^1.7.6", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "express": "^4.22.0", "jose": "^5.0.0", "lodash": "^4.17.21", "passport": "^0.7.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4", "zod-validation-error": "^3.4.0" } }, "sha512-Hi8ZxKzs0GS37a0KTpPf3DyhQ8TdexwH+UtgNxOPn6nBuoONOeW75EQO4CoJ12oT6DmIJ0t6ZXAqIe4kt93QOw=="],
-
- "@backstage/plugin-catalog-react/@backstage/core-components/@backstage/theme": ["@backstage/theme@0.7.1", "", { "dependencies": { "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@mui/material": "^5.12.2" }, "peerDependencies": { "@material-ui/core": "^4.12.2", "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-JC2EUqfV198SzNT0B/E7MrnQuR5ML3qCz1FMDNd1qGoXNRBtBsSlPPJMcmuRsz7tM2BN+Vnbr7KkRPNbEnCYkQ=="],
-
- "@backstage/plugin-catalog-react/@backstage/core-components/@testing-library/react": ["@testing-library/react@16.3.1", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "@testing-library/dom": "^10.0.0", "@types/react": "^18.0.0 || ^19.0.0", "@types/react-dom": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-gr4KtAWqIOQoucWYD/f6ki+j5chXfcPc74Col/6poTyqTmn7zRmodWahWRCp8tYd+GMqBonw6hstNzqjbs6gjw=="],
-
- "@backstage/plugin-catalog-react/@backstage/core-components/linkify-react": ["linkify-react@4.3.2", "", { "peerDependencies": { "linkifyjs": "^4.0.0", "react": ">= 15.0.0" } }, "sha512-mi744h1hf+WDsr+paJgSBBgYNLMWNSHyM9V9LVUo03RidNGdw1VpI7Twnt+K3pEh3nIzB4xiiAgZxpd61ItKpQ=="],
-
- "@backstage/plugin-catalog-react/@backstage/core-components/linkifyjs": ["linkifyjs@4.3.2", "", {}, "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA=="],
-
- "@backstage/plugin-catalog/@backstage/core-components/@backstage/theme": ["@backstage/theme@0.7.1", "", { "dependencies": { "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@mui/material": "^5.12.2" }, "peerDependencies": { "@material-ui/core": "^4.12.2", "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-JC2EUqfV198SzNT0B/E7MrnQuR5ML3qCz1FMDNd1qGoXNRBtBsSlPPJMcmuRsz7tM2BN+Vnbr7KkRPNbEnCYkQ=="],
-
- "@backstage/plugin-catalog/@backstage/core-components/@testing-library/react": ["@testing-library/react@16.3.1", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "@testing-library/dom": "^10.0.0", "@types/react": "^18.0.0 || ^19.0.0", "@types/react-dom": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-gr4KtAWqIOQoucWYD/f6ki+j5chXfcPc74Col/6poTyqTmn7zRmodWahWRCp8tYd+GMqBonw6hstNzqjbs6gjw=="],
-
- "@backstage/plugin-catalog/@backstage/core-components/linkify-react": ["linkify-react@4.3.2", "", { "peerDependencies": { "linkifyjs": "^4.0.0", "react": ">= 15.0.0" } }, "sha512-mi744h1hf+WDsr+paJgSBBgYNLMWNSHyM9V9LVUo03RidNGdw1VpI7Twnt+K3pEh3nIzB4xiiAgZxpd61ItKpQ=="],
-
- "@backstage/plugin-catalog/@backstage/core-components/linkifyjs": ["linkifyjs@4.3.2", "", {}, "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA=="],
-
- "@backstage/plugin-home-react/@backstage/core-components/@backstage/theme": ["@backstage/theme@0.7.1", "", { "dependencies": { "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@mui/material": "^5.12.2" }, "peerDependencies": { "@material-ui/core": "^4.12.2", "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-JC2EUqfV198SzNT0B/E7MrnQuR5ML3qCz1FMDNd1qGoXNRBtBsSlPPJMcmuRsz7tM2BN+Vnbr7KkRPNbEnCYkQ=="],
-
- "@backstage/plugin-home-react/@backstage/core-components/@testing-library/react": ["@testing-library/react@16.3.1", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "@testing-library/dom": "^10.0.0", "@types/react": "^18.0.0 || ^19.0.0", "@types/react-dom": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-gr4KtAWqIOQoucWYD/f6ki+j5chXfcPc74Col/6poTyqTmn7zRmodWahWRCp8tYd+GMqBonw6hstNzqjbs6gjw=="],
-
- "@backstage/plugin-home-react/@backstage/core-components/linkify-react": ["linkify-react@4.3.2", "", { "peerDependencies": { "linkifyjs": "^4.0.0", "react": ">= 15.0.0" } }, "sha512-mi744h1hf+WDsr+paJgSBBgYNLMWNSHyM9V9LVUo03RidNGdw1VpI7Twnt+K3pEh3nIzB4xiiAgZxpd61ItKpQ=="],
-
- "@backstage/plugin-home-react/@backstage/core-components/linkifyjs": ["linkifyjs@4.3.2", "", {}, "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA=="],
-
- "@backstage/plugin-home-react/@rjsf/utils/react-is": ["react-is@18.3.1", "", {}, "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="],
-
- "@backstage/plugin-home/@backstage/core-compat-api/@backstage/frontend-plugin-api": ["@backstage/frontend-plugin-api@0.9.5", "", { "dependencies": { "@backstage/core-components": "^0.16.4", "@backstage/core-plugin-api": "^1.10.4", "@backstage/types": "^1.2.1", "@backstage/version-bridge": "^1.0.11", "@material-ui/core": "^4.12.4", "lodash": "^4.17.21", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-CtKX7thcCXnyYxWKjXhZttUAuS5VQv8r9u3NJpYJ8rbpqMJzchi00UvADR9dygdJWXVfMPM7k2en6ZHkwhjlZQ=="],
-
- "@backstage/plugin-home/@backstage/core-components/@backstage/theme": ["@backstage/theme@0.6.8", "", { "dependencies": { "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@mui/material": "^5.12.2" }, "peerDependencies": { "@material-ui/core": "^4.12.2", "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-hNUoOjirVIVht6GbDFt6vEej4hA7Kq3trJmyWhKuAKndPD+azjhzMOnGM7Rzj5qIkJeCNB6qcC89+NV6no1HzA=="],
-
- "@backstage/plugin-permission-node/@backstage/backend-common/@backstage/plugin-auth-node": ["@backstage/plugin-auth-node@0.5.6", "", { "dependencies": { "@backstage/backend-common": "^0.25.0", "@backstage/backend-plugin-api": "^1.1.1", "@backstage/catalog-client": "^1.9.1", "@backstage/catalog-model": "^1.7.3", "@backstage/config": "^1.3.2", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.1", "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "express": "^4.17.1", "jose": "^5.0.0", "lodash": "^4.17.21", "passport": "^0.7.0", "winston": "^3.2.1", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4", "zod-validation-error": "^3.4.0" } }, "sha512-C3hI7gB0hQwc/NORjZYDB368UTbZe1g2md8LHfTLeIeuyoZyFGAODKZa0XCwLFAX99awttkVeuOjffNLR295Sw=="],
-
- "@backstage/plugin-permission-node/@backstage/backend-common/archiver": ["archiver@7.0.1", "", { "dependencies": { "archiver-utils": "^5.0.2", "async": "^3.2.4", "buffer-crc32": "^1.0.0", "readable-stream": "^4.0.0", "readdir-glob": "^1.1.2", "tar-stream": "^3.0.0", "zip-stream": "^6.0.1" } }, "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ=="],
-
- "@backstage/plugin-permission-node/@backstage/backend-common/path-to-regexp": ["path-to-regexp@8.3.0", "", {}, "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA=="],
-
- "@backstage/plugin-permission-node/@backstage/backend-common/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="],
-
- "@backstage/plugin-permission-node/@backstage/backend-plugin-api/@backstage/plugin-permission-common": ["@backstage/plugin-permission-common@0.9.3", "", { "dependencies": { "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "cross-fetch": "^4.0.0", "uuid": "^11.0.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" } }, "sha512-QB9HtU4DlKyWaQFJvwiiURej1GYeMn4fB38lsVmvHuFTxraMIwEgoHjSjzdCFBBItrOUl4FILaaIZBtJGei9vA=="],
-
- "@backstage/plugin-permission-node/@backstage/backend-plugin-api/@backstage/plugin-permission-node": ["@backstage/plugin-permission-node@0.10.7", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@types/express": "^4.17.6", "express": "^4.22.0", "express-promise-router": "^4.1.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" } }, "sha512-OSDfwo9dVTHBzfJ7LKea3Bw5ZQR+VnPHMOkwyu+MtaCZ2QPrGh0ZKcri4miHshnhhnqCKF6ELuK5nYxZFhIcjg=="],
-
- "@backstage/plugin-proxy-backend/@backstage/backend-common/archiver": ["archiver@7.0.1", "", { "dependencies": { "archiver-utils": "^5.0.2", "async": "^3.2.4", "buffer-crc32": "^1.0.0", "readable-stream": "^4.0.0", "readdir-glob": "^1.1.2", "tar-stream": "^3.0.0", "zip-stream": "^6.0.1" } }, "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ=="],
-
- "@backstage/plugin-proxy-backend/@backstage/backend-common/path-to-regexp": ["path-to-regexp@8.3.0", "", {}, "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA=="],
-
- "@backstage/plugin-proxy-backend/@backstage/backend-common/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="],
-
- "@backstage/plugin-proxy-backend/@backstage/backend-plugin-api/@backstage/plugin-auth-node": ["@backstage/plugin-auth-node@0.6.10", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/catalog-client": "^1.12.1", "@backstage/catalog-model": "^1.7.6", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "express": "^4.22.0", "jose": "^5.0.0", "lodash": "^4.17.21", "passport": "^0.7.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4", "zod-validation-error": "^3.4.0" } }, "sha512-Hi8ZxKzs0GS37a0KTpPf3DyhQ8TdexwH+UtgNxOPn6nBuoONOeW75EQO4CoJ12oT6DmIJ0t6ZXAqIe4kt93QOw=="],
-
- "@backstage/plugin-proxy-backend/@backstage/backend-plugin-api/@backstage/plugin-permission-node": ["@backstage/plugin-permission-node@0.10.7", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@types/express": "^4.17.6", "express": "^4.22.0", "express-promise-router": "^4.1.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" } }, "sha512-OSDfwo9dVTHBzfJ7LKea3Bw5ZQR+VnPHMOkwyu+MtaCZ2QPrGh0ZKcri4miHshnhhnqCKF6ELuK5nYxZFhIcjg=="],
-
- "@backstage/plugin-proxy-node/@backstage/backend-plugin-api/@backstage/plugin-auth-node": ["@backstage/plugin-auth-node@0.6.10", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/catalog-client": "^1.12.1", "@backstage/catalog-model": "^1.7.6", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "express": "^4.22.0", "jose": "^5.0.0", "lodash": "^4.17.21", "passport": "^0.7.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4", "zod-validation-error": "^3.4.0" } }, "sha512-Hi8ZxKzs0GS37a0KTpPf3DyhQ8TdexwH+UtgNxOPn6nBuoONOeW75EQO4CoJ12oT6DmIJ0t6ZXAqIe4kt93QOw=="],
-
- "@backstage/plugin-proxy-node/@backstage/backend-plugin-api/@backstage/plugin-permission-node": ["@backstage/plugin-permission-node@0.10.7", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@types/express": "^4.17.6", "express": "^4.22.0", "express-promise-router": "^4.1.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" } }, "sha512-OSDfwo9dVTHBzfJ7LKea3Bw5ZQR+VnPHMOkwyu+MtaCZ2QPrGh0ZKcri4miHshnhhnqCKF6ELuK5nYxZFhIcjg=="],
-
- "@backstage/plugin-search-backend-module-catalog/@backstage/backend-plugin-api/@backstage/plugin-auth-node": ["@backstage/plugin-auth-node@0.6.10", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/catalog-client": "^1.12.1", "@backstage/catalog-model": "^1.7.6", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "express": "^4.22.0", "jose": "^5.0.0", "lodash": "^4.17.21", "passport": "^0.7.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4", "zod-validation-error": "^3.4.0" } }, "sha512-Hi8ZxKzs0GS37a0KTpPf3DyhQ8TdexwH+UtgNxOPn6nBuoONOeW75EQO4CoJ12oT6DmIJ0t6ZXAqIe4kt93QOw=="],
-
- "@backstage/plugin-search-backend-module-catalog/@backstage/backend-plugin-api/@backstage/plugin-permission-node": ["@backstage/plugin-permission-node@0.10.7", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@types/express": "^4.17.6", "express": "^4.22.0", "express-promise-router": "^4.1.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" } }, "sha512-OSDfwo9dVTHBzfJ7LKea3Bw5ZQR+VnPHMOkwyu+MtaCZ2QPrGh0ZKcri4miHshnhhnqCKF6ELuK5nYxZFhIcjg=="],
-
- "@backstage/plugin-search-backend-node/@backstage/backend-plugin-api/@backstage/plugin-auth-node": ["@backstage/plugin-auth-node@0.6.10", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/catalog-client": "^1.12.1", "@backstage/catalog-model": "^1.7.6", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/types": "^1.2.2", "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "express": "^4.22.0", "jose": "^5.0.0", "lodash": "^4.17.21", "passport": "^0.7.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.21.4", "zod-validation-error": "^3.4.0" } }, "sha512-Hi8ZxKzs0GS37a0KTpPf3DyhQ8TdexwH+UtgNxOPn6nBuoONOeW75EQO4CoJ12oT6DmIJ0t6ZXAqIe4kt93QOw=="],
-
- "@backstage/plugin-search-backend-node/@backstage/backend-plugin-api/@backstage/plugin-permission-node": ["@backstage/plugin-permission-node@0.10.7", "", { "dependencies": { "@backstage/backend-plugin-api": "^1.6.0", "@backstage/config": "^1.3.6", "@backstage/errors": "^1.2.7", "@backstage/plugin-auth-node": "^0.6.10", "@backstage/plugin-permission-common": "^0.9.3", "@types/express": "^4.17.6", "express": "^4.22.0", "express-promise-router": "^4.1.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.20.4" } }, "sha512-OSDfwo9dVTHBzfJ7LKea3Bw5ZQR+VnPHMOkwyu+MtaCZ2QPrGh0ZKcri4miHshnhhnqCKF6ELuK5nYxZFhIcjg=="],
-
- "@backstage/plugin-search-react/@backstage/core-components/@testing-library/react": ["@testing-library/react@16.3.1", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "@testing-library/dom": "^10.0.0", "@types/react": "^18.0.0 || ^19.0.0", "@types/react-dom": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-gr4KtAWqIOQoucWYD/f6ki+j5chXfcPc74Col/6poTyqTmn7zRmodWahWRCp8tYd+GMqBonw6hstNzqjbs6gjw=="],
-
- "@backstage/plugin-search-react/@backstage/core-components/linkify-react": ["linkify-react@4.3.2", "", { "peerDependencies": { "linkifyjs": "^4.0.0", "react": ">= 15.0.0" } }, "sha512-mi744h1hf+WDsr+paJgSBBgYNLMWNSHyM9V9LVUo03RidNGdw1VpI7Twnt+K3pEh3nIzB4xiiAgZxpd61ItKpQ=="],
-
- "@backstage/plugin-search-react/@backstage/core-components/linkifyjs": ["linkifyjs@4.3.2", "", {}, "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA=="],
-
- "@backstage/plugin-search/@backstage/core-components/@backstage/theme": ["@backstage/theme@0.7.1", "", { "dependencies": { "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@mui/material": "^5.12.2" }, "peerDependencies": { "@material-ui/core": "^4.12.2", "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-JC2EUqfV198SzNT0B/E7MrnQuR5ML3qCz1FMDNd1qGoXNRBtBsSlPPJMcmuRsz7tM2BN+Vnbr7KkRPNbEnCYkQ=="],
-
- "@backstage/plugin-search/@backstage/core-components/@testing-library/react": ["@testing-library/react@16.3.1", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "@testing-library/dom": "^10.0.0", "@types/react": "^18.0.0 || ^19.0.0", "@types/react-dom": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-gr4KtAWqIOQoucWYD/f6ki+j5chXfcPc74Col/6poTyqTmn7zRmodWahWRCp8tYd+GMqBonw6hstNzqjbs6gjw=="],
-
- "@backstage/plugin-search/@backstage/core-components/linkify-react": ["linkify-react@4.3.2", "", { "peerDependencies": { "linkifyjs": "^4.0.0", "react": ">= 15.0.0" } }, "sha512-mi744h1hf+WDsr+paJgSBBgYNLMWNSHyM9V9LVUo03RidNGdw1VpI7Twnt+K3pEh3nIzB4xiiAgZxpd61ItKpQ=="],
-
- "@backstage/plugin-search/@backstage/core-components/linkifyjs": ["linkifyjs@4.3.2", "", {}, "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA=="],
-
- "@backstage/plugin-techdocs-react/@backstage/core-components/@backstage/theme": ["@backstage/theme@0.7.1", "", { "dependencies": { "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@mui/material": "^5.12.2" }, "peerDependencies": { "@material-ui/core": "^4.12.2", "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-JC2EUqfV198SzNT0B/E7MrnQuR5ML3qCz1FMDNd1qGoXNRBtBsSlPPJMcmuRsz7tM2BN+Vnbr7KkRPNbEnCYkQ=="],
-
- "@backstage/plugin-techdocs-react/@backstage/core-components/@testing-library/react": ["@testing-library/react@16.3.1", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "@testing-library/dom": "^10.0.0", "@types/react": "^18.0.0 || ^19.0.0", "@types/react-dom": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-gr4KtAWqIOQoucWYD/f6ki+j5chXfcPc74Col/6poTyqTmn7zRmodWahWRCp8tYd+GMqBonw6hstNzqjbs6gjw=="],
-
- "@backstage/plugin-techdocs-react/@backstage/core-components/linkify-react": ["linkify-react@4.3.2", "", { "peerDependencies": { "linkifyjs": "^4.0.0", "react": ">= 15.0.0" } }, "sha512-mi744h1hf+WDsr+paJgSBBgYNLMWNSHyM9V9LVUo03RidNGdw1VpI7Twnt+K3pEh3nIzB4xiiAgZxpd61ItKpQ=="],
-
- "@backstage/plugin-techdocs-react/@backstage/core-components/linkifyjs": ["linkifyjs@4.3.2", "", {}, "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA=="],
-
- "@backstage/test-utils/@testing-library/react/@testing-library/dom": ["@testing-library/dom@10.4.1", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "picocolors": "1.1.1", "pretty-format": "^27.0.2" } }, "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg=="],
-
- "@eslint/eslintrc/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="],
-
- "@humanwhocodes/config-array/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="],
-
- "@isaacs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="],
-
- "@istanbuljs/load-nyc-config/find-up/locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="],
-
- "@istanbuljs/load-nyc-config/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="],
-
- "@jest/create-cache-key-function/@jest/types/@jest/schemas": ["@jest/schemas@30.0.5", "", { "dependencies": { "@sinclair/typebox": "^0.34.0" } }, "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA=="],
-
- "@manypkg/find-root/find-up/locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="],
-
- "@manypkg/find-root/fs-extra/jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="],
-
- "@manypkg/find-root/fs-extra/universalify": ["universalify@0.1.2", "", {}, "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="],
-
- "@manypkg/get-packages/fs-extra/jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="],
-
- "@manypkg/get-packages/fs-extra/universalify": ["universalify@0.1.2", "", {}, "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="],
-
- "@pmmmwh/react-refresh-webpack-plugin/schema-utils/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="],
-
- "@pmmmwh/react-refresh-webpack-plugin/schema-utils/ajv-keywords": ["ajv-keywords@5.1.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3" }, "peerDependencies": { "ajv": "^8.8.2" } }, "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw=="],
-
- "@rollup/plugin-commonjs/glob/minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="],
-
- "@sucrase/webpack-loader/loader-utils/json5": ["json5@1.0.2", "", { "dependencies": { "minimist": "^1.2.0" }, "bin": { "json5": "lib/cli.js" } }, "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA=="],
-
- "@svgr/rollup/@rollup/pluginutils/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
-
- "@testing-library/dom/pretty-format/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
-
- "@testing-library/dom/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="],
-
- "@types/ssh2/@types/node/undici-types": ["undici-types@5.26.5", "", {}, "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="],
-
- "@typespec/ts-http-runtime/http-proxy-agent/agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="],
-
- "@typespec/ts-http-runtime/https-proxy-agent/agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="],
-
- "@yarnpkg/parsers/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="],
-
- "archiver-utils/glob/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="],
-
- "assert/util/inherits": ["inherits@2.0.3", "", {}, "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="],
-
- "babel-plugin-istanbul/istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
-
- "body-parser/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="],
-
- "codeowners-utils/locate-path/p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="],
-
- "color/color-convert/color-name": ["color-name@2.1.0", "", {}, "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg=="],
-
- "compression/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="],
-
- "connect/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="],
-
- "connect/finalhandler/encodeurl": ["encodeurl@1.0.2", "", {}, "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="],
-
- "connect/finalhandler/on-finished": ["on-finished@2.3.0", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww=="],
-
- "connect/finalhandler/statuses": ["statuses@1.5.0", "", {}, "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA=="],
-
- "data-urls/whatwg-url/tr46": ["tr46@3.0.0", "", { "dependencies": { "punycode": "^2.1.1" } }, "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA=="],
-
- "detect-port-alt/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="],
-
- "esbuild-loader/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.2", "", { "os": "aix", "cpu": "ppc64" }, "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw=="],
-
- "esbuild-loader/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.27.2", "", { "os": "android", "cpu": "arm" }, "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA=="],
-
- "esbuild-loader/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.27.2", "", { "os": "android", "cpu": "arm64" }, "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA=="],
-
- "esbuild-loader/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.27.2", "", { "os": "android", "cpu": "x64" }, "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A=="],
-
- "esbuild-loader/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.27.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg=="],
-
- "esbuild-loader/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.27.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA=="],
-
- "esbuild-loader/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.27.2", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g=="],
-
- "esbuild-loader/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.27.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA=="],
-
- "esbuild-loader/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.27.2", "", { "os": "linux", "cpu": "arm" }, "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw=="],
-
- "esbuild-loader/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.27.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw=="],
-
- "esbuild-loader/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.27.2", "", { "os": "linux", "cpu": "ia32" }, "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w=="],
-
- "esbuild-loader/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.27.2", "", { "os": "linux", "cpu": "none" }, "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg=="],
-
- "esbuild-loader/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.27.2", "", { "os": "linux", "cpu": "none" }, "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw=="],
-
- "esbuild-loader/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.27.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ=="],
-
- "esbuild-loader/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.27.2", "", { "os": "linux", "cpu": "none" }, "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA=="],
-
- "esbuild-loader/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.27.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w=="],
-
- "esbuild-loader/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.27.2", "", { "os": "linux", "cpu": "x64" }, "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA=="],
-
- "esbuild-loader/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.27.2", "", { "os": "none", "cpu": "x64" }, "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA=="],
-
- "esbuild-loader/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.27.2", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA=="],
-
- "esbuild-loader/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.27.2", "", { "os": "openbsd", "cpu": "x64" }, "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg=="],
-
- "esbuild-loader/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.27.2", "", { "os": "sunos", "cpu": "x64" }, "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg=="],
-
- "esbuild-loader/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.27.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg=="],
-
- "esbuild-loader/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.27.2", "", { "os": "win32", "cpu": "ia32" }, "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ=="],
-
- "esbuild-loader/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.2", "", { "os": "win32", "cpu": "x64" }, "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ=="],
-
- "eslint-formatter-friendly/chalk/ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="],
-
- "eslint-formatter-friendly/chalk/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="],
-
- "eslint-formatter-friendly/chalk/supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="],
-
- "eslint-formatter-friendly/strip-ansi/ansi-regex": ["ansi-regex@4.1.1", "", {}, "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g=="],
-
- "eslint-plugin-deprecation/@typescript-eslint/utils/@types/semver": ["@types/semver@7.7.1", "", {}, "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA=="],
-
- "eslint-plugin-deprecation/@typescript-eslint/utils/@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@6.21.0", "", { "dependencies": { "@typescript-eslint/types": "6.21.0", "@typescript-eslint/visitor-keys": "6.21.0" } }, "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg=="],
-
- "eslint-plugin-deprecation/@typescript-eslint/utils/@typescript-eslint/types": ["@typescript-eslint/types@6.21.0", "", {}, "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg=="],
-
- "eslint-plugin-deprecation/@typescript-eslint/utils/@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@6.21.0", "", { "dependencies": { "@typescript-eslint/types": "6.21.0", "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", "minimatch": "9.0.3", "semver": "^7.5.4", "ts-api-utils": "^1.0.1" } }, "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ=="],
-
- "eslint-plugin-import/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="],
-
- "eslint-plugin-jest/@typescript-eslint/utils/@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.50.1", "", { "dependencies": { "@typescript-eslint/types": "8.50.1", "@typescript-eslint/visitor-keys": "8.50.1" } }, "sha512-mfRx06Myt3T4vuoHaKi8ZWNTPdzKPNBhiblze5N50//TSHOAQQevl/aolqA/BcqqbJ88GUnLqjjcBc8EWdBcVw=="],
-
- "eslint-plugin-jest/@typescript-eslint/utils/@typescript-eslint/types": ["@typescript-eslint/types@8.50.1", "", {}, "sha512-v5lFIS2feTkNyMhd7AucE/9j/4V9v5iIbpVRncjk/K0sQ6Sb+Np9fgYS/63n6nwqahHQvbmujeBL7mp07Q9mlA=="],
-
- "eslint-plugin-jest/@typescript-eslint/utils/@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.50.1", "", { "dependencies": { "@typescript-eslint/project-service": "8.50.1", "@typescript-eslint/tsconfig-utils": "8.50.1", "@typescript-eslint/types": "8.50.1", "@typescript-eslint/visitor-keys": "8.50.1", "debug": "^4.3.4", "minimatch": "^9.0.4", "semver": "^7.6.0", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-woHPdW+0gj53aM+cxchymJCrh0cyS7BTIdcDxWUNsclr9VDkOSbqC13juHzxOmQ22dDkMZEpZB+3X1WpUvzgVQ=="],
-
- "eslint-plugin-jsx-a11y/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="],
-
- "eslint-plugin-react/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="],
-
- "eslint-webpack-plugin/schema-utils/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="],
-
- "eslint-webpack-plugin/schema-utils/ajv-keywords": ["ajv-keywords@5.1.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3" }, "peerDependencies": { "ajv": "^8.8.2" } }, "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw=="],
-
- "eslint/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="],
-
- "express-session/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="],
-
- "express/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="],
-
- "finalhandler/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="],
-
- "fork-ts-checker-webpack-plugin/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="],
-
- "fork-ts-checker-webpack-plugin/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="],
-
- "gaxios/https-proxy-agent/agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="],
-
- "glob/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="],
-
- "global-agent/serialize-error/type-fest": ["type-fest@0.13.1", "", {}, "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg=="],
-
- "http-assert/http-errors/depd": ["depd@1.1.2", "", {}, "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ=="],
-
- "http-assert/http-errors/statuses": ["statuses@1.5.0", "", {}, "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA=="],
-
- "jest-runner/source-map-support/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
-
- "jsdom/tough-cookie/punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="],
-
- "jsdom/tough-cookie/universalify": ["universalify@0.2.0", "", {}, "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg=="],
-
- "jsdom/whatwg-url/tr46": ["tr46@3.0.0", "", { "dependencies": { "punycode": "^2.1.1" } }, "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA=="],
-
- "knex/debug/ms": ["ms@2.1.2", "", {}, "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="],
-
- "koa/http-errors/depd": ["depd@1.1.2", "", {}, "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ=="],
-
- "koa/http-errors/inherits": ["inherits@2.0.3", "", {}, "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="],
-
- "koa/http-errors/setprototypeof": ["setprototypeof@1.1.0", "", {}, "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="],
-
- "mini-css-extract-plugin/schema-utils/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="],
-
- "mini-css-extract-plugin/schema-utils/ajv-keywords": ["ajv-keywords@5.1.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3" }, "peerDependencies": { "ajv": "^8.8.2" } }, "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw=="],
-
- "morgan/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="],
-
- "node-libs-browser/util/inherits": ["inherits@2.0.3", "", {}, "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="],
-
- "npm-packlist/glob/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="],
-
- "pkg-dir/find-up/locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="],
-
- "pkg-up/find-up/locate-path": ["locate-path@3.0.0", "", { "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A=="],
-
- "react-dev-utils/fork-ts-checker-webpack-plugin/cosmiconfig": ["cosmiconfig@6.0.0", "", { "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.1.0", "parse-json": "^5.0.0", "path-type": "^4.0.0", "yaml": "^1.7.2" } }, "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg=="],
-
- "react-dev-utils/fork-ts-checker-webpack-plugin/fs-extra": ["fs-extra@9.1.0", "", { "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ=="],
-
- "react-dev-utils/fork-ts-checker-webpack-plugin/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
-
- "react-dev-utils/fork-ts-checker-webpack-plugin/schema-utils": ["schema-utils@2.7.0", "", { "dependencies": { "@types/json-schema": "^7.0.4", "ajv": "^6.12.2", "ajv-keywords": "^3.4.1" } }, "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A=="],
-
- "react-dev-utils/fork-ts-checker-webpack-plugin/tapable": ["tapable@1.1.3", "", {}, "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA=="],
-
- "read-yaml-file/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="],
-
- "recursive-readdir/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="],
-
- "replace-in-file/glob/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="],
-
- "request/tough-cookie/punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="],
-
- "resolve-dir/global-modules/global-prefix": ["global-prefix@1.0.2", "", { "dependencies": { "expand-tilde": "^2.0.2", "homedir-polyfill": "^1.0.1", "ini": "^1.3.4", "is-windows": "^1.0.1", "which": "^1.2.14" } }, "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg=="],
-
- "send/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="],
-
- "serve-index/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="],
-
- "serve-index/http-errors/depd": ["depd@1.1.2", "", {}, "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ=="],
-
- "serve-index/http-errors/inherits": ["inherits@2.0.3", "", {}, "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="],
-
- "serve-index/http-errors/setprototypeof": ["setprototypeof@1.1.0", "", {}, "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="],
-
- "serve-index/http-errors/statuses": ["statuses@1.5.0", "", {}, "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA=="],
-
- "static-eval/escodegen/estraverse": ["estraverse@4.3.0", "", {}, "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="],
-
- "static-eval/escodegen/optionator": ["optionator@0.8.3", "", { "dependencies": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", "levn": "~0.3.0", "prelude-ls": "~1.1.2", "type-check": "~0.3.2", "word-wrap": "~1.2.3" } }, "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA=="],
-
- "static-eval/escodegen/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
-
- "streamroller/fs-extra/jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="],
-
- "streamroller/fs-extra/universalify": ["universalify@0.1.2", "", {}, "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="],
-
- "tar-fs/tar-stream/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
-
- "terser-webpack-plugin/jest-worker/supports-color": ["supports-color@8.1.1", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q=="],
-
- "terser-webpack-plugin/schema-utils/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="],
-
- "terser-webpack-plugin/schema-utils/ajv-keywords": ["ajv-keywords@5.1.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3" }, "peerDependencies": { "ajv": "^8.8.2" } }, "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw=="],
-
- "test-exclude/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="],
-
- "typescript-json-schema/@types/node/undici-types": ["undici-types@5.26.5", "", {}, "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="],
-
- "webpack-dev-middleware/mime-types/mime-db": ["mime-db@1.54.0", "", {}, "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ=="],
-
- "webpack-dev-middleware/schema-utils/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="],
-
- "webpack-dev-middleware/schema-utils/ajv-keywords": ["ajv-keywords@5.1.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3" }, "peerDependencies": { "ajv": "^8.8.2" } }, "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw=="],
-
- "webpack-dev-server/open/define-lazy-prop": ["define-lazy-prop@3.0.0", "", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="],
-
- "webpack-dev-server/schema-utils/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="],
-
- "webpack-dev-server/schema-utils/ajv-keywords": ["ajv-keywords@5.1.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3" }, "peerDependencies": { "ajv": "^8.8.2" } }, "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw=="],
-
- "webpack/eslint-scope/estraverse": ["estraverse@4.3.0", "", {}, "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="],
-
- "webpack/schema-utils/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="],
-
- "webpack/schema-utils/ajv-keywords": ["ajv-keywords@5.1.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3" }, "peerDependencies": { "ajv": "^8.8.2" } }, "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw=="],
-
- "yml-loader/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="],
-
- "yml-loader/loader-utils/json5": ["json5@1.0.2", "", { "dependencies": { "minimist": "^1.2.0" }, "bin": { "json5": "lib/cli.js" } }, "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA=="],
-
- "@aws-crypto/sha1-browser/@smithy/util-utf8/@smithy/util-buffer-from/@smithy/is-array-buffer": ["@smithy/is-array-buffer@2.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA=="],
-
- "@aws-crypto/sha256-browser/@smithy/util-utf8/@smithy/util-buffer-from/@smithy/is-array-buffer": ["@smithy/is-array-buffer@2.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA=="],
-
- "@aws-crypto/util/@smithy/util-utf8/@smithy/util-buffer-from/@smithy/is-array-buffer": ["@smithy/is-array-buffer@2.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA=="],
-
- "@babel/highlight/chalk/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="],
-
- "@babel/highlight/chalk/supports-color/has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="],
-
- "@backstage/app-defaults/@backstage/core-components/@testing-library/react/@testing-library/dom": ["@testing-library/dom@10.4.1", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "picocolors": "1.1.1", "pretty-format": "^27.0.2" } }, "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg=="],
-
- "@backstage/cli/@typescript-eslint/eslint-plugin/@typescript-eslint/scope-manager/@typescript-eslint/types": ["@typescript-eslint/types@6.21.0", "", {}, "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg=="],
-
- "@backstage/cli/@typescript-eslint/eslint-plugin/@typescript-eslint/type-utils/@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@6.21.0", "", { "dependencies": { "@typescript-eslint/types": "6.21.0", "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", "minimatch": "9.0.3", "semver": "^7.5.4", "ts-api-utils": "^1.0.1" } }, "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ=="],
-
- "@backstage/cli/@typescript-eslint/eslint-plugin/@typescript-eslint/utils/@types/semver": ["@types/semver@7.7.1", "", {}, "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA=="],
-
- "@backstage/cli/@typescript-eslint/eslint-plugin/@typescript-eslint/utils/@typescript-eslint/types": ["@typescript-eslint/types@6.21.0", "", {}, "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg=="],
-
- "@backstage/cli/@typescript-eslint/eslint-plugin/@typescript-eslint/utils/@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@6.21.0", "", { "dependencies": { "@typescript-eslint/types": "6.21.0", "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", "minimatch": "9.0.3", "semver": "^7.5.4", "ts-api-utils": "^1.0.1" } }, "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ=="],
-
- "@backstage/cli/@typescript-eslint/eslint-plugin/@typescript-eslint/visitor-keys/@typescript-eslint/types": ["@typescript-eslint/types@6.21.0", "", {}, "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg=="],
-
- "@backstage/cli/@typescript-eslint/parser/@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.3", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg=="],
-
- "@backstage/frontend-defaults/@backstage/core-components/@testing-library/react/@testing-library/dom": ["@testing-library/dom@10.4.1", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "picocolors": "1.1.1", "pretty-format": "^27.0.2" } }, "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg=="],
-
- "@backstage/frontend-test-utils/@testing-library/react/@testing-library/dom/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "@backstage/frontend-test-utils/@testing-library/react/@testing-library/dom/aria-query": ["aria-query@5.3.0", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="],
-
- "@backstage/frontend-test-utils/@testing-library/react/@testing-library/dom/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="],
-
- "@backstage/plugin-app-backend/@backstage/backend-common/archiver/archiver-utils": ["archiver-utils@5.0.2", "", { "dependencies": { "glob": "^10.0.0", "graceful-fs": "^4.2.0", "is-stream": "^2.0.1", "lazystream": "^1.0.0", "lodash": "^4.17.15", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA=="],
-
- "@backstage/plugin-app-backend/@backstage/backend-common/archiver/buffer-crc32": ["buffer-crc32@1.0.0", "", {}, "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w=="],
-
- "@backstage/plugin-app-backend/@backstage/backend-common/archiver/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
-
- "@backstage/plugin-app-backend/@backstage/backend-common/archiver/zip-stream": ["zip-stream@6.0.1", "", { "dependencies": { "archiver-utils": "^5.0.0", "compress-commons": "^6.0.2", "readable-stream": "^4.0.0" } }, "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA=="],
-
- "@backstage/plugin-app/@backstage/core-components/@testing-library/react/@testing-library/dom": ["@testing-library/dom@10.4.1", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "picocolors": "1.1.1", "pretty-format": "^27.0.2" } }, "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg=="],
-
- "@backstage/plugin-auth-node/@backstage/backend-common/archiver/archiver-utils": ["archiver-utils@5.0.2", "", { "dependencies": { "glob": "^10.0.0", "graceful-fs": "^4.2.0", "is-stream": "^2.0.1", "lazystream": "^1.0.0", "lodash": "^4.17.15", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA=="],
-
- "@backstage/plugin-auth-node/@backstage/backend-common/archiver/buffer-crc32": ["buffer-crc32@1.0.0", "", {}, "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w=="],
-
- "@backstage/plugin-auth-node/@backstage/backend-common/archiver/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
-
- "@backstage/plugin-auth-node/@backstage/backend-common/archiver/zip-stream": ["zip-stream@6.0.1", "", { "dependencies": { "archiver-utils": "^5.0.0", "compress-commons": "^6.0.2", "readable-stream": "^4.0.0" } }, "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA=="],
-
- "@backstage/plugin-catalog-backend/@backstage/backend-common/archiver/archiver-utils": ["archiver-utils@5.0.2", "", { "dependencies": { "glob": "^10.0.0", "graceful-fs": "^4.2.0", "is-stream": "^2.0.1", "lazystream": "^1.0.0", "lodash": "^4.17.15", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA=="],
-
- "@backstage/plugin-catalog-backend/@backstage/backend-common/archiver/buffer-crc32": ["buffer-crc32@1.0.0", "", {}, "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w=="],
-
- "@backstage/plugin-catalog-backend/@backstage/backend-common/archiver/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
-
- "@backstage/plugin-catalog-backend/@backstage/backend-common/archiver/zip-stream": ["zip-stream@6.0.1", "", { "dependencies": { "archiver-utils": "^5.0.0", "compress-commons": "^6.0.2", "readable-stream": "^4.0.0" } }, "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA=="],
-
- "@backstage/plugin-catalog-graph/@backstage/core-components/@testing-library/react/@testing-library/dom": ["@testing-library/dom@10.4.1", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "picocolors": "1.1.1", "pretty-format": "^27.0.2" } }, "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg=="],
-
- "@backstage/plugin-catalog-import/@backstage/core-components/@testing-library/react/@testing-library/dom": ["@testing-library/dom@10.4.1", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "picocolors": "1.1.1", "pretty-format": "^27.0.2" } }, "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg=="],
-
- "@backstage/plugin-catalog-react/@backstage/core-components/@testing-library/react/@testing-library/dom": ["@testing-library/dom@10.4.1", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "picocolors": "1.1.1", "pretty-format": "^27.0.2" } }, "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg=="],
-
- "@backstage/plugin-catalog/@backstage/core-components/@testing-library/react/@testing-library/dom": ["@testing-library/dom@10.4.1", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "picocolors": "1.1.1", "pretty-format": "^27.0.2" } }, "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg=="],
-
- "@backstage/plugin-home-react/@backstage/core-components/@testing-library/react/@testing-library/dom": ["@testing-library/dom@10.4.1", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "picocolors": "1.1.1", "pretty-format": "^27.0.2" } }, "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg=="],
-
- "@backstage/plugin-home/@backstage/core-compat-api/@backstage/frontend-plugin-api/@backstage/core-components": ["@backstage/core-components@0.16.4", "", { "dependencies": { "@backstage/config": "^1.3.2", "@backstage/core-plugin-api": "^1.10.4", "@backstage/errors": "^1.2.7", "@backstage/theme": "^0.6.4", "@backstage/version-bridge": "^1.0.11", "@dagrejs/dagre": "^1.1.4", "@date-io/core": "^1.3.13", "@material-table/core": "^3.1.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^24.0.0", "@testing-library/react": "^16.0.0", "@types/react-sparklines": "^1.7.0", "ansi-regex": "^6.0.1", "classnames": "^2.2.6", "d3-selection": "^3.0.0", "d3-shape": "^3.0.0", "d3-zoom": "^3.0.0", "js-yaml": "^4.1.0", "linkify-react": "4.1.3", "linkifyjs": "4.1.3", "lodash": "^4.17.21", "pluralize": "^8.0.0", "qs": "^6.9.4", "rc-progress": "3.5.1", "react-helmet": "6.1.0", "react-hook-form": "^7.12.2", "react-idle-timer": "5.7.2", "react-markdown": "^8.0.0", "react-sparklines": "^1.7.0", "react-syntax-highlighter": "^15.4.5", "react-use": "^17.3.2", "react-virtualized-auto-sizer": "^1.0.11", "react-window": "^1.8.6", "remark-gfm": "^3.0.1", "zen-observable": "^0.10.0", "zod": "^3.22.4" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-wJyp+QoM8mjBgf4wZtSQIH4YbaaGnjOZbLg0CQj+fo/JN5c+Cnn9K2auu3cwTOXQIjQHzrYazhjY4h/ZbeSLgg=="],
-
- "@backstage/plugin-permission-node/@backstage/backend-common/archiver/archiver-utils": ["archiver-utils@5.0.2", "", { "dependencies": { "glob": "^10.0.0", "graceful-fs": "^4.2.0", "is-stream": "^2.0.1", "lazystream": "^1.0.0", "lodash": "^4.17.15", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA=="],
-
- "@backstage/plugin-permission-node/@backstage/backend-common/archiver/buffer-crc32": ["buffer-crc32@1.0.0", "", {}, "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w=="],
-
- "@backstage/plugin-permission-node/@backstage/backend-common/archiver/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
-
- "@backstage/plugin-permission-node/@backstage/backend-common/archiver/zip-stream": ["zip-stream@6.0.1", "", { "dependencies": { "archiver-utils": "^5.0.0", "compress-commons": "^6.0.2", "readable-stream": "^4.0.0" } }, "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA=="],
-
- "@backstage/plugin-proxy-backend/@backstage/backend-common/archiver/archiver-utils": ["archiver-utils@5.0.2", "", { "dependencies": { "glob": "^10.0.0", "graceful-fs": "^4.2.0", "is-stream": "^2.0.1", "lazystream": "^1.0.0", "lodash": "^4.17.15", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA=="],
-
- "@backstage/plugin-proxy-backend/@backstage/backend-common/archiver/buffer-crc32": ["buffer-crc32@1.0.0", "", {}, "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w=="],
-
- "@backstage/plugin-proxy-backend/@backstage/backend-common/archiver/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
-
- "@backstage/plugin-proxy-backend/@backstage/backend-common/archiver/zip-stream": ["zip-stream@6.0.1", "", { "dependencies": { "archiver-utils": "^5.0.0", "compress-commons": "^6.0.2", "readable-stream": "^4.0.0" } }, "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA=="],
-
- "@backstage/plugin-search-react/@backstage/core-components/@testing-library/react/@testing-library/dom": ["@testing-library/dom@10.4.1", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "picocolors": "1.1.1", "pretty-format": "^27.0.2" } }, "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg=="],
-
- "@backstage/plugin-search/@backstage/core-components/@testing-library/react/@testing-library/dom": ["@testing-library/dom@10.4.1", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "picocolors": "1.1.1", "pretty-format": "^27.0.2" } }, "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg=="],
-
- "@backstage/plugin-techdocs-react/@backstage/core-components/@testing-library/react/@testing-library/dom": ["@testing-library/dom@10.4.1", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "picocolors": "1.1.1", "pretty-format": "^27.0.2" } }, "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg=="],
-
- "@backstage/test-utils/@testing-library/react/@testing-library/dom/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "@backstage/test-utils/@testing-library/react/@testing-library/dom/aria-query": ["aria-query@5.3.0", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="],
-
- "@backstage/test-utils/@testing-library/react/@testing-library/dom/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="],
-
- "@istanbuljs/load-nyc-config/find-up/locate-path/p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="],
-
- "@istanbuljs/load-nyc-config/js-yaml/argparse/sprintf-js": ["sprintf-js@1.0.3", "", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="],
-
- "@jest/create-cache-key-function/@jest/types/@jest/schemas/@sinclair/typebox": ["@sinclair/typebox@0.34.45", "", {}, "sha512-qJcFVfCa5jxBFSuv7S5WYbA8XdeCPmhnaVVfX/2Y6L8WYg8sk3XY2+6W0zH+3mq1Cz+YC7Ki66HfqX6IHAwnkg=="],
-
- "@manypkg/find-root/find-up/locate-path/p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="],
-
- "@yarnpkg/parsers/js-yaml/argparse/sprintf-js": ["sprintf-js@1.0.3", "", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="],
-
- "codeowners-utils/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="],
-
- "data-urls/whatwg-url/tr46/punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="],
-
- "eslint-formatter-friendly/chalk/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="],
-
- "eslint-formatter-friendly/chalk/supports-color/has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="],
-
- "eslint-plugin-deprecation/@typescript-eslint/utils/@typescript-eslint/scope-manager/@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@6.21.0", "", { "dependencies": { "@typescript-eslint/types": "6.21.0", "eslint-visitor-keys": "^3.4.1" } }, "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A=="],
-
- "eslint-plugin-deprecation/@typescript-eslint/utils/@typescript-eslint/typescript-estree/@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@6.21.0", "", { "dependencies": { "@typescript-eslint/types": "6.21.0", "eslint-visitor-keys": "^3.4.1" } }, "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A=="],
-
- "eslint-plugin-deprecation/@typescript-eslint/utils/@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.3", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg=="],
-
- "eslint-plugin-jest/@typescript-eslint/utils/@typescript-eslint/scope-manager/@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.50.1", "", { "dependencies": { "@typescript-eslint/types": "8.50.1", "eslint-visitor-keys": "^4.2.1" } }, "sha512-IrDKrw7pCRUR94zeuCSUWQ+w8JEf5ZX5jl/e6AHGSLi1/zIr0lgutfn/7JpfCey+urpgQEdrZVYzCaVVKiTwhQ=="],
-
- "eslint-plugin-jest/@typescript-eslint/utils/@typescript-eslint/typescript-estree/@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.50.1", "", { "dependencies": { "@typescript-eslint/types": "8.50.1", "eslint-visitor-keys": "^4.2.1" } }, "sha512-IrDKrw7pCRUR94zeuCSUWQ+w8JEf5ZX5jl/e6AHGSLi1/zIr0lgutfn/7JpfCey+urpgQEdrZVYzCaVVKiTwhQ=="],
-
- "eslint-plugin-jest/@typescript-eslint/utils/@typescript-eslint/typescript-estree/ts-api-utils": ["ts-api-utils@2.1.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ=="],
-
- "jsdom/whatwg-url/tr46/punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="],
-
- "pkg-dir/find-up/locate-path/p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="],
-
- "pkg-up/find-up/locate-path/p-locate": ["p-locate@3.0.0", "", { "dependencies": { "p-limit": "^2.0.0" } }, "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ=="],
-
- "pkg-up/find-up/locate-path/path-exists": ["path-exists@3.0.0", "", {}, "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ=="],
-
- "react-dev-utils/fork-ts-checker-webpack-plugin/cosmiconfig/yaml": ["yaml@1.10.2", "", {}, "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="],
-
- "react-dev-utils/fork-ts-checker-webpack-plugin/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="],
-
- "read-yaml-file/js-yaml/argparse/sprintf-js": ["sprintf-js@1.0.3", "", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="],
-
- "resolve-dir/global-modules/global-prefix/which": ["which@1.3.1", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "which": "./bin/which" } }, "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ=="],
-
- "static-eval/escodegen/optionator/levn": ["levn@0.3.0", "", { "dependencies": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" } }, "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA=="],
-
- "static-eval/escodegen/optionator/prelude-ls": ["prelude-ls@1.1.2", "", {}, "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w=="],
-
- "static-eval/escodegen/optionator/type-check": ["type-check@0.3.2", "", { "dependencies": { "prelude-ls": "~1.1.2" } }, "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg=="],
-
- "yml-loader/js-yaml/argparse/sprintf-js": ["sprintf-js@1.0.3", "", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="],
-
- "@babel/highlight/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="],
-
- "@backstage/app-defaults/@backstage/core-components/@testing-library/react/@testing-library/dom/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "@backstage/app-defaults/@backstage/core-components/@testing-library/react/@testing-library/dom/aria-query": ["aria-query@5.3.0", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="],
-
- "@backstage/app-defaults/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="],
-
- "@backstage/cli/@typescript-eslint/eslint-plugin/@typescript-eslint/type-utils/@typescript-eslint/typescript-estree/@typescript-eslint/types": ["@typescript-eslint/types@6.21.0", "", {}, "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg=="],
-
- "@backstage/cli/@typescript-eslint/eslint-plugin/@typescript-eslint/type-utils/@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.3", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg=="],
-
- "@backstage/cli/@typescript-eslint/eslint-plugin/@typescript-eslint/utils/@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.3", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg=="],
-
- "@backstage/frontend-defaults/@backstage/core-components/@testing-library/react/@testing-library/dom/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "@backstage/frontend-defaults/@backstage/core-components/@testing-library/react/@testing-library/dom/aria-query": ["aria-query@5.3.0", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="],
-
- "@backstage/frontend-defaults/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="],
-
- "@backstage/frontend-test-utils/@testing-library/react/@testing-library/dom/pretty-format/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
-
- "@backstage/frontend-test-utils/@testing-library/react/@testing-library/dom/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="],
-
- "@backstage/plugin-app-backend/@backstage/backend-common/archiver/archiver-utils/glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="],
-
- "@backstage/plugin-app-backend/@backstage/backend-common/archiver/zip-stream/compress-commons": ["compress-commons@6.0.2", "", { "dependencies": { "crc-32": "^1.2.0", "crc32-stream": "^6.0.0", "is-stream": "^2.0.1", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg=="],
-
- "@backstage/plugin-app/@backstage/core-components/@testing-library/react/@testing-library/dom/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "@backstage/plugin-app/@backstage/core-components/@testing-library/react/@testing-library/dom/aria-query": ["aria-query@5.3.0", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="],
-
- "@backstage/plugin-app/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="],
-
- "@backstage/plugin-auth-node/@backstage/backend-common/archiver/archiver-utils/glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="],
-
- "@backstage/plugin-auth-node/@backstage/backend-common/archiver/zip-stream/compress-commons": ["compress-commons@6.0.2", "", { "dependencies": { "crc-32": "^1.2.0", "crc32-stream": "^6.0.0", "is-stream": "^2.0.1", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg=="],
-
- "@backstage/plugin-catalog-backend/@backstage/backend-common/archiver/archiver-utils/glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="],
-
- "@backstage/plugin-catalog-backend/@backstage/backend-common/archiver/zip-stream/compress-commons": ["compress-commons@6.0.2", "", { "dependencies": { "crc-32": "^1.2.0", "crc32-stream": "^6.0.0", "is-stream": "^2.0.1", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg=="],
-
- "@backstage/plugin-catalog-graph/@backstage/core-components/@testing-library/react/@testing-library/dom/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "@backstage/plugin-catalog-graph/@backstage/core-components/@testing-library/react/@testing-library/dom/aria-query": ["aria-query@5.3.0", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="],
-
- "@backstage/plugin-catalog-graph/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="],
-
- "@backstage/plugin-catalog-import/@backstage/core-components/@testing-library/react/@testing-library/dom/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "@backstage/plugin-catalog-import/@backstage/core-components/@testing-library/react/@testing-library/dom/aria-query": ["aria-query@5.3.0", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="],
-
- "@backstage/plugin-catalog-import/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="],
-
- "@backstage/plugin-catalog-react/@backstage/core-components/@testing-library/react/@testing-library/dom/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "@backstage/plugin-catalog-react/@backstage/core-components/@testing-library/react/@testing-library/dom/aria-query": ["aria-query@5.3.0", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="],
-
- "@backstage/plugin-catalog-react/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="],
-
- "@backstage/plugin-catalog/@backstage/core-components/@testing-library/react/@testing-library/dom/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "@backstage/plugin-catalog/@backstage/core-components/@testing-library/react/@testing-library/dom/aria-query": ["aria-query@5.3.0", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="],
-
- "@backstage/plugin-catalog/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="],
-
- "@backstage/plugin-home-react/@backstage/core-components/@testing-library/react/@testing-library/dom/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "@backstage/plugin-home-react/@backstage/core-components/@testing-library/react/@testing-library/dom/aria-query": ["aria-query@5.3.0", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="],
-
- "@backstage/plugin-home-react/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="],
-
- "@backstage/plugin-home/@backstage/core-compat-api/@backstage/frontend-plugin-api/@backstage/core-components/@backstage/theme": ["@backstage/theme@0.6.8", "", { "dependencies": { "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@mui/material": "^5.12.2" }, "peerDependencies": { "@material-ui/core": "^4.12.2", "@types/react": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.3.0" }, "optionalPeers": ["@types/react"] }, "sha512-hNUoOjirVIVht6GbDFt6vEej4hA7Kq3trJmyWhKuAKndPD+azjhzMOnGM7Rzj5qIkJeCNB6qcC89+NV6no1HzA=="],
-
- "@backstage/plugin-home/@backstage/core-compat-api/@backstage/frontend-plugin-api/@backstage/core-components/@testing-library/react": ["@testing-library/react@16.3.1", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "@testing-library/dom": "^10.0.0", "@types/react": "^18.0.0 || ^19.0.0", "@types/react-dom": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-gr4KtAWqIOQoucWYD/f6ki+j5chXfcPc74Col/6poTyqTmn7zRmodWahWRCp8tYd+GMqBonw6hstNzqjbs6gjw=="],
-
- "@backstage/plugin-permission-node/@backstage/backend-common/archiver/archiver-utils/glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="],
-
- "@backstage/plugin-permission-node/@backstage/backend-common/archiver/zip-stream/compress-commons": ["compress-commons@6.0.2", "", { "dependencies": { "crc-32": "^1.2.0", "crc32-stream": "^6.0.0", "is-stream": "^2.0.1", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg=="],
-
- "@backstage/plugin-proxy-backend/@backstage/backend-common/archiver/archiver-utils/glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="],
-
- "@backstage/plugin-proxy-backend/@backstage/backend-common/archiver/zip-stream/compress-commons": ["compress-commons@6.0.2", "", { "dependencies": { "crc-32": "^1.2.0", "crc32-stream": "^6.0.0", "is-stream": "^2.0.1", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg=="],
-
- "@backstage/plugin-search-react/@backstage/core-components/@testing-library/react/@testing-library/dom/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "@backstage/plugin-search-react/@backstage/core-components/@testing-library/react/@testing-library/dom/aria-query": ["aria-query@5.3.0", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="],
-
- "@backstage/plugin-search-react/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="],
-
- "@backstage/plugin-search/@backstage/core-components/@testing-library/react/@testing-library/dom/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "@backstage/plugin-search/@backstage/core-components/@testing-library/react/@testing-library/dom/aria-query": ["aria-query@5.3.0", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="],
-
- "@backstage/plugin-search/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="],
-
- "@backstage/plugin-techdocs-react/@backstage/core-components/@testing-library/react/@testing-library/dom/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "@backstage/plugin-techdocs-react/@backstage/core-components/@testing-library/react/@testing-library/dom/aria-query": ["aria-query@5.3.0", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="],
-
- "@backstage/plugin-techdocs-react/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="],
-
- "@backstage/test-utils/@testing-library/react/@testing-library/dom/pretty-format/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
-
- "@backstage/test-utils/@testing-library/react/@testing-library/dom/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="],
-
- "@istanbuljs/load-nyc-config/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="],
-
- "@manypkg/find-root/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="],
-
- "eslint-formatter-friendly/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="],
-
- "eslint-plugin-jest/@typescript-eslint/utils/@typescript-eslint/scope-manager/@typescript-eslint/visitor-keys/eslint-visitor-keys": ["eslint-visitor-keys@4.2.1", "", {}, "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ=="],
-
- "eslint-plugin-jest/@typescript-eslint/utils/@typescript-eslint/typescript-estree/@typescript-eslint/visitor-keys/eslint-visitor-keys": ["eslint-visitor-keys@4.2.1", "", {}, "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ=="],
-
- "pkg-dir/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="],
-
- "pkg-up/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="],
-
- "@backstage/app-defaults/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
-
- "@backstage/app-defaults/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="],
-
- "@backstage/frontend-defaults/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
-
- "@backstage/frontend-defaults/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="],
-
- "@backstage/plugin-app-backend/@backstage/backend-common/archiver/archiver-utils/glob/minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="],
-
- "@backstage/plugin-app-backend/@backstage/backend-common/archiver/zip-stream/compress-commons/crc32-stream": ["crc32-stream@6.0.0", "", { "dependencies": { "crc-32": "^1.2.0", "readable-stream": "^4.0.0" } }, "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g=="],
-
- "@backstage/plugin-app/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
-
- "@backstage/plugin-app/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="],
-
- "@backstage/plugin-auth-node/@backstage/backend-common/archiver/archiver-utils/glob/minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="],
-
- "@backstage/plugin-auth-node/@backstage/backend-common/archiver/zip-stream/compress-commons/crc32-stream": ["crc32-stream@6.0.0", "", { "dependencies": { "crc-32": "^1.2.0", "readable-stream": "^4.0.0" } }, "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g=="],
-
- "@backstage/plugin-catalog-backend/@backstage/backend-common/archiver/archiver-utils/glob/minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="],
-
- "@backstage/plugin-catalog-backend/@backstage/backend-common/archiver/zip-stream/compress-commons/crc32-stream": ["crc32-stream@6.0.0", "", { "dependencies": { "crc-32": "^1.2.0", "readable-stream": "^4.0.0" } }, "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g=="],
-
- "@backstage/plugin-catalog-graph/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
-
- "@backstage/plugin-catalog-graph/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="],
-
- "@backstage/plugin-catalog-import/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
-
- "@backstage/plugin-catalog-import/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="],
-
- "@backstage/plugin-catalog-react/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
-
- "@backstage/plugin-catalog-react/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="],
-
- "@backstage/plugin-catalog/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
-
- "@backstage/plugin-catalog/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="],
-
- "@backstage/plugin-home-react/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
-
- "@backstage/plugin-home-react/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="],
-
- "@backstage/plugin-home/@backstage/core-compat-api/@backstage/frontend-plugin-api/@backstage/core-components/@testing-library/react/@testing-library/dom": ["@testing-library/dom@10.4.1", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "picocolors": "1.1.1", "pretty-format": "^27.0.2" } }, "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg=="],
-
- "@backstage/plugin-permission-node/@backstage/backend-common/archiver/archiver-utils/glob/minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="],
-
- "@backstage/plugin-permission-node/@backstage/backend-common/archiver/zip-stream/compress-commons/crc32-stream": ["crc32-stream@6.0.0", "", { "dependencies": { "crc-32": "^1.2.0", "readable-stream": "^4.0.0" } }, "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g=="],
-
- "@backstage/plugin-proxy-backend/@backstage/backend-common/archiver/archiver-utils/glob/minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="],
-
- "@backstage/plugin-proxy-backend/@backstage/backend-common/archiver/zip-stream/compress-commons/crc32-stream": ["crc32-stream@6.0.0", "", { "dependencies": { "crc-32": "^1.2.0", "readable-stream": "^4.0.0" } }, "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g=="],
-
- "@backstage/plugin-search-react/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
-
- "@backstage/plugin-search-react/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="],
-
- "@backstage/plugin-search/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
-
- "@backstage/plugin-search/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="],
-
- "@backstage/plugin-techdocs-react/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
-
- "@backstage/plugin-techdocs-react/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="],
-
- "@backstage/plugin-home/@backstage/core-compat-api/@backstage/frontend-plugin-api/@backstage/core-components/@testing-library/react/@testing-library/dom/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="],
-
- "@backstage/plugin-home/@backstage/core-compat-api/@backstage/frontend-plugin-api/@backstage/core-components/@testing-library/react/@testing-library/dom/aria-query": ["aria-query@5.3.0", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="],
-
- "@backstage/plugin-home/@backstage/core-compat-api/@backstage/frontend-plugin-api/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="],
-
- "@backstage/plugin-home/@backstage/core-compat-api/@backstage/frontend-plugin-api/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
-
- "@backstage/plugin-home/@backstage/core-compat-api/@backstage/frontend-plugin-api/@backstage/core-components/@testing-library/react/@testing-library/dom/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="],
- }
-}
diff --git a/backstage-server/bunfig.toml b/backstage-server/bunfig.toml
deleted file mode 100644
index d9661d42..00000000
--- a/backstage-server/bunfig.toml
+++ /dev/null
@@ -1,5 +0,0 @@
-[install]
-minimumReleaseAge = 604800
-
-[test]
-preload = ["./packages/app/src/test/setup.ts"]
diff --git a/backstage-server/e2e/README.md b/backstage-server/e2e/README.md
deleted file mode 100644
index ee8a4802..00000000
--- a/backstage-server/e2e/README.md
+++ /dev/null
@@ -1,213 +0,0 @@
-# E2E Testing Guide
-
-This directory contains end-to-end tests for the Backstage server using Playwright.
-
-## Overview
-
-The tests verify:
-- **Health endpoints**: `/health` and `/api/status`
-- **Catalog page**: Page loads, headers, view toggle functionality
-- **Issue Types page**: Page loads, headers, action buttons, navigation
-- **Plugins page**: Page loads, plugin table, metadata display
-
-## Running Tests
-
-### Local Development
-
-```bash
-# Build and run tests with binary (recommended)
-bun run build
-USE_BINARY=true bun run test:e2e
-
-# Or run from source (requires frontend build)
-bun run build:frontend
-bun run build:embeds
-bun run test:e2e
-```
-
-### Quick Commands
-
-```bash
-# Full build and test
-bun run build && USE_BINARY=true bun run test:e2e
-
-# Run specific test file
-USE_BINARY=true bunx playwright test e2e/catalog.spec.ts
-
-# Run with UI mode for debugging
-USE_BINARY=true bunx playwright test --ui
-
-# Show test report
-bunx playwright show-report
-```
-
-## CI Configuration
-
-The CI workflow (`.github/workflows/backstage.yaml`) runs e2e tests as follows:
-
-1. **Build job**: Compiles the binary with `bun run build`
-2. **E2E job**: Downloads the binary artifact and runs tests with `USE_BINARY=true`
-
-The `playwright.config.ts` webServer command:
-```typescript
-command: process.env.USE_BINARY === 'true'
- ? './dist/backstage-server'
- : 'bun run start',
-```
-
-## How the Build System Works
-
-```
-bun run build:frontend → builds packages/app/dist/ (React app)
-bun run build:embeds → generates src/embedded-assets.ts
-bun run build:standalone → compiles binary with embedded frontend
-```
-
-The full `bun run build` runs all three steps.
-
-## Authentication
-
-### How Guest Auth Works
-
-The Backstage frontend uses a guest authentication provider that requires backend support. When a user clicks "Enter" on the login page, the frontend makes API calls to authenticate and obtain a session token.
-
-The standalone Hono server (`src/standalone.ts`) mocks these Backstage auth endpoints:
-
-| Endpoint | Purpose |
-|----------|---------|
-| `GET /api/auth` | Service availability check |
-| `GET /api/auth/providers` | Lists available auth providers |
-| `GET /api/auth/guest` | Guest provider info |
-| `GET /api/auth/guest/users` | Lists available guest users |
-| `GET/POST /api/auth/guest/start` | Initiates guest sign-in, returns token |
-| `GET/POST /api/auth/guest/refresh` | Refreshes session token |
-| `GET /api/auth/.well-known/openid-configuration` | OpenID discovery |
-| `GET /api/auth/.well-known/jwks.json` | JSON Web Key Set |
-
-The mock endpoints return a simple base64-encoded token that satisfies the frontend's auth requirements. This token includes:
-- `sub`: User entity reference (`user:development/guest`)
-- `ent`: Ownership entity refs
-- `iat`/`exp`: Token timestamps
-
-### How Auth is Tested in Playwright
-
-Since Backstage guest auth stores identity in memory (not cookies or localStorage), authentication doesn't persist across page navigations in Playwright. Each test handles this with the `gotoWithAuth()` helper:
-
-```typescript
-// e2e/auth.ts
-export async function gotoWithAuth(page: Page, path: string): Promise {
- await page.goto(path);
- await loginAsGuest(page);
-}
-
-export async function loginAsGuest(page: Page): Promise {
- const enterButton = page.getByRole('button', { name: 'Enter' });
- try {
- await enterButton.waitFor({ state: 'visible', timeout: 3000 });
- await enterButton.click();
- await expect(enterButton).not.toBeVisible({ timeout: 10000 });
- await page.waitForTimeout(500);
- } catch {
- // Not on login page - already authenticated
- }
-}
-```
-
-**How it works:**
-1. Navigate to the target page (e.g., `/catalog`)
-2. Check if the "Enter" button (guest login) is visible
-3. If visible, click it and wait for login to complete
-4. If not visible, assume already authenticated and continue
-
-**Why this approach:**
-- Backstage stores auth state in React context (memory), not browser storage
-- Each Playwright test gets a fresh browser context
-- Global setup with `storageState` doesn't work because there's nothing to persist
-- Per-navigation auth handling ensures each test can authenticate reliably
-
-### Test Usage
-
-Tests use `gotoWithAuth()` instead of `page.goto()`:
-
-```typescript
-test('displays Repositories header', async ({ page }) => {
- await gotoWithAuth(page, '/catalog'); // Handles auth automatically
- await expect(page.getByRole('heading', { name: 'Repositories' })).toBeVisible();
-});
-```
-
-### Debugging Auth Issues
-
-If tests fail with auth errors:
-
-1. **Check the login page appears**: The test should see the "Enter" button
-2. **Check the mock endpoints**: Server logs will show auth API calls
-3. **Check the token format**: Frontend expects specific response structure
-4. **Check timing**: Login may need more time to complete (adjust timeouts)
-
-To debug, run with headed mode:
-```bash
-USE_BINARY=true bunx playwright test --headed --debug
-```
-
-## Test Structure
-
-```
-e2e/
-├── auth.ts # Authentication helper (gotoWithAuth)
-├── health.spec.ts # API health check tests
-├── catalog.spec.ts # Catalog page tests
-├── issuetypes.spec.ts # Issue Types page tests
-├── plugins.spec.ts # Plugins page tests
-└── README.md # This file
-```
-
-## Troubleshooting
-
-### Tests fail with "element not found"
-
-1. **Check if frontend is embedded**: Run the binary and visit http://localhost:7007/
- - If you see a status page instead of the React app, the frontend isn't embedded
- - Rebuild with `bun run build`
-
-2. **Verify assets exist**:
- ```bash
- ls -la src/assets/ # Should have static files
- ls -la packages/app/dist/ # Should have built React app
- cat src/embedded-assets.ts # Should import from ./assets/
- ```
-
-### Tests fail with auth errors
-
-The standalone server mocks Backstage's guest auth. If auth fails:
-
-1. Check the server logs for auth endpoint calls
-2. Verify the frontend is using the expected auth flow
-3. The mock endpoints are in `src/standalone.ts`
-
-### Tests fail in CI
-
-1. **Check artifact download**: Ensure the binary artifact is downloaded correctly
-2. **Check executable permission**: Binary needs `chmod +x`
-3. **Check environment variable**: `USE_BINARY=true` must be set
-
-## Key Files
-
-| File | Purpose |
-|------|---------|
-| `playwright.config.ts` | Test configuration, webServer command |
-| `src/standalone.ts` | Standalone server with auth endpoints |
-| `src/embedded-assets.ts` | Generated file with frontend imports |
-| `packages/app/dist/` | Built React frontend |
-| `.github/workflows/backstage.yaml` | CI workflow |
-
-## Expected Test Behavior
-
-### Health tests (no auth required):
-- `GET /health` → `{ "status": "ok" }`
-- `GET /api/status` → `{ "status": "running", "mode": "standalone" }`
-
-### UI tests (require guest auth):
-- `/catalog` → Repositories heading, view toggle
-- `/issuetypes` → Issue Types heading, Create/Collections buttons
-- `/plugins` → Installed Plugins table with catalog, search, issuetypes
diff --git a/backstage-server/e2e/auth.ts b/backstage-server/e2e/auth.ts
deleted file mode 100644
index 6f44c688..00000000
--- a/backstage-server/e2e/auth.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { Page, expect } from '@playwright/test';
-
-/**
- * Handle Backstage guest authentication
- *
- * Backstage guest auth stores identity in memory (not cookies/storage),
- * so we need to handle login on each page navigation.
- *
- * This function:
- * 1. Checks if we're on the login page
- * 2. If so, clicks "Enter" to login as guest
- * 3. Waits for the login to complete
- */
-export async function loginAsGuest(page: Page): Promise {
- const enterButton = page.getByRole('button', { name: 'Enter' });
-
- try {
- // Short timeout - we just need to check if login button exists
- await enterButton.waitFor({ state: 'visible', timeout: 3000 });
- await enterButton.click();
-
- // Wait for the login page to disappear (redirected to content)
- await expect(enterButton).not.toBeVisible({ timeout: 10000 });
-
- // Give the app time to initialize after login
- await page.waitForTimeout(500);
- } catch {
- // Not on login page - already authenticated or different page
- }
-}
-
-/**
- * Navigate to a page and handle authentication
- *
- * Use this instead of bare `page.goto()` for protected pages.
- * Handles the login redirect if needed.
- */
-export async function gotoWithAuth(page: Page, path: string): Promise {
- await page.goto(path);
- await loginAsGuest(page);
-}
diff --git a/backstage-server/e2e/catalog.spec.ts b/backstage-server/e2e/catalog.spec.ts
deleted file mode 100644
index a4bbd25b..00000000
--- a/backstage-server/e2e/catalog.spec.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { test, expect } from '@playwright/test';
-import { gotoWithAuth } from './auth';
-
-test.describe('Catalog Page', () => {
- test('loads catalog page', async ({ page }) => {
- await gotoWithAuth(page, '/catalog');
-
- // Wait for the page to load
- await expect(page).toHaveURL(/.*catalog/);
-
- // Check for main content - Repositories heading
- await expect(page.getByRole('heading', { name: 'Repositories' })).toBeVisible();
- });
-
- test('displays Repositories header', async ({ page }) => {
- await gotoWithAuth(page, '/catalog');
-
- // Check for the Repositories header (from OperatorCatalogPage)
- await expect(page.getByRole('heading', { name: 'Repositories' })).toBeVisible();
- });
-
- test('can toggle between Operator and Backstage views', async ({ page }) => {
- await gotoWithAuth(page, '/catalog');
-
- // Check for view toggle buttons
- const operatorBtn = page.getByRole('button', { name: /Operator/i });
- const backstageBtn = page.getByRole('button', { name: /Backstage/i });
-
- await expect(operatorBtn).toBeVisible();
- await expect(backstageBtn).toBeVisible();
-
- // Click Backstage view
- await backstageBtn.click();
- await expect(page).toHaveURL(/.*view=backstage/);
-
- // Click Operator view
- await operatorBtn.click();
- await expect(page).not.toHaveURL(/.*view=backstage/);
- });
-});
diff --git a/backstage-server/e2e/health.spec.ts b/backstage-server/e2e/health.spec.ts
deleted file mode 100644
index 26738915..00000000
--- a/backstage-server/e2e/health.spec.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import { test, expect } from '@playwright/test';
-
-test.describe('Health Check', () => {
- test('server health endpoint responds', async ({ request }) => {
- const response = await request.get('/health');
- expect(response.ok()).toBeTruthy();
-
- const body = await response.json();
- expect(body.status).toBe('ok');
- });
-
- test('API status endpoint responds', async ({ request }) => {
- const response = await request.get('/api/status');
- expect(response.ok()).toBeTruthy();
-
- const body = await response.json();
- expect(body.status).toBe('running');
- expect(body.mode).toBe('standalone');
- });
-});
diff --git a/backstage-server/e2e/issuetypes.spec.ts b/backstage-server/e2e/issuetypes.spec.ts
deleted file mode 100644
index e7784920..00000000
--- a/backstage-server/e2e/issuetypes.spec.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { test, expect } from '@playwright/test';
-import { gotoWithAuth } from './auth';
-
-test.describe('Issue Types Page', () => {
- test('loads issue types page', async ({ page }) => {
- await gotoWithAuth(page, '/issuetypes');
-
- // Wait for the page to load
- await expect(page).toHaveURL(/.*issuetypes/);
-
- // Check for main Issue Types heading
- await expect(page.getByRole('heading', { name: 'Issue Types', level: 1 })).toBeVisible();
- });
-
- test('displays Issue Types header', async ({ page }) => {
- await gotoWithAuth(page, '/issuetypes');
-
- // Check for the Issue Types header (h1, not h2 subtitle)
- await expect(page.getByRole('heading', { name: 'Issue Types', level: 1 })).toBeVisible();
- });
-
- test('displays action buttons', async ({ page }) => {
- await gotoWithAuth(page, '/issuetypes');
-
- // Check for action buttons
- const createBtn = page.getByRole('button', { name: 'Create Issue Type' });
- const collectionsBtn = page.getByRole('button', { name: 'Collections' });
-
- // Both should be visible when page loads
- await expect(createBtn).toBeVisible({ timeout: 10000 });
- await expect(collectionsBtn).toBeVisible({ timeout: 10000 });
- });
-
- test('navigates to collections page', async ({ page }) => {
- await gotoWithAuth(page, '/issuetypes/collections');
-
- await expect(page).toHaveURL(/.*issuetypes\/collections/);
- // Check for main Collections heading (h1)
- await expect(page.getByRole('heading', { name: 'Collections', level: 1 })).toBeVisible();
- });
-});
diff --git a/backstage-server/e2e/plugins.spec.ts b/backstage-server/e2e/plugins.spec.ts
deleted file mode 100644
index 060c0199..00000000
--- a/backstage-server/e2e/plugins.spec.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-import { test, expect } from '@playwright/test';
-import { gotoWithAuth } from './auth';
-
-test.describe('Plugins Page', () => {
- test('loads plugins page', async ({ page }) => {
- await gotoWithAuth(page, '/plugins');
-
- // Wait for the page to load
- await expect(page).toHaveURL(/.*plugins/);
-
- // Check for the Installed Plugins header
- await expect(page.getByRole('heading', { name: 'Installed Plugins' })).toBeVisible();
- });
-
- test('displays Installed Plugins header', async ({ page }) => {
- await gotoWithAuth(page, '/plugins');
-
- // Check for the Installed Plugins header
- await expect(page.getByRole('heading', { name: 'Installed Plugins' })).toBeVisible();
- });
-
- test('displays plugin table with installed plugins', async ({ page }) => {
- await gotoWithAuth(page, '/plugins');
-
- // Check that the plugins table is visible
- await expect(page.getByRole('table')).toBeVisible();
-
- // Check that known plugins are listed (using table cells for specificity)
- await expect(page.getByRole('cell', { name: 'catalog', exact: true })).toBeVisible();
- await expect(page.getByRole('cell', { name: 'search', exact: true })).toBeVisible();
- await expect(page.getByRole('cell', { name: 'issuetypes', exact: true })).toBeVisible();
- });
-
- test('displays plugin metadata', async ({ page }) => {
- await gotoWithAuth(page, '/plugins');
-
- // Check for plugin descriptions in table cells
- await expect(page.getByRole('cell', { name: /Software catalog/i })).toBeVisible();
- await expect(page.getByRole('cell', { name: /Full-text search/i })).toBeVisible();
- await expect(page.getByRole('cell', { name: /Manage issue types/i })).toBeVisible();
- });
-});
diff --git a/backstage-server/global.d.ts b/backstage-server/global.d.ts
deleted file mode 100644
index 3d673e2e..00000000
--- a/backstage-server/global.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-declare module '*.module.css' {
- const classes: { [key: string]: string };
- export default classes;
-}
diff --git a/backstage-server/knip.json b/backstage-server/knip.json
deleted file mode 100644
index 4ca5f809..00000000
--- a/backstage-server/knip.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "$schema": "https://unpkg.com/knip@5/schema.json",
- "workspaces": {
- ".": {},
- "packages/app": {
- "entry": ["src/index.tsx"]
- },
- "packages/backend": {
- "entry": ["src/index.ts"]
- },
- "packages/plugins/plugin-issuetypes": {}
- },
- "ignore": [
- "**/*.d.ts",
- "**/dist/**",
- "**/__tests__/test-utils/**",
- "src/embedded-assets.ts",
- "src/standalone.ts",
- "packages/app/src/test/setup.ts",
- "packages/app/src/components/kanban/types.ts"
- ],
- "ignoreDependencies": [
- "@backstage/*",
- "raw-loader",
- "@happy-dom/global-registrator",
- "happy-dom"
- ],
- "ignoreExportsUsedInFile": true
-}
diff --git a/backstage-server/package.json b/backstage-server/package.json
deleted file mode 100644
index 4f6b1e88..00000000
--- a/backstage-server/package.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "name": "operator-backstage",
- "version": "0.2.2",
- "author": {
- "name": "Samuel Volin",
- "email": "untra.sam@gmail.com",
- "url": "https://untra.io"
- },
- "private": true,
- "engines": {
- "node": ">=18"
- },
- "scripts": {
- "dev": "bun run --hot src/standalone.ts",
- "start": "bun run src/standalone.ts",
- "build": "bun run build:frontend && bun run build:embeds && bun run build:standalone",
- "build:dev": "bun run build:frontend && bun run build:embeds && bun run build:standalone:dev",
- "build:embeds": "bun run scripts/generate-embeds.ts",
- "build:standalone": "bun build --compile --minify --asset-naming '[dir]/[name].[ext]' src/standalone.ts --outfile dist/backstage-server",
- "build:standalone:dev": "bun build --compile --asset-naming '[dir]/[name].[ext]' src/standalone.ts --outfile dist/backstage-server",
- "build:backstage": "bun run build:frontend && bun run build:backend && bun run build:plugin",
- "build:frontend": "cd packages/app && backstage-cli package build",
- "build:backend": "cd packages/backend && backstage-cli package build",
- "build:plugin": "cd packages/plugins/plugin-issuetypes && backstage-cli package build",
- "lint": "eslint packages/*/src packages/plugins/*/src src --ext .ts,.tsx",
- "lint:fix": "eslint packages/*/src packages/plugins/*/src src --ext .ts,.tsx --fix",
- "lint:app": "eslint packages/app/src --ext .ts,.tsx",
- "lint:backend": "eslint packages/backend/src --ext .ts,.tsx",
- "lint:plugins": "eslint packages/plugins/*/src --ext .ts,.tsx",
- "typecheck": "tsc --noEmit",
- "test": "bun test packages",
- "test:ci": "bun test packages --coverage",
- "test:app": "bun test packages/app",
- "test:backend": "bun test packages/backend",
- "test:plugins": "bun test packages/plugins",
- "test:e2e": "playwright test",
- "test:e2e:ui": "playwright test --ui",
- "test:e2e:headed": "playwright test --headed",
- "knip": "knip"
- },
- "workspaces": {
- "packages": [
- "packages/*",
- "packages/plugins/*"
- ]
- },
- "devDependencies": {
- "@backstage/cli": "^0.27.0",
- "@happy-dom/global-registrator": "^20.0.11",
- "@playwright/test": "^1.40.0",
- "@types/node": "^20",
- "@types/react": "^18",
- "@types/react-dom": "^18",
- "@typescript-eslint/eslint-plugin": "^7.0.0",
- "@typescript-eslint/parser": "^7.0.0",
- "bun-types": "^1.0.0",
- "eslint": "^8.57.0",
- "eslint-plugin-react": "^7.34.0",
- "eslint-plugin-react-hooks": "^4.6.0",
- "knip": "^5.0.0",
- "typescript": "^5.0.0"
- },
- "resolutions": {
- "@types/react": "^18"
- },
- "overrides": {
- "better-sqlite3": "npm:empty-npm-package@1.0.0",
- "isolated-vm": "npm:empty-npm-package@1.0.0"
- },
- "dependencies": {
- "hono": "^4.11.2"
- }
-}
diff --git a/backstage-server/packages/app/package.json b/backstage-server/packages/app/package.json
deleted file mode 100644
index c17335b3..00000000
--- a/backstage-server/packages/app/package.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "name": "app",
- "version": "0.0.0",
- "private": true,
- "bundled": true,
- "backstage": {
- "role": "frontend"
- },
- "scripts": {
- "start": "backstage-cli package start",
- "build": "backstage-cli package build"
- },
- "dependencies": {
- "@backstage/app-defaults": "^1.5.0",
- "@backstage/catalog-client": "^1.6.0",
- "@backstage/catalog-model": "^1.6.0",
- "@backstage/core-app-api": "^1.14.0",
- "@backstage/core-components": "^0.14.0",
- "@backstage/core-plugin-api": "^1.9.0",
- "@backstage/frontend-defaults": "^0.3.4",
- "@backstage/frontend-plugin-api": "^0.13.2",
- "@backstage/plugin-catalog": "^1.21.0",
- "@backstage/plugin-catalog-graph": "^0.4.0",
- "@backstage/plugin-catalog-import": "^0.12.0",
- "@backstage/plugin-catalog-react": "^1.12.0",
- "@backstage/plugin-home": "^0.7.0",
- "@backstage/plugin-search": "^1.4.0",
- "@backstage/plugin-search-react": "^1.7.0",
- "@backstage/theme": "^0.5.0",
- "@backstage/ui": "^0.10.0",
- "@material-ui/core": "^4.12.4",
- "@material-ui/icons": "^4.11.3",
- "@operator/plugin-issuetypes": "workspace:*",
- "@remixicon/react": "^4.7.0",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
- "react-router-dom": "^6.0.0",
- "@tanstack/react-query": "^5.0.0"
- },
- "devDependencies": {
- "@backstage/cli": "^0.27.0",
- "@testing-library/react": "^14.0.0",
- "msw": "^2.0.0",
- "happy-dom": "^13.0.0",
- "raw-loader": "^4.0.2"
- }
-}
diff --git a/backstage-server/packages/app/src/App.tsx b/backstage-server/packages/app/src/App.tsx
deleted file mode 100644
index e69b4529..00000000
--- a/backstage-server/packages/app/src/App.tsx
+++ /dev/null
@@ -1,120 +0,0 @@
-/**
- * Operator Backstage Frontend
- *
- * Full Backstage portal with Home, Catalog, Search, and Issue Types.
- * Uses custom theming based on Operator's branding configuration.
- *
- * This app uses a hybrid approach for incremental migration to the new
- * frontend system. Legacy plugins (catalog, search) work alongside the
- * new Blueprint-based plugin-issuetypes/alpha.
- *
- * Migration status:
- * - [x] plugin-issuetypes: Migrated to Blueprints (alpha.ts)
- * - [ ] catalog: Using legacy system
- * - [ ] search: Using legacy system
- * - [ ] home: Using legacy system
- */
-
-import React from 'react';
-import { Route } from 'react-router-dom';
-import { createApp } from '@backstage/app-defaults';
-import { FlatRoutes } from '@backstage/core-app-api';
-import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
-import {
- CatalogEntityPage,
- catalogPlugin,
-} from '@backstage/plugin-catalog';
-import { searchPlugin, SearchPage } from '@backstage/plugin-search';
-import {
- issueTypesPlugin,
- IssueTypesPage,
- IssueTypeDetailPage,
- IssueTypeFormPage,
- CollectionsPage,
-} from '@operator/plugin-issuetypes';
-
-import { Root } from './components/Root/Root';
-import { HomePage } from './components/home/HomePage';
-import { entityPage } from './components/catalog/EntityPage';
-import { OperatorCatalogPage } from './components/catalog/OperatorCatalogPage';
-import { PluginsPage } from './components/plugins';
-import { KanbanBoardPage } from './components/kanban';
-import apis from './apis';
-import { OperatorThemeProvider } from './theme';
-
-const app = createApp({
- apis,
- plugins: [catalogPlugin, searchPlugin, issueTypesPlugin],
-});
-
-const AppProvider = app.getProvider();
-const AppRouter = app.getRouter();
-
-// Query client for server state management
-const queryClient = new QueryClient({
- defaultOptions: {
- queries: {
- // Retry once on failure
- retry: 1,
- // Keep data fresh for 30 seconds
- staleTime: 30000,
- },
- },
-});
-
-const routes = (
-
- {/* Home */}
- } />
-
- {/* Catalog - with Operator view toggle */}
- } />
- }>
- {entityPage()}
-
-
- {/* Search */}
- } />
-
- {/* Plugins */}
- } />
-
- {/* Kanban Board */}
- } />
-
- {/* Issue Types - flat routes (no nesting, each page is independent) */}
- } />
- } />
- } />
- } />
- } />
-
-);
-
-export default function App() {
- return (
-
-
-
-
-
- {routes}
-
-
-
-
-
- );
-}
-
-/**
- * New Frontend System App (for future full migration)
- *
- * This export provides a path to fully migrate to the new frontend system.
- * When ready, replace the default export with createNewApp().createRoot().
- *
- * Example usage in index.tsx:
- * import { createNewApp } from './App';
- * ReactDOM.createRoot(rootEl).render(createNewApp().createRoot());
- */
-export { createNewApp } from './AppNew';
diff --git a/backstage-server/packages/app/src/AppNew.tsx b/backstage-server/packages/app/src/AppNew.tsx
deleted file mode 100644
index a1835c88..00000000
--- a/backstage-server/packages/app/src/AppNew.tsx
+++ /dev/null
@@ -1,199 +0,0 @@
-/**
- * New Frontend System App
- *
- * This module provides a fully migrated Backstage app using the new
- * frontend system with extension-based architecture.
- *
- * To use this app, update index.tsx:
- * import { createNewApp } from './AppNew';
- * ReactDOM.createRoot(rootEl).render(createNewApp().createRoot());
- *
- * Or enable via environment variable:
- * REACT_APP_USE_NEW_FRONTEND=true
- */
-
-import React from 'react';
-import { createApp } from '@backstage/frontend-defaults';
-import {
- PageBlueprint,
- NavItemBlueprint,
- ApiBlueprint,
- createFrontendModule,
- createRouteRef,
-} from '@backstage/frontend-plugin-api';
-import {
- discoveryApiRef,
- fetchApiRef,
-} from '@backstage/core-plugin-api';
-import {
- catalogApiRef,
- starredEntitiesApiRef,
- MockStarredEntitiesApi,
-} from '@backstage/plugin-catalog-react';
-import { CatalogClient } from '@backstage/catalog-client';
-
-// Import the new frontend system version of our plugin
-import issueTypesPlugin from '@operator/plugin-issuetypes/alpha';
-
-// Import homepage extensions
-import {
- homeRouteRef,
- homepageExtensions,
-} from './extensions';
-
-// Route references for custom pages (homepage has its own)
-const catalogRouteRef = createRouteRef();
-const pluginsRouteRef = createRouteRef();
-const boardRouteRef = createRouteRef();
-
-const operatorCatalogPageExtension = PageBlueprint.make({
- name: 'operator-catalog',
- params: {
- path: '/catalog',
- routeRef: catalogRouteRef,
- loader: () =>
- import('./components/catalog/OperatorCatalogPage').then(m => (
-
- )),
- },
-});
-
-const pluginsPageExtension = PageBlueprint.make({
- name: 'plugins',
- params: {
- path: '/plugins',
- routeRef: pluginsRouteRef,
- loader: () =>
- import('./components/plugins').then(m => ),
- },
-});
-
-const boardPageExtension = PageBlueprint.make({
- name: 'board',
- params: {
- path: '/board',
- routeRef: boardRouteRef,
- loader: () =>
- import('./components/kanban').then(m => ),
- },
-});
-
-// Navigation items
-const HomeIcon = () => (
-
-);
-
-const CatalogIcon = () => (
-
-);
-
-const PluginsIcon = () => (
-
-);
-
-const homeNavItem = NavItemBlueprint.make({
- name: 'home',
- params: {
- title: 'Home',
- routeRef: homeRouteRef,
- icon: HomeIcon,
- },
-});
-
-const catalogNavItem = NavItemBlueprint.make({
- name: 'catalog',
- params: {
- title: 'Catalog',
- routeRef: catalogRouteRef,
- icon: CatalogIcon,
- },
-});
-
-const pluginsNavItem = NavItemBlueprint.make({
- name: 'plugins',
- params: {
- title: 'Plugins',
- routeRef: pluginsRouteRef,
- icon: PluginsIcon,
- },
-});
-
-const BoardIcon = () => (
-
-);
-
-const boardNavItem = NavItemBlueprint.make({
- name: 'board',
- params: {
- title: 'Board',
- routeRef: boardRouteRef,
- icon: BoardIcon,
- },
-});
-
-// Catalog API extension - provides catalog service for catalog components
-const catalogApi = ApiBlueprint.make({
- name: 'catalog-api',
- params: defineParams =>
- defineParams({
- api: catalogApiRef,
- deps: { discoveryApi: discoveryApiRef, fetchApi: fetchApiRef },
- factory: ({ discoveryApi, fetchApi }) =>
- new CatalogClient({ discoveryApi, fetchApi }),
- }),
-});
-
-// Starred Entities API - provides in-memory starred entity storage
-const starredEntitiesApi = ApiBlueprint.make({
- name: 'starred-entities-api',
- params: defineParams =>
- defineParams({
- api: starredEntitiesApiRef,
- deps: {},
- factory: () => new MockStarredEntitiesApi(),
- }),
-});
-
-// Custom module for Operator-specific extensions
-const operatorAppModule = createFrontendModule({
- pluginId: 'app',
- extensions: [
- // APIs
- catalogApi,
- starredEntitiesApi,
- // Homepage (page + widgets)
- ...homepageExtensions,
- // Other pages
- operatorCatalogPageExtension,
- pluginsPageExtension,
- boardPageExtension,
- // Navigation
- homeNavItem,
- catalogNavItem,
- pluginsNavItem,
- boardNavItem,
- ],
-});
-
-/**
- * Create the new frontend system app
- */
-export function createNewApp() {
- return createApp({
- features: [
- // Custom plugins
- issueTypesPlugin,
- // App module with custom pages and nav
- operatorAppModule,
- ],
- });
-}
-
diff --git a/backstage-server/packages/app/src/__tests__/smoke.test.ts b/backstage-server/packages/app/src/__tests__/smoke.test.ts
deleted file mode 100644
index 9136166c..00000000
--- a/backstage-server/packages/app/src/__tests__/smoke.test.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { describe, test, expect } from 'bun:test';
-
-describe('app smoke tests', () => {
- test('app package exists', () => {
- // Placeholder: App component requires browser environment (window, document)
- // Backstage components use browser APIs that aren't available in Bun test
- // Add React Testing Library with jsdom when component testing is needed
- expect(true).toBe(true);
- });
-});
diff --git a/backstage-server/packages/app/src/api/queries.ts b/backstage-server/packages/app/src/api/queries.ts
deleted file mode 100644
index 1aec4517..00000000
--- a/backstage-server/packages/app/src/api/queries.ts
+++ /dev/null
@@ -1,131 +0,0 @@
-/**
- * API Query Functions
- *
- * Centralized fetch functions for use with TanStack Query.
- * Each function handles its own error throwing for proper error propagation.
- */
-
-import { useQuery } from '@tanstack/react-query';
-import type { KanbanBoardResponse } from '../components/kanban/types';
-
-// ============================================================================
-// Types
-// ============================================================================
-
-export interface Agent {
- id: string;
- ticket_id: string;
- ticket_type: string;
- project: string;
- status: string;
- mode: string;
- started_at: string;
- current_step: string | null;
-}
-
-export interface AgentsResponse {
- agents: Agent[];
- count: number;
-}
-
-export interface QueueStatus {
- queued: number;
- in_progress: number;
- awaiting: number;
- completed: number;
- by_type: {
- inv: number;
- fix: number;
- feat: number;
- spike: number;
- };
-}
-
-export interface IssueType {
- key: string;
- name: string;
- mode: string;
- collection?: string;
-}
-
-// ============================================================================
-// Query Keys
-// ============================================================================
-
-export const queryKeys = {
- kanbanBoard: ['kanban-board'] as const,
- activeAgents: ['active-agents'] as const,
- queueStatus: ['queue-status'] as const,
- issueTypes: ['issue-types'] as const,
-};
-
-// ============================================================================
-// Fetch Functions
-// ============================================================================
-
-async function fetchKanbanBoard(): Promise {
- const response = await fetch('/api/proxy/operator/api/v1/queue/kanban');
- if (!response.ok) {
- throw new Error(`Failed to fetch kanban board: ${response.status}`);
- }
- return response.json();
-}
-
-async function fetchActiveAgents(): Promise {
- const response = await fetch('/api/proxy/operator/api/v1/agents/active');
- if (!response.ok) {
- throw new Error(`Failed to fetch active agents: ${response.status}`);
- }
- return response.json();
-}
-
-async function fetchQueueStatus(): Promise {
- const response = await fetch('/api/proxy/operator/api/v1/queue/status');
- if (!response.ok) {
- throw new Error(`Failed to fetch queue status: ${response.status}`);
- }
- return response.json();
-}
-
-async function fetchIssueTypes(): Promise {
- const response = await fetch('/api/proxy/operator/api/v1/issuetypes');
- if (!response.ok) {
- throw new Error(`Failed to fetch issue types: ${response.status}`);
- }
- return response.json();
-}
-
-// ============================================================================
-// Query Hooks
-// ============================================================================
-
-export function useKanbanBoardQuery() {
- return useQuery({
- queryKey: queryKeys.kanbanBoard,
- queryFn: fetchKanbanBoard,
- refetchInterval: 15000, // 15 seconds
- });
-}
-
-export function useActiveAgentsQuery() {
- return useQuery({
- queryKey: queryKeys.activeAgents,
- queryFn: fetchActiveAgents,
- refetchInterval: 10000, // 10 seconds
- });
-}
-
-export function useQueueStatusQuery() {
- return useQuery({
- queryKey: queryKeys.queueStatus,
- queryFn: fetchQueueStatus,
- refetchInterval: 30000, // 30 seconds
- });
-}
-
-export function useIssueTypesQuery() {
- return useQuery({
- queryKey: queryKeys.issueTypes,
- queryFn: fetchIssueTypes,
- });
-}
diff --git a/backstage-server/packages/app/src/apis.ts b/backstage-server/packages/app/src/apis.ts
deleted file mode 100644
index 52789926..00000000
--- a/backstage-server/packages/app/src/apis.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * API Factories
- *
- * Configures Backstage API clients to work with our Hono backend.
- */
-
-import {
- AnyApiFactory,
- createApiFactory,
- discoveryApiRef,
- fetchApiRef,
-} from '@backstage/core-plugin-api';
-import { catalogApiRef } from '@backstage/plugin-catalog-react';
-import { CatalogClient } from '@backstage/catalog-client';
-
-const apis: AnyApiFactory[] = [
- // Catalog API - uses our Hono backend
- createApiFactory({
- api: catalogApiRef,
- deps: { discoveryApi: discoveryApiRef, fetchApi: fetchApiRef },
- factory: ({ discoveryApi, fetchApi }) =>
- new CatalogClient({ discoveryApi, fetchApi }),
- }),
-];
-
-export default apis;
diff --git a/backstage-server/packages/app/src/components/Root/Root.tsx b/backstage-server/packages/app/src/components/Root/Root.tsx
deleted file mode 100644
index 4a68cb13..00000000
--- a/backstage-server/packages/app/src/components/Root/Root.tsx
+++ /dev/null
@@ -1,150 +0,0 @@
-/**
- * Root Layout Component
- *
- * Provides the sidebar navigation for the Backstage app.
- * Uses dynamic branding from Operator configuration.
- */
-
-import { PropsWithChildren, useState, useEffect } from 'react';
-import { makeStyles } from '@material-ui/core';
-import HomeIcon from '@material-ui/icons/Home';
-import CategoryIcon from '@material-ui/icons/Category';
-import SearchIcon from '@material-ui/icons/Search';
-import AssignmentIcon from '@material-ui/icons/Assignment';
-import ExtensionIcon from '@material-ui/icons/Extension';
-import ViewColumnIcon from '@material-ui/icons/ViewColumn';
-// Tier icons
-import LayersIcon from '@material-ui/icons/Layers'; // Foundation
-import LibraryBooksIcon from '@material-ui/icons/LibraryBooks'; // Standards
-import StorageIcon from '@material-ui/icons/Storage'; // Engines
-import BuildIcon from '@material-ui/icons/Build'; // Ecosystem
-import ArchiveIcon from '@material-ui/icons/Archive'; // Noncurrent
-import {
- Sidebar,
- SidebarDivider,
- SidebarGroup,
- SidebarItem,
- SidebarPage,
- SidebarSpace,
- SidebarSubmenu,
- SidebarSubmenuItem,
- useSidebarOpenState,
-} from '@backstage/core-components';
-import { SidebarSearchModal } from '@backstage/plugin-search';
-import { useOperatorTheme } from '../../theme';
-
-const useSidebarLogoStyles = makeStyles((theme) => ({
- root: {
- width: '100%',
- height: 50,
- display: 'flex',
- alignItems: 'center',
- justifyContent: 'center',
- padding: '0 24px',
- },
- logo: {
- height: 36,
- maxWidth: '100%',
- objectFit: 'contain',
- },
- title: {
- fontSize: '1.2rem',
- fontWeight: 600,
- color: theme.palette.navigation?.color || theme.palette.common.white,
- textDecoration: 'none',
- },
- titleClosed: {
- fontSize: '1rem',
- },
-}));
-
-function SidebarLogo() {
- const classes = useSidebarLogoStyles();
- const { isOpen } = useSidebarOpenState();
- const theme = useOperatorTheme();
- const [logoError, setLogoError] = useState(false);
-
- // Reset logo error when theme changes
- useEffect(() => {
- setLogoError(false);
- }, [theme?.logoPath]);
-
- const appTitle = theme?.appTitle || 'Operator';
- const shortTitle = theme?.orgName?.substring(0, 2) || 'Op';
- const hasLogo = theme?.logoPath && !logoError;
-
- return (
-
- {isOpen && hasLogo ? (
-

setLogoError(true)}
- />
- ) : (
-
- {isOpen ? appTitle : shortTitle}
-
- )}
-
- );
-}
-
-export function Root({ children }: PropsWithChildren) {
- return (
-
-
-
- } to="/search">
-
-
-
- }>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {children}
-
- );
-}
diff --git a/backstage-server/packages/app/src/components/catalog/ApiTypeBadge.tsx b/backstage-server/packages/app/src/components/catalog/ApiTypeBadge.tsx
deleted file mode 100644
index d3a6bf9a..00000000
--- a/backstage-server/packages/app/src/components/catalog/ApiTypeBadge.tsx
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- * API Type Badge Component
- *
- * Displays a colored badge indicating the API type (OpenAPI, gRPC, GraphQL, etc.)
- */
-
-import React from 'react';
-import { Chip, makeStyles } from '@material-ui/core';
-
-// API type color mapping
-const API_TYPE_COLORS: Record = {
- openapi: { background: '#2196F3', text: '#fff' },
- grpc: { background: '#9C27B0', text: '#fff' },
- graphql: { background: '#E91E63', text: '#fff' },
- soap: { background: '#FF9800', text: '#fff' },
- 'json-rpc': { background: '#009688', text: '#fff' },
- asyncapi: { background: '#4CAF50', text: '#fff' },
-};
-
-const DEFAULT_COLOR = { background: '#607D8B', text: '#fff' };
-
-// Human-readable labels for API types
-const API_TYPE_LABELS: Record = {
- openapi: 'OpenAPI',
- grpc: 'gRPC',
- graphql: 'GraphQL',
- soap: 'SOAP',
- 'json-rpc': 'JSON-RPC',
- asyncapi: 'AsyncAPI',
-};
-
-const useStyles = makeStyles({
- badge: {
- height: 20,
- fontSize: '0.7rem',
- fontWeight: 600,
- marginLeft: 8,
- textTransform: 'uppercase',
- letterSpacing: '0.5px',
- },
-});
-
-interface ApiTypeBadgeProps {
- apiType?: string;
- className?: string;
-}
-
-export function ApiTypeBadge({ apiType, className }: ApiTypeBadgeProps) {
- const classes = useStyles();
-
- if (!apiType) {
- return null;
- }
-
- const normalizedType = apiType.toLowerCase();
- const colors = API_TYPE_COLORS[normalizedType] || DEFAULT_COLOR;
- const label = API_TYPE_LABELS[normalizedType] || apiType.toUpperCase();
-
- return (
-
- );
-}
-
-// Check if an entity is an API type
-export function isApiEntity(entity: { kind: string; spec?: Record }): boolean {
- if (entity.kind?.toLowerCase() === 'api') {
- return true;
- }
-
- // Check Operator taxonomy kinds that map to API
- const specType = entity.spec?.type as string | undefined;
- if (specType) {
- const apiTypes = ['proto-sdk', 'api-gateway', 'api'];
- return apiTypes.includes(specType.toLowerCase());
- }
-
- return false;
-}
diff --git a/backstage-server/packages/app/src/components/catalog/EntityPage.tsx b/backstage-server/packages/app/src/components/catalog/EntityPage.tsx
deleted file mode 100644
index ab0e8856..00000000
--- a/backstage-server/packages/app/src/components/catalog/EntityPage.tsx
+++ /dev/null
@@ -1,106 +0,0 @@
-/**
- * Entity Page Component
- *
- * Displays detailed information about a catalog entity.
- */
-
-import React from 'react';
-import { Grid } from '@material-ui/core';
-import {
- EntityAboutCard,
- EntityHasSubcomponentsCard,
- EntityLinksCard,
- EntitySwitch,
- EntityOrphanWarning,
- EntityProcessingErrorsPanel,
- isKind,
-} from '@backstage/plugin-catalog';
-import {
- EntityLayout,
-} from '@backstage/plugin-catalog';
-
-const entityWarningContent = (
- <>
-
- Boolean(e.metadata.annotations?.['backstage.io/orphan'])}>
-
-
-
-
-
-
- Boolean(e.metadata.annotations?.['backstage.io/processing-errors'])}>
-
-
-
-
-
- >
-);
-
-const overviewContent = (
-
- {entityWarningContent}
-
-
-
-
-
-
-
-
-
-
-);
-
-const componentPage = (
-
-
- {overviewContent}
-
-
-);
-
-const apiPage = (
-
-
- {overviewContent}
-
-
-);
-
-const systemPage = (
-
-
- {overviewContent}
-
-
-);
-
-const domainPage = (
-
-
- {overviewContent}
-
-
-);
-
-const defaultPage = (
-
-
- {overviewContent}
-
-
-);
-
-export function entityPage() {
- return (
-
- {componentPage}
- {apiPage}
- {systemPage}
- {domainPage}
- {defaultPage}
-
- );
-}
diff --git a/backstage-server/packages/app/src/components/catalog/OperatorCatalogPage.tsx b/backstage-server/packages/app/src/components/catalog/OperatorCatalogPage.tsx
deleted file mode 100644
index 2a1781fd..00000000
--- a/backstage-server/packages/app/src/components/catalog/OperatorCatalogPage.tsx
+++ /dev/null
@@ -1,203 +0,0 @@
-/**
- * Operator Catalog Page
- *
- * Custom catalog page that defaults to an Operator-focused view (hiding owner/system)
- * with a toggle to switch to the full Backstage enterprise view.
- */
-
-import { useMemo } from 'react';
-import { useLocation, useNavigate } from 'react-router-dom';
-import {
- Content,
- ContentHeader,
- PageWithHeader,
- SupportButton,
-} from '@backstage/core-components';
-import { CatalogTable } from '@backstage/plugin-catalog';
-import {
- CatalogFilterLayout,
- EntityListProvider,
- EntityKindPicker,
- EntityTagPicker,
- EntityOwnerPicker,
- EntityLifecyclePicker,
- EntityTypePicker,
-} from '@backstage/plugin-catalog-react';
-import {
- Button,
- ButtonGroup,
- makeStyles,
- Typography,
- Box,
-} from '@material-ui/core';
-import ViewModuleIcon from '@material-ui/icons/ViewModule';
-import BusinessIcon from '@material-ui/icons/Business';
-import { getOperatorColumns, getBackstageColumns } from './columns';
-
-const useStyles = makeStyles((theme) => ({
- viewToggle: {
- marginLeft: 'auto',
- },
- toggleButton: {
- textTransform: 'none',
- padding: '6px 16px',
- },
- activeButton: {
- backgroundColor: theme.palette.primary.main,
- color: theme.palette.primary.contrastText,
- '&:hover': {
- backgroundColor: theme.palette.primary.dark,
- },
- },
- headerRow: {
- display: 'flex',
- alignItems: 'center',
- gap: theme.spacing(2),
- marginBottom: theme.spacing(2),
- },
- filterSection: {
- display: 'flex',
- flexDirection: 'column',
- gap: theme.spacing(2),
- },
-}));
-
-type ViewMode = 'operator' | 'backstage';
-
-function useViewMode(): [ViewMode, (mode: ViewMode) => void] {
- const location = useLocation();
- const navigate = useNavigate();
-
- const viewMode = useMemo(() => {
- const params = new URLSearchParams(location.search);
- const view = params.get('view');
- return view === 'backstage' ? 'backstage' : 'operator';
- }, [location.search]);
-
- const setViewMode = (mode: ViewMode) => {
- const params = new URLSearchParams(location.search);
- if (mode === 'backstage') {
- params.set('view', 'backstage');
- } else {
- params.delete('view');
- }
- const newSearch = params.toString();
- navigate({
- pathname: location.pathname,
- search: newSearch ? `?${newSearch}` : '',
- }, { replace: true });
- };
-
- return [viewMode, setViewMode];
-}
-
-function ViewModeToggle({
- viewMode,
- onViewModeChange,
-}: {
- viewMode: ViewMode;
- onViewModeChange: (mode: ViewMode) => void;
-}) {
- const classes = useStyles();
-
- return (
-
-
-
-
-
-
- );
-}
-
-function OperatorFilters() {
- return (
- <>
-
-
-
- >
- );
-}
-
-function BackstageFilters() {
- return (
- <>
-
-
-
-
-
- >
- );
-}
-
-function CatalogTableView({ viewMode }: { viewMode: ViewMode }) {
- const columns = useMemo(() => {
- return viewMode === 'operator' ? getOperatorColumns() : getBackstageColumns();
- }, [viewMode]);
-
- return (
-
- );
-}
-
-function CatalogContent({ viewMode }: { viewMode: ViewMode }) {
- return (
-
-
- {viewMode === 'operator' ? : }
-
-
-
-
-
- );
-}
-
-export function OperatorCatalogPage() {
- const classes = useStyles();
- const [viewMode, setViewMode] = useViewMode();
-
- return (
-
-
-
-
-
- {viewMode === 'operator' ? (
-
- Viewing repositories organized by Operator taxonomy.
- Switch to Backstage view for owner and system information.
-
- ) : (
-
- Viewing standard Backstage catalog with owner and system columns.
- Switch to Operator view for tier-based organization.
-
- )}
-
-
-
-
-
-
-
-
-
- );
-}
diff --git a/backstage-server/packages/app/src/components/catalog/TierDisplay.tsx b/backstage-server/packages/app/src/components/catalog/TierDisplay.tsx
deleted file mode 100644
index 4c516212..00000000
--- a/backstage-server/packages/app/src/components/catalog/TierDisplay.tsx
+++ /dev/null
@@ -1,104 +0,0 @@
-/**
- * Tier Display Component
- *
- * Displays the Operator tier with matching icon from the taxonomy.
- */
-
-import React from 'react';
-import { makeStyles, Typography } from '@material-ui/core';
-import LayersIcon from '@material-ui/icons/Layers';
-import LibraryBooksIcon from '@material-ui/icons/LibraryBooks';
-import StorageIcon from '@material-ui/icons/Storage';
-import BuildIcon from '@material-ui/icons/Build';
-import ArchiveIcon from '@material-ui/icons/Archive';
-import HelpOutlineIcon from '@material-ui/icons/HelpOutline';
-
-// Tier configuration matching taxonomy.toml
-const TIER_CONFIG: Record = {
- foundation: {
- label: 'Foundation',
- icon: LayersIcon,
- color: '#5C6BC0', // Indigo
- },
- standards: {
- label: 'Standards',
- icon: LibraryBooksIcon,
- color: '#42A5F5', // Blue
- },
- engines: {
- label: 'Engines',
- icon: StorageIcon,
- color: '#66BB6A', // Green
- },
- ecosystem: {
- label: 'Ecosystem',
- icon: BuildIcon,
- color: '#FFA726', // Orange
- },
- noncurrent: {
- label: 'Noncurrent',
- icon: ArchiveIcon,
- color: '#78909C', // Blue Grey
- },
-};
-
-const useStyles = makeStyles({
- container: {
- display: 'flex',
- alignItems: 'center',
- gap: 6,
- },
- icon: {
- fontSize: 18,
- },
- label: {
- fontSize: '0.875rem',
- fontWeight: 500,
- },
-});
-
-interface TierDisplayProps {
- tier?: string;
- className?: string;
-}
-
-export function TierDisplay({ tier, className }: TierDisplayProps) {
- const classes = useStyles();
-
- if (!tier) {
- return (
-
- —
-
- );
- }
-
- const normalizedTier = tier.toLowerCase();
- const config = TIER_CONFIG[normalizedTier];
-
- if (!config) {
- return (
-
-
-
- {tier}
-
-
- );
- }
-
- const IconComponent = config.icon;
-
- return (
-
-
-
- {config.label}
-
-
- );
-}
diff --git a/backstage-server/packages/app/src/components/catalog/columns.tsx b/backstage-server/packages/app/src/components/catalog/columns.tsx
deleted file mode 100644
index 0ca775d7..00000000
--- a/backstage-server/packages/app/src/components/catalog/columns.tsx
+++ /dev/null
@@ -1,241 +0,0 @@
-/**
- * Catalog Table Column Definitions
- *
- * Defines columns for Operator mode and Backstage mode views.
- * Uses CatalogTableColumnsFunc pattern for compatibility with CatalogTable.
- */
-
-import { Link, OverflowTooltip, TableColumn } from '@backstage/core-components';
-import { Chip, makeStyles, Tooltip } from '@material-ui/core';
-import { Entity } from '@backstage/catalog-model';
-import { CatalogTableRow } from '@backstage/plugin-catalog';
-import { ApiTypeBadge, isApiEntity } from './ApiTypeBadge';
-import { TierDisplay } from './TierDisplay';
-
-const useStyles = makeStyles({
- nameCell: {
- display: 'flex',
- alignItems: 'center',
- gap: 4,
- },
- tagChip: {
- height: 20,
- fontSize: '0.7rem',
- margin: 2,
- },
- tagsContainer: {
- display: 'flex',
- flexWrap: 'wrap',
- gap: 2,
- },
-});
-
-// Format Operator kind from spec.type (e.g., "api-gateway" -> "API Gateway")
-function formatOperatorKind(specType?: string): string {
- if (!specType) {return '—';}
- return specType
- .split('-')
- .map(word => word.charAt(0).toUpperCase() + word.slice(1))
- .join(' ');
-}
-
-// ============================================================================
-// Operator Mode Columns
-// ============================================================================
-
-function NameCellOperator({ entity }: { entity: Entity }) {
- const classes = useStyles();
- const title = entity.metadata.title || entity.metadata.name;
- const namespace = entity.metadata.namespace || 'default';
- const kind = entity.kind.toLowerCase();
- const isApi = isApiEntity(entity);
- const apiType = entity.spec?.type as string | undefined;
-
- return (
-
-
- {title}
-
- {isApi &&
}
-
- );
-}
-
-function TagsCell({ entity }: { entity: Entity }) {
- const classes = useStyles();
- const tags = entity.metadata.tags || [];
-
- if (tags.length === 0) {
- return —;
- }
-
- const displayTags = tags.slice(0, 3);
- const remainingCount = tags.length - 3;
-
- return (
-
- {displayTags.map(tag => (
-
- ))}
- {remainingCount > 0 && (
-
-
-
- )}
-
- );
-}
-
-export function getOperatorColumns(): TableColumn[] {
- return [
- {
- title: 'Name',
- field: 'resolved.name',
- highlight: true,
- render: (row: CatalogTableRow) => ,
- },
- {
- title: 'Kind',
- field: 'entity.spec.type',
- render: (row: CatalogTableRow) => {
- const specType = row.entity.spec?.type as string | undefined;
- return (
-
- {formatOperatorKind(specType)}
-
- );
- },
- },
- {
- title: 'Tier',
- field: 'entity.metadata.labels.operator-tier',
- render: (row: CatalogTableRow) => {
- const tier = row.entity.metadata.labels?.['operator-tier'];
- return ;
- },
- },
- {
- title: 'Description',
- field: 'entity.metadata.description',
- render: (row: CatalogTableRow) => (
-
- ),
- },
- {
- title: 'Tags',
- field: 'entity.metadata.tags',
- render: (row: CatalogTableRow) => ,
- },
- ];
-}
-
-// ============================================================================
-// Backstage Mode Columns
-// ============================================================================
-
-function NameCellBackstage({ entity }: { entity: Entity }) {
- const namespace = entity.metadata.namespace || 'default';
- const kind = entity.kind.toLowerCase();
- const title = entity.metadata.title || entity.metadata.name;
-
- return (
-
- {title}
-
- );
-}
-
-function OwnerCell({ entity }: { entity: Entity }) {
- const owner = entity.spec?.owner as string | undefined;
- if (!owner) {return —;}
-
- // Display owner as text - refs may not be fully qualified in local-file mode
- return {owner};
-}
-
-function SystemCell({ entity }: { entity: Entity }) {
- const system = entity.spec?.system as string | undefined;
- if (!system) {return —;}
-
- // Display system as text - refs may not be fully qualified in local-file mode
- return {system};
-}
-
-function LifecycleCell({ entity }: { entity: Entity }) {
- const lifecycle = entity.spec?.lifecycle as string | undefined;
- if (!lifecycle) {return —;}
-
- const colors: Record = {
- production: '#4CAF50',
- experimental: '#FF9800',
- deprecated: '#F44336',
- };
-
- const color = colors[lifecycle.toLowerCase()] || '#9E9E9E';
-
- return (
-
- );
-}
-
-export function getBackstageColumns(): TableColumn[] {
- return [
- {
- title: 'Name',
- field: 'resolved.name',
- highlight: true,
- render: (row: CatalogTableRow) => ,
- },
- {
- title: 'Kind',
- field: 'entity.kind',
- render: (row: CatalogTableRow) => (
- {row.entity.kind}
- ),
- },
- {
- title: 'Owner',
- field: 'entity.spec.owner',
- render: (row: CatalogTableRow) => ,
- },
- {
- title: 'System',
- field: 'entity.spec.system',
- render: (row: CatalogTableRow) => ,
- },
- {
- title: 'Lifecycle',
- field: 'entity.spec.lifecycle',
- render: (row: CatalogTableRow) => ,
- },
- {
- title: 'Type',
- field: 'entity.spec.type',
- render: (row: CatalogTableRow) => {
- const specType = row.entity.spec?.type as string | undefined;
- return {specType || '—'};
- },
- },
- ];
-}
diff --git a/backstage-server/packages/app/src/components/common/ErrorState.tsx b/backstage-server/packages/app/src/components/common/ErrorState.tsx
deleted file mode 100644
index fc64ea55..00000000
--- a/backstage-server/packages/app/src/components/common/ErrorState.tsx
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * ErrorState Component
- *
- * Reusable error state display for async components.
- * Shows error icon, message, and optional retry button.
- */
-
-import React from 'react';
-import { Card, CardBody, Flex, Text, Button } from '@backstage/ui';
-import { RiErrorWarningLine, RiRefreshLine } from '@remixicon/react';
-
-interface ErrorStateProps {
- title?: string;
- message?: string;
- onRetry?: () => void;
- compact?: boolean;
-}
-
-export function ErrorState({
- title = 'Error',
- message = 'Unable to load data',
- onRetry,
- compact = false,
-}: ErrorStateProps) {
- const content = (
-
-
-
-
-
- {title}
-
-
- {message}
-
-
- {onRetry && (
-
- )}
-
-
- );
-
- if (compact) {
- return content;
- }
-
- return (
-
- {content}
-
- );
-}
diff --git a/backstage-server/packages/app/src/components/home/HomePage.css b/backstage-server/packages/app/src/components/home/HomePage.css
deleted file mode 100644
index d52a6ec8..00000000
--- a/backstage-server/packages/app/src/components/home/HomePage.css
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * HomePage Styles
- * Uses CSS variables from operator-theme.css
- */
-
-/* Welcome Card - Gradient banner */
-.welcome-card {
- background: linear-gradient(135deg, var(--bui-primary) 0%, var(--bui-secondary) 100%) !important;
- border: none !important;
-}
-
-.welcome-title,
-.welcome-text {
- color: #ffffff !important;
-}
-
-/* Quick Link Cards */
-.quick-link-card {
- text-decoration: none !important;
- display: block;
- height: 100%;
-}
-
-.quick-link-card-inner {
- height: 100%;
- transition: transform 0.2s ease, box-shadow 0.2s ease;
- cursor: pointer;
-}
-
-.quick-link-card-inner:hover {
- transform: translateY(-4px);
- box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
-}
-
-.quick-link-icon {
- color: var(--bui-primary);
-}
-
-.quick-link-title {
- text-align: center;
-}
-
-.quick-link-description {
- text-align: center;
-}
diff --git a/backstage-server/packages/app/src/components/home/HomePage.tsx b/backstage-server/packages/app/src/components/home/HomePage.tsx
deleted file mode 100644
index cc852d42..00000000
--- a/backstage-server/packages/app/src/components/home/HomePage.tsx
+++ /dev/null
@@ -1,111 +0,0 @@
-/**
- * Operator Portal Home Page
- *
- * Landing page with quick links and overview widgets.
- * Uses BUI (Backstage UI) components for consistent theming.
- */
-
-import { Content, Page, Header } from '@backstage/core-components';
-import { Grid, Card, CardBody, Text, Flex, Link } from '@backstage/ui';
-import {
- RiDashboardLine,
- RiSearchLine,
- RiFileList3Line,
- RiFolderLine,
-} from '@remixicon/react';
-import './HomePage.css';
-
-interface QuickLinkProps {
- to: string;
- icon: React.ReactNode;
- title: string;
- description: string;
-}
-
-function QuickLinkCard({ to, icon, title, description }: QuickLinkProps) {
- return (
-
-
-
-
- {icon}
-
- {title}
-
-
- {description}
-
-
-
-
-
- );
-}
-
-function HomePage() {
- return (
-
-
-
-
- {/* Welcome Card */}
-
-
-
-
- Welcome to Operator
-
-
- Your central hub for managing Claude Code agents, tickets, and software catalog.
- Explore the catalog, create tickets, and track your work.
-
-
-
-
-
- {/* Quick Links Section */}
-
- Quick Links
-
-
- }
- title="Software Catalog"
- description="Browse components, APIs, and systems"
- />
-
-
- }
- title="Issue Types"
- description="Manage ticket templates and workflows"
- />
-
-
- }
- title="Collections"
- description="Browse issue type collections"
- />
-
-
- }
- title="Search"
- description="Find anything in the catalog"
- />
-
-
-
-
-
-
- );
-}
-
-export { HomePage };
-export default HomePage;
diff --git a/backstage-server/packages/app/src/components/home/OperatorHomePage.tsx b/backstage-server/packages/app/src/components/home/OperatorHomePage.tsx
deleted file mode 100644
index 4b721726..00000000
--- a/backstage-server/packages/app/src/components/home/OperatorHomePage.tsx
+++ /dev/null
@@ -1,123 +0,0 @@
-/**
- * Operator Home Page
- *
- * Main homepage container for the Operator portal.
- * Supports dynamic widget slots for extension-based composition.
- */
-
-import React from 'react';
-import { Page, Header, Content } from '@backstage/core-components';
-import { Grid, Card, CardBody, Flex, Text, Link } from '@backstage/ui';
-import {
- RiDashboardLine,
- RiSearchLine,
-} from '@remixicon/react';
-import { QueueStatusCard, ActiveAgentsCard, IssueTypesCard } from './widgets';
-import './HomePage.css';
-
-interface QuickLinkProps {
- to: string;
- icon: React.ReactNode;
- title: string;
- description: string;
-}
-
-function QuickLinkCard({ to, icon, title, description }: QuickLinkProps) {
- return (
-
-
-
-
- {icon}
-
- {title}
-
-
- {description}
-
-
-
-
-
- );
-}
-
-export interface OperatorHomePageProps {
- /**
- * Dynamic widgets passed from extension system.
- * When using the new frontend system, widgets are extensions
- * that attach to this page's widget input.
- */
- widgets?: React.ReactNode[];
-}
-
-export function OperatorHomePage({ widgets }: OperatorHomePageProps) {
- // Default widgets when not using extension system
- const defaultWidgets = [
- ,
- ,
- ,
- ];
-
- const displayWidgets = widgets && widgets.length > 0 ? widgets : defaultWidgets;
-
- return (
-
-
-
-
- {/* Welcome Section */}
-
-
-
-
- Welcome to Operator
-
-
- Manage Claude Code agents, track tickets, and explore your software catalog.
- Monitor your queue, launch agents, and define issue type templates.
-
-
-
-
-
- {/* Widgets Grid */}
-
- Dashboard
-
- {displayWidgets.map((widget, index) => (
- {widget}
- ))}
-
-
-
- {/* Quick Links Section */}
-
- Quick Links
-
-
- }
- title="Software Catalog"
- description="Browse components, APIs, and systems"
- />
-
-
- }
- title="Search"
- description="Find anything in the catalog"
- />
-
-
-
-
-
-
- );
-}
diff --git a/backstage-server/packages/app/src/components/home/widgets/ActiveAgentsCard.test.tsx b/backstage-server/packages/app/src/components/home/widgets/ActiveAgentsCard.test.tsx
deleted file mode 100644
index ecb9c1d2..00000000
--- a/backstage-server/packages/app/src/components/home/widgets/ActiveAgentsCard.test.tsx
+++ /dev/null
@@ -1,90 +0,0 @@
-/**
- * ActiveAgentsCard Tests
- *
- * Tests for loading, error, empty, and success states.
- */
-
-import { describe, test, expect, beforeEach } from 'bun:test';
-import { waitFor } from '@testing-library/react';
-import { http, HttpResponse } from 'msw';
-import { server } from '../../../test/handlers';
-import { renderWithProviders } from '../../../test/utils';
-import { ActiveAgentsCard } from './ActiveAgentsCard';
-
-describe('ActiveAgentsCard', () => {
- beforeEach(() => {
- server.resetHandlers();
- });
-
- test('renders and loads data', async () => {
- // Default handler returns empty data
- const { getByText } = renderWithProviders();
-
- // Wait for card to render
- await waitFor(() => {
- expect(getByText('Active Agents')).toBeTruthy();
- });
- });
-
- test('shows error state when API fails', async () => {
- server.use(
- http.get('/api/proxy/operator/api/v1/agents/active', () => {
- return HttpResponse.json(null, { status: 500 });
- })
- );
-
- const { getByRole, getByText } = renderWithProviders();
-
- await waitFor(() => {
- expect(getByRole('alert')).toBeTruthy();
- });
-
- expect(getByText(/failed to load/i)).toBeTruthy();
- expect(getByRole('button', { name: /retry/i })).toBeTruthy();
- });
-
- test('shows empty state when no agents running', async () => {
- server.use(
- http.get('/api/proxy/operator/api/v1/agents/active', () => {
- return HttpResponse.json({ agents: [], count: 0 });
- })
- );
-
- const { getByText } = renderWithProviders();
-
- await waitFor(() => {
- expect(getByText('No agents running')).toBeTruthy();
- });
- });
-
- test('shows agents when API returns data', async () => {
- server.use(
- http.get('/api/proxy/operator/api/v1/agents/active', () => {
- return HttpResponse.json({
- agents: [
- {
- id: 'agent-1',
- ticket_id: 'FEAT-1234',
- ticket_type: 'FEAT',
- project: 'operator',
- status: 'running',
- mode: 'autonomous',
- started_at: new Date(Date.now() - 5 * 60 * 1000).toISOString(),
- current_step: 'implement',
- },
- ],
- count: 1,
- });
- })
- );
-
- const { getByText } = renderWithProviders();
-
- await waitFor(() => {
- expect(getByText('FEAT-1234')).toBeTruthy();
- });
-
- expect(getByText('operator')).toBeTruthy();
- expect(getByText('Auto')).toBeTruthy();
- });
-});
diff --git a/backstage-server/packages/app/src/components/home/widgets/ActiveAgentsCard.tsx b/backstage-server/packages/app/src/components/home/widgets/ActiveAgentsCard.tsx
deleted file mode 100644
index 3b013a1f..00000000
--- a/backstage-server/packages/app/src/components/home/widgets/ActiveAgentsCard.tsx
+++ /dev/null
@@ -1,204 +0,0 @@
-/**
- * Active Agents Widget
- *
- * Displays currently running Claude Code agents with status.
- * Shows agent name, project, elapsed time, and mode.
- */
-
-import React from 'react';
-import { Card, CardBody, Flex, Text, Box, Link } from '@backstage/ui';
-import { Progress } from '@backstage/core-components';
-import {
- RiRobot2Line,
- RiTimeLine,
- RiUserLine,
- RiCodeLine,
- RiPlayCircleLine,
- RiPauseCircleLine,
-} from '@remixicon/react';
-import { useActiveAgentsQuery, type Agent } from '../../../api/queries';
-import { ErrorState } from '../../common/ErrorState';
-
-function formatElapsed(startedAt: string): string {
- const start = new Date(startedAt).getTime();
- const now = Date.now();
- const elapsed = Math.floor((now - start) / 1000);
-
- if (elapsed < 60) {return `${elapsed}s`;}
- if (elapsed < 3600) {return `${Math.floor(elapsed / 60)}m`;}
- const hours = Math.floor(elapsed / 3600);
- const mins = Math.floor((elapsed % 3600) / 60);
- return `${hours}h ${mins}m`;
-}
-
-interface AgentRowProps {
- agent: Agent;
-}
-
-function AgentRow({ agent }: AgentRowProps) {
- const statusColors: Record = {
- running: '#66AA99',
- awaiting_input: '#E9A820',
- completing: '#6688AA',
- };
-
- const modeLabels: Record = {
- autonomous: 'Auto',
- paired: 'Paired',
- };
-
- const statusColor = statusColors[agent.status] || '#6688AA';
- const StatusIcon = agent.status === 'running' ? RiPlayCircleLine : RiPauseCircleLine;
-
- return (
-
-
-
-
-
- {agent.ticket_id}
-
-
-
- {modeLabels[agent.mode] || agent.mode}
-
-
-
-
-
-
-
- {agent.project}
-
-
-
-
-
- {formatElapsed(agent.started_at)}
-
-
- {agent.current_step && (
-
- Step: {agent.current_step}
-
- )}
-
-
-
-
-
- {agent.ticket_type}
-
-
-
-
- );
-}
-
-export function ActiveAgentsCard() {
- const { data, isLoading, error, refetch } = useActiveAgentsQuery();
-
- if (isLoading) {
- return (
-
-
-
- Active Agents
-
-
-
-
- );
- }
-
- if (error) {
- return (
-
-
-
-
- Active Agents
-
-
- refetch()}
- compact
- />
-
-
-
- );
- }
-
- const agents = data?.agents || [];
-
- return (
-
-
-
-
-
- Active Agents
- {agents.length > 0 && (
-
- {agents.length}
-
- )}
-
-
-
-
- {agents.length === 0 ? (
-
-
-
- No agents running
-
-
- ) : (
-
- {agents.map(agent => (
-
- ))}
-
- )}
-
-
-
- );
-}
diff --git a/backstage-server/packages/app/src/components/home/widgets/IssueTypesCard.test.tsx b/backstage-server/packages/app/src/components/home/widgets/IssueTypesCard.test.tsx
deleted file mode 100644
index b0fd0c1e..00000000
--- a/backstage-server/packages/app/src/components/home/widgets/IssueTypesCard.test.tsx
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * IssueTypesCard Tests
- *
- * Tests for loading, error, empty, and success states.
- */
-
-import { describe, test, expect, beforeEach } from 'bun:test';
-import { waitFor } from '@testing-library/react';
-import { http, HttpResponse } from 'msw';
-import { server } from '../../../test/handlers';
-import { renderWithProviders } from '../../../test/utils';
-import { IssueTypesCard } from './IssueTypesCard';
-
-describe('IssueTypesCard', () => {
- beforeEach(() => {
- server.resetHandlers();
- });
-
- test('renders and loads data', async () => {
- // Default handler returns empty data
- const { getByText } = renderWithProviders();
-
- // Wait for card to render
- await waitFor(() => {
- expect(getByText('Issue Types')).toBeTruthy();
- });
- });
-
- test('shows error state when API fails', async () => {
- server.use(
- http.get('/api/proxy/operator/api/v1/issuetypes', () => {
- return HttpResponse.json(null, { status: 500 });
- })
- );
-
- const { getByRole, getByText } = renderWithProviders();
-
- await waitFor(() => {
- expect(getByRole('alert')).toBeTruthy();
- });
-
- expect(getByText(/failed to load/i)).toBeTruthy();
- expect(getByRole('button', { name: /retry/i })).toBeTruthy();
- });
-
- test('shows empty state when no issue types', async () => {
- server.use(
- http.get('/api/proxy/operator/api/v1/issuetypes', () => {
- return HttpResponse.json([]);
- })
- );
-
- const { getByText } = renderWithProviders();
-
- // Card title should be visible
- await waitFor(() => {
- expect(getByText('Issue Types')).toBeTruthy();
- });
- });
-
- test('shows issue types when API returns data', async () => {
- server.use(
- http.get('/api/proxy/operator/api/v1/issuetypes', () => {
- return HttpResponse.json([
- {
- key: 'FEAT',
- name: 'Feature',
- mode: 'autonomous',
- },
- {
- key: 'FIX',
- name: 'Bug Fix',
- mode: 'autonomous',
- },
- ]);
- })
- );
-
- const { getByText } = renderWithProviders();
-
- await waitFor(() => {
- expect(getByText('FEAT')).toBeTruthy();
- });
-
- expect(getByText('Feature')).toBeTruthy();
- expect(getByText('FIX')).toBeTruthy();
- expect(getByText('Bug Fix')).toBeTruthy();
- });
-});
diff --git a/backstage-server/packages/app/src/components/home/widgets/IssueTypesCard.tsx b/backstage-server/packages/app/src/components/home/widgets/IssueTypesCard.tsx
deleted file mode 100644
index 05312f0b..00000000
--- a/backstage-server/packages/app/src/components/home/widgets/IssueTypesCard.tsx
+++ /dev/null
@@ -1,176 +0,0 @@
-/**
- * Issue Types Widget
- *
- * Quick access to issue types management.
- * Shows recent/pinned types with create action.
- */
-
-import React from 'react';
-import { Card, CardBody, Flex, Text, Link, Button } from '@backstage/ui';
-import { Progress } from '@backstage/core-components';
-import {
- RiFileList3Line,
- RiAddLine,
- RiFolderLine,
- RiArrowRightLine,
-} from '@remixicon/react';
-import { useIssueTypesQuery, type IssueType } from '../../../api/queries';
-import { ErrorState } from '../../common/ErrorState';
-
-interface IssueTypeChipProps {
- issueType: IssueType;
-}
-
-function IssueTypeChip({ issueType }: IssueTypeChipProps) {
- const modeColors: Record = {
- autonomous: '#66AA99',
- paired: '#E9A820',
- investigation: '#E05D44',
- };
-
- const color = modeColors[issueType.mode] || '#6688AA';
-
- return (
-
-
-
-
- {issueType.key}
-
-
- {issueType.name}
-
-
-
- );
-}
-
-export function IssueTypesCard() {
- const { data, isLoading, error, refetch } = useIssueTypesQuery();
-
- if (isLoading) {
- return (
-
-
-
- Issue Types
-
-
-
-
- );
- }
-
- if (error) {
- return (
-
-
-
-
- Issue Types
-
-
- refetch()}
- compact
- />
-
-
-
- );
- }
-
- // Take first 5 issue types for the widget
- const issueTypes = Array.isArray(data) ? data.slice(0, 5) : [];
-
- return (
-
-
-
-
- Issue Types
-
-
-
- {/* Issue type chips */}
-
- {issueTypes.map(issueType => (
-
- ))}
-
-
- {/* Actions */}
-
-
-
-
-
-
-
-
-
- {/* View all link */}
-
-
-
- View All Issue Types
-
-
-
-
-
-
-
- );
-}
diff --git a/backstage-server/packages/app/src/components/home/widgets/QueueStatusCard.test.tsx b/backstage-server/packages/app/src/components/home/widgets/QueueStatusCard.test.tsx
deleted file mode 100644
index f65b3b6a..00000000
--- a/backstage-server/packages/app/src/components/home/widgets/QueueStatusCard.test.tsx
+++ /dev/null
@@ -1,97 +0,0 @@
-/**
- * QueueStatusCard Tests
- *
- * Tests for loading, error, empty, and success states.
- */
-
-import { describe, test, expect, beforeEach } from 'bun:test';
-import { waitFor } from '@testing-library/react';
-import { http, HttpResponse } from 'msw';
-import { server } from '../../../test/handlers';
-import { renderWithProviders } from '../../../test/utils';
-import { QueueStatusCard } from './QueueStatusCard';
-
-describe('QueueStatusCard', () => {
- beforeEach(() => {
- server.resetHandlers();
- });
-
- test('renders and loads data', async () => {
- // Default handler returns empty data
- const { getByText } = renderWithProviders();
-
- // Wait for card to render
- await waitFor(() => {
- expect(getByText('Queue Status')).toBeTruthy();
- });
- });
-
- test('shows error state when API fails', async () => {
- server.use(
- http.get('/api/proxy/operator/api/v1/queue/status', () => {
- return HttpResponse.json(null, { status: 500 });
- })
- );
-
- const { getByRole, getByText } = renderWithProviders();
-
- await waitFor(() => {
- expect(getByRole('alert')).toBeTruthy();
- });
-
- expect(getByText(/failed to load/i)).toBeTruthy();
- expect(getByRole('button', { name: /retry/i })).toBeTruthy();
- });
-
- test('shows zero counts when queue is empty', async () => {
- server.use(
- http.get('/api/proxy/operator/api/v1/queue/status', () => {
- return HttpResponse.json({
- queued: 0,
- in_progress: 0,
- awaiting: 0,
- completed: 0,
- by_type: { inv: 0, fix: 0, feat: 0, spike: 0 },
- });
- })
- );
-
- const { getByText } = renderWithProviders();
-
- await waitFor(() => {
- expect(getByText('Queued')).toBeTruthy();
- });
-
- expect(getByText('In Progress')).toBeTruthy();
- expect(getByText('Awaiting')).toBeTruthy();
- expect(getByText('Completed')).toBeTruthy();
- });
-
- test('shows status counts when API returns data', async () => {
- server.use(
- http.get('/api/proxy/operator/api/v1/queue/status', () => {
- return HttpResponse.json({
- queued: 5,
- in_progress: 2,
- awaiting: 1,
- completed: 10,
- by_type: { inv: 1, fix: 3, feat: 8, spike: 2 },
- });
- })
- );
-
- const { getByText, getAllByText } = renderWithProviders();
-
- await waitFor(() => {
- expect(getByText('5')).toBeTruthy(); // queued count
- });
-
- // Check for presence of counts (some may appear multiple times)
- expect(getAllByText('2').length).toBeGreaterThan(0); // in_progress and spike
- expect(getByText('10')).toBeTruthy(); // completed
- expect(getByText('Investigation')).toBeTruthy();
- expect(getByText('Bug Fix')).toBeTruthy();
- expect(getByText('Feature')).toBeTruthy();
- expect(getByText('Spike')).toBeTruthy();
- });
-});
diff --git a/backstage-server/packages/app/src/components/home/widgets/QueueStatusCard.tsx b/backstage-server/packages/app/src/components/home/widgets/QueueStatusCard.tsx
deleted file mode 100644
index 10089a3e..00000000
--- a/backstage-server/packages/app/src/components/home/widgets/QueueStatusCard.tsx
+++ /dev/null
@@ -1,172 +0,0 @@
-/**
- * Queue Status Widget
- *
- * Displays ticket queue status with counts by priority level.
- * Fetches data from the Operator REST API.
- */
-
-import React from 'react';
-import { Card, CardBody, Flex, Text, Box } from '@backstage/ui';
-import { Progress } from '@backstage/core-components';
-import {
- RiListCheck2,
- RiTimeLine,
- RiCheckDoubleLine,
- RiAlertLine,
- RiBugLine,
- RiLightbulbLine,
- RiSearchLine,
-} from '@remixicon/react';
-import { useQueueStatusQuery } from '../../../api/queries';
-import { ErrorState } from '../../common/ErrorState';
-
-const priorityConfig = {
- inv: { label: 'Investigation', icon: RiAlertLine, color: '#E05D44' },
- fix: { label: 'Bug Fix', icon: RiBugLine, color: '#E9A820' },
- feat: { label: 'Feature', icon: RiLightbulbLine, color: '#66AA99' },
- spike: { label: 'Spike', icon: RiSearchLine, color: '#6688AA' },
-} as const;
-
-interface PriorityBadgeProps {
- type: keyof typeof priorityConfig;
- count: number;
-}
-
-function PriorityBadge({ type, count }: PriorityBadgeProps) {
- const config = priorityConfig[type];
- const Icon = config.icon;
-
- return (
-
-
-
- {count}
-
-
- {config.label}
-
-
- );
-}
-
-interface StatusRowProps {
- icon: React.ReactNode;
- label: string;
- count: number;
- color?: string;
-}
-
-function StatusRow({ icon, label, count, color }: StatusRowProps) {
- return (
-
-
- {icon}
- {label}
-
-
- {count}
-
-
- );
-}
-
-export function QueueStatusCard() {
- const { data: status, isLoading, error, refetch } = useQueueStatusQuery();
-
- if (isLoading) {
- return (
-
-
-
- Queue Status
-
-
-
-
- );
- }
-
- if (error) {
- return (
-
-
-
-
- Queue Status
-
-
- refetch()}
- compact
- />
-
-
-
- );
- }
-
- return (
-
-
-
-
- Queue Status
-
-
-
- {/* Status counts */}
-
- }
- label="Queued"
- count={status?.queued || 0}
- />
- }
- label="In Progress"
- count={status?.in_progress || 0}
- color="#E9A82020"
- />
- }
- label="Awaiting"
- count={status?.awaiting || 0}
- color="#9966AA20"
- />
- }
- label="Completed"
- count={status?.completed || 0}
- color="#66AA9920"
- />
-
-
- {/* Type breakdown */}
-
-
- By Type
-
-
-
-
-
-
-
-
-
-
-
- );
-}
diff --git a/backstage-server/packages/app/src/components/home/widgets/index.ts b/backstage-server/packages/app/src/components/home/widgets/index.ts
deleted file mode 100644
index ecbf0dce..00000000
--- a/backstage-server/packages/app/src/components/home/widgets/index.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * Homepage Widgets
- *
- * Reusable widget components for the Operator homepage.
- */
-
-export { QueueStatusCard } from './QueueStatusCard';
-export { ActiveAgentsCard } from './ActiveAgentsCard';
-export { IssueTypesCard } from './IssueTypesCard';
diff --git a/backstage-server/packages/app/src/components/kanban/KanbanBoard.test.tsx b/backstage-server/packages/app/src/components/kanban/KanbanBoard.test.tsx
deleted file mode 100644
index e0958c56..00000000
--- a/backstage-server/packages/app/src/components/kanban/KanbanBoard.test.tsx
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- * KanbanBoard Tests
- *
- * Tests for loading, error, empty, and success states.
- */
-
-import { describe, test, expect, beforeEach } from 'bun:test';
-import { waitFor } from '@testing-library/react';
-import { http, HttpResponse } from 'msw';
-import { server } from '../../test/handlers';
-import { renderWithProviders } from '../../test/utils';
-import { KanbanBoard } from './KanbanBoard';
-
-describe('KanbanBoard', () => {
- beforeEach(() => {
- server.resetHandlers();
- });
-
- test('renders and loads data', async () => {
- // Default handler returns empty data
- const { getByText } = renderWithProviders();
-
- // Wait for columns to render after data loads
- await waitFor(() => {
- expect(getByText('Queue')).toBeTruthy();
- });
- });
-
- test('shows error state when API fails', async () => {
- server.use(
- http.get('/api/proxy/operator/api/v1/queue/kanban', () => {
- return HttpResponse.json(null, { status: 500 });
- })
- );
-
- const { getByRole, getByText } = renderWithProviders();
-
- // Wait for error state to appear
- await waitFor(() => {
- expect(getByRole('alert')).toBeTruthy();
- });
-
- expect(getByText(/failed to load board/i)).toBeTruthy();
- expect(getByRole('button', { name: /retry/i })).toBeTruthy();
- });
-
- test('shows empty state when API returns empty data', async () => {
- server.use(
- http.get('/api/proxy/operator/api/v1/queue/kanban', () => {
- return HttpResponse.json({
- queue: [],
- running: [],
- awaiting: [],
- done: [],
- total_count: 0,
- last_updated: new Date().toISOString(),
- });
- })
- );
-
- const { getByText } = renderWithProviders();
-
- // Wait for columns to render
- await waitFor(() => {
- expect(getByText('Queue')).toBeTruthy();
- });
-
- expect(getByText('Running')).toBeTruthy();
- expect(getByText('Awaiting')).toBeTruthy();
- expect(getByText('Done')).toBeTruthy();
- });
-
- test('shows data when API succeeds', async () => {
- server.use(
- http.get('/api/proxy/operator/api/v1/queue/kanban', () => {
- return HttpResponse.json({
- queue: [
- {
- id: 'FEAT-1234',
- summary: 'Add new feature',
- ticket_type: 'FEAT',
- project: 'operator',
- status: 'queued',
- step: '',
- priority: 'P2-medium',
- timestamp: '20241229-1430',
- },
- ],
- running: [],
- awaiting: [],
- done: [],
- total_count: 1,
- last_updated: new Date().toISOString(),
- });
- })
- );
-
- const { getByText } = renderWithProviders();
-
- // Wait for ticket to appear
- await waitFor(() => {
- expect(getByText('FEAT-1234')).toBeTruthy();
- });
-
- expect(getByText('Add new feature')).toBeTruthy();
- });
-});
diff --git a/backstage-server/packages/app/src/components/kanban/KanbanBoard.tsx b/backstage-server/packages/app/src/components/kanban/KanbanBoard.tsx
deleted file mode 100644
index e2d20372..00000000
--- a/backstage-server/packages/app/src/components/kanban/KanbanBoard.tsx
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Kanban Board Container
- *
- * Responsive grid layout with four columns.
- * Uses CSS Grid for consistent column widths.
- */
-
-import React from 'react';
-import { Progress } from '@backstage/core-components';
-import { Flex, Text } from '@backstage/ui';
-import { KanbanColumn } from './KanbanColumn';
-import { useKanbanBoard } from './useKanbanBoard';
-import { KANBAN_COLUMNS } from './types';
-import { ErrorState } from '../common/ErrorState';
-
-export function KanbanBoard() {
- const { data, loading, error, lastUpdated, refresh } = useKanbanBoard();
-
- if (loading && !data) {
- return ;
- }
-
- if (error && !data) {
- return (
-
- );
- }
-
- return (
-
-
- {KANBAN_COLUMNS.map(column => (
-
- ))}
-
- {lastUpdated && (
-
-
- Last updated: {lastUpdated.toLocaleTimeString()}
-
-
- )}
-
- );
-}
diff --git a/backstage-server/packages/app/src/components/kanban/KanbanBoardPage.tsx b/backstage-server/packages/app/src/components/kanban/KanbanBoardPage.tsx
deleted file mode 100644
index f0994230..00000000
--- a/backstage-server/packages/app/src/components/kanban/KanbanBoardPage.tsx
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Kanban Board Page
- *
- * Full-page view displaying tickets organized by status columns.
- * Read-only view with auto-refresh.
- */
-
-import React from 'react';
-import { Page, Header, Content } from '@backstage/core-components';
-import { Flex, Text } from '@backstage/ui';
-import { RiLayoutColumnLine } from '@remixicon/react';
-import { KanbanBoard } from './KanbanBoard';
-
-export function KanbanBoardPage() {
- return (
-
-
-
-
-
-
- Kanban Board
-
-
-
-
-
- );
-}
diff --git a/backstage-server/packages/app/src/components/kanban/KanbanCard.tsx b/backstage-server/packages/app/src/components/kanban/KanbanCard.tsx
deleted file mode 100644
index 17a30d7d..00000000
--- a/backstage-server/packages/app/src/components/kanban/KanbanCard.tsx
+++ /dev/null
@@ -1,93 +0,0 @@
-/**
- * Kanban Card Component
- *
- * Individual ticket card with all details.
- */
-
-import React from 'react';
-import { Flex, Text, Box } from '@backstage/ui';
-import { RiCodeLine, RiArrowRightSLine } from '@remixicon/react';
-import { TypeBadge } from './TypeBadge';
-import { KanbanTicketCard, PRIORITY_COLORS } from './types';
-
-interface KanbanCardProps {
- ticket: KanbanTicketCard;
-}
-
-export function KanbanCard({ ticket }: KanbanCardProps) {
- const priorityColor = PRIORITY_COLORS[ticket.priority] || '#888888';
-
- return (
-
-
- {/* Header: ID + Type Badge */}
-
-
- {ticket.id}
-
-
-
-
- {/* Summary */}
-
- {ticket.summary}
-
-
- {/* Project + Step */}
-
-
-
-
- {ticket.project}
-
-
- {ticket.step_display_name && (
- <>
-
-
- {ticket.step_display_name}
-
- >
- )}
-
-
- {/* Priority */}
-
-
-
- {ticket.priority.split('-')[1] || ticket.priority}
-
-
-
-
- );
-}
diff --git a/backstage-server/packages/app/src/components/kanban/KanbanColumn.tsx b/backstage-server/packages/app/src/components/kanban/KanbanColumn.tsx
deleted file mode 100644
index 1449e8ab..00000000
--- a/backstage-server/packages/app/src/components/kanban/KanbanColumn.tsx
+++ /dev/null
@@ -1,97 +0,0 @@
-/**
- * Kanban Column Component
- *
- * Single column with header and scrollable ticket list.
- */
-
-import React from 'react';
-import { Card, CardBody, Flex, Text, Box } from '@backstage/ui';
-import {
- RiTimeLine,
- RiPlayCircleLine,
- RiPauseCircleLine,
- RiCheckDoubleLine,
-} from '@remixicon/react';
-import { KanbanCard } from './KanbanCard';
-import type { KanbanColumnConfig, KanbanTicketCard } from './types';
-
-const iconMap = {
- queue: RiTimeLine,
- running: RiPlayCircleLine,
- awaiting: RiPauseCircleLine,
- done: RiCheckDoubleLine,
-};
-
-interface KanbanColumnProps {
- config: KanbanColumnConfig;
- tickets: KanbanTicketCard[];
-}
-
-export function KanbanColumn({ config, tickets }: KanbanColumnProps) {
- const Icon = iconMap[config.key];
-
- return (
-
-
-
- {/* Column Header */}
-
-
-
-
- {config.title}
-
-
- {tickets.length}
-
-
-
- {/* Ticket List */}
-
- {tickets.length === 0 ? (
-
-
- No tickets
-
-
- ) : (
- tickets.map(ticket => (
-
- ))
- )}
-
-
-
-
- );
-}
diff --git a/backstage-server/packages/app/src/components/kanban/TypeBadge.tsx b/backstage-server/packages/app/src/components/kanban/TypeBadge.tsx
deleted file mode 100644
index 9ed23e46..00000000
--- a/backstage-server/packages/app/src/components/kanban/TypeBadge.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Type Badge Component
- *
- * Displays the ticket type (FEAT/FIX/INV/SPIKE) with appropriate color.
- */
-
-import React from 'react';
-import { Box } from '@backstage/ui';
-import { TYPE_BADGE_CONFIG } from './types';
-
-interface TypeBadgeProps {
- type: string;
- size?: 'small' | 'medium';
-}
-
-export function TypeBadge({ type, size = 'small' }: TypeBadgeProps) {
- const config = TYPE_BADGE_CONFIG[type] || {
- label: type,
- color: '#888888',
- };
-
- const padding = size === 'small' ? '2px 6px' : '4px 8px';
- const fontSize = size === 'small' ? '0.625rem' : '0.75rem';
-
- return (
-
- {type}
-
- );
-}
diff --git a/backstage-server/packages/app/src/components/kanban/index.ts b/backstage-server/packages/app/src/components/kanban/index.ts
deleted file mode 100644
index d90ee70f..00000000
--- a/backstage-server/packages/app/src/components/kanban/index.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Kanban Board Components
- *
- * Read-only Kanban board view for ticket status visualization.
- */
-
-export { KanbanBoardPage } from './KanbanBoardPage';
-export { KanbanBoard } from './KanbanBoard';
-export { KanbanColumn } from './KanbanColumn';
-export { KanbanCard } from './KanbanCard';
-export { TypeBadge } from './TypeBadge';
-export { useKanbanBoard } from './useKanbanBoard';
-export * from './types';
diff --git a/backstage-server/packages/app/src/components/kanban/types.ts b/backstage-server/packages/app/src/components/kanban/types.ts
deleted file mode 100644
index 5d8b5c91..00000000
--- a/backstage-server/packages/app/src/components/kanban/types.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * Kanban Board TypeScript Types
- *
- * These types mirror the Rust DTOs from the operator backend.
- */
-
-/** Ticket type keys */
-export type TicketType = 'INV' | 'FIX' | 'FEAT' | 'SPIKE';
-
-/** Ticket status values mapped to kanban columns */
-export type TicketStatus = 'queued' | 'running' | 'awaiting' | 'completed' | 'done';
-
-/** Priority levels */
-export type Priority = 'P0-critical' | 'P1-high' | 'P2-medium' | 'P3-low';
-
-/** A single ticket card on the kanban board */
-export interface KanbanTicketCard {
- id: string;
- summary: string;
- ticket_type: string;
- project: string;
- status: string;
- step: string;
- step_display_name?: string;
- priority: string;
- timestamp: string;
-}
-
-/** Kanban board response grouped by column */
-export interface KanbanBoardResponse {
- queue: KanbanTicketCard[];
- running: KanbanTicketCard[];
- awaiting: KanbanTicketCard[];
- done: KanbanTicketCard[];
- total_count: number;
- last_updated: string;
-}
-
-/** Column configuration for rendering */
-export interface KanbanColumnConfig {
- key: 'queue' | 'running' | 'awaiting' | 'done';
- title: string;
- color: string;
-}
-
-/** Type badge configuration */
-export const TYPE_BADGE_CONFIG: Record = {
- INV: { label: 'Investigation', color: '#E05D44' },
- FIX: { label: 'Bug Fix', color: '#E9A820' },
- FEAT: { label: 'Feature', color: '#66AA99' },
- SPIKE: { label: 'Research', color: '#6688AA' },
-};
-
-/** Priority color configuration */
-export const PRIORITY_COLORS: Record = {
- 'P0-critical': '#E05D44',
- 'P1-high': '#E9A820',
- 'P2-medium': '#6688AA',
- 'P3-low': '#888888',
-};
-
-/** Column definitions */
-export const KANBAN_COLUMNS: KanbanColumnConfig[] = [
- { key: 'queue', title: 'Queue', color: '#6688AA' },
- { key: 'running', title: 'Running', color: '#66AA99' },
- { key: 'awaiting', title: 'Awaiting', color: '#E9A820' },
- { key: 'done', title: 'Done', color: '#888888' },
-];
diff --git a/backstage-server/packages/app/src/components/kanban/useKanbanBoard.ts b/backstage-server/packages/app/src/components/kanban/useKanbanBoard.ts
deleted file mode 100644
index 7f6676c1..00000000
--- a/backstage-server/packages/app/src/components/kanban/useKanbanBoard.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * Hook for fetching kanban board data with auto-refresh.
- *
- * Uses TanStack Query for server state management.
- * Returns loading, error, and data states for proper UI feedback.
- */
-
-import { useKanbanBoardQuery } from '../../api/queries';
-import type { KanbanBoardResponse } from './types';
-
-interface UseKanbanBoardResult {
- data: KanbanBoardResponse | undefined;
- loading: boolean;
- error: Error | null;
- lastUpdated: Date | null;
- refresh: () => void;
-}
-
-export function useKanbanBoard(): UseKanbanBoardResult {
- const { data, isLoading, error, dataUpdatedAt, refetch } = useKanbanBoardQuery();
-
- return {
- data,
- loading: isLoading,
- error: error as Error | null,
- lastUpdated: dataUpdatedAt ? new Date(dataUpdatedAt) : null,
- refresh: () => refetch(),
- };
-}
diff --git a/backstage-server/packages/app/src/components/plugins/PluginsPage.tsx b/backstage-server/packages/app/src/components/plugins/PluginsPage.tsx
deleted file mode 100644
index 976e1c26..00000000
--- a/backstage-server/packages/app/src/components/plugins/PluginsPage.tsx
+++ /dev/null
@@ -1,102 +0,0 @@
-/**
- * Plugins Page
- *
- * Displays installed Backstage plugins with metadata including
- * routes, APIs, and status information.
- */
-
-import React from 'react';
-import {
- Content,
- ContentHeader,
- Header,
- Page,
- Table,
- TableColumn,
-} from '@backstage/core-components';
-
-interface PluginInfo {
- id: string;
- name: string;
- description: string;
- routes: string[];
- apis: string[];
- status: 'active' | 'inactive';
-}
-
-const columns: TableColumn[] = [
- { title: 'Plugin ID', field: 'id' },
- { title: 'Name', field: 'name' },
- { title: 'Description', field: 'description' },
- {
- title: 'Routes',
- field: 'routes',
- render: (row) => row.routes.join(', ') || 'None',
- },
- {
- title: 'APIs',
- field: 'apis',
- render: (row) => row.apis.join(', ') || 'None',
- },
- {
- title: 'Status',
- field: 'status',
- render: (row) => (
-
- {row.status}
-
- ),
- },
-];
-
-// Static plugin info based on registered plugins in App.tsx
-const installedPlugins: PluginInfo[] = [
- {
- id: 'catalog',
- name: 'Backstage Catalog',
- description: 'Software catalog for tracking components, APIs, and resources',
- routes: ['/catalog', '/catalog/:namespace/:kind/:name'],
- apis: ['catalogApiRef'],
- status: 'active',
- },
- {
- id: 'search',
- name: 'Backstage Search',
- description: 'Full-text search across catalog entities',
- routes: ['/search'],
- apis: ['searchApiRef'],
- status: 'active',
- },
- {
- id: 'issuetypes',
- name: 'Operator Issue Types',
- description: 'Manage issue types, workflows, and collections for Operator',
- routes: ['/issuetypes', '/issuetypes/:key', '/issuetypes/new', '/issuetypes/collections'],
- apis: ['operatorApiRef'],
- status: 'active',
- },
-];
-
-export const PluginsPage = () => {
- return (
-
-
-
-
-
-
-
- );
-};
diff --git a/backstage-server/packages/app/src/components/plugins/index.ts b/backstage-server/packages/app/src/components/plugins/index.ts
deleted file mode 100644
index 61e36470..00000000
--- a/backstage-server/packages/app/src/components/plugins/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { PluginsPage } from './PluginsPage';
diff --git a/backstage-server/packages/app/src/components/search/SearchPage.css b/backstage-server/packages/app/src/components/search/SearchPage.css
deleted file mode 100644
index 2a8ae0c1..00000000
--- a/backstage-server/packages/app/src/components/search/SearchPage.css
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * SearchPage Styles
- */
-
-.search-bar-card {
- width: 100%;
-}
-
-.search-results {
- width: 100%;
-}
diff --git a/backstage-server/packages/app/src/extensions/homepage.tsx b/backstage-server/packages/app/src/extensions/homepage.tsx
deleted file mode 100644
index 89da23c9..00000000
--- a/backstage-server/packages/app/src/extensions/homepage.tsx
+++ /dev/null
@@ -1,138 +0,0 @@
-/**
- * Homepage Extensions
- *
- * Extension-based homepage for the new Backstage frontend system.
- * Provides the homepage page extension with widget input slots.
- */
-
-import React from 'react';
-import {
- PageBlueprint,
- createRouteRef,
- createExtension,
- coreExtensionData,
- createExtensionInput,
-} from '@backstage/frontend-plugin-api';
-
-// Route reference for the homepage
-export const homeRouteRef = createRouteRef();
-
-/**
- * Homepage extension using PageBlueprint with widget inputs.
- *
- * This allows other extensions to attach widgets to the homepage
- * by targeting the 'widgets' input.
- */
-export const homePageExtension = PageBlueprint.makeWithOverrides({
- name: 'operator-home',
- inputs: {
- widgets: createExtensionInput([coreExtensionData.reactElement], {
- singleton: false,
- }),
- },
- factory(originalFactory, { inputs }) {
- return originalFactory({
- path: '/',
- routeRef: homeRouteRef,
- loader: async () => {
- const { OperatorHomePage } = await import(
- '../components/home/OperatorHomePage'
- );
-
- // Extract widget elements from inputs
- const widgetElements = inputs.widgets?.map((widget, index) => {
- const element = widget.get(coreExtensionData.reactElement);
- return {element};
- });
-
- return ;
- },
- });
- },
-});
-
-/**
- * Queue Status Widget Extension
- *
- * Displays ticket queue status on the homepage.
- */
-export const queueStatusWidgetExtension = createExtension({
- name: 'queue-status-widget',
- attachTo: { id: 'page:app/operator-home', input: 'widgets' },
- output: [coreExtensionData.reactElement],
- factory() {
- const LazyQueueStatus = React.lazy(() =>
- import('../components/home/widgets/QueueStatusCard').then(m => ({
- default: m.QueueStatusCard,
- }))
- );
-
- return [
- coreExtensionData.reactElement(
-
-
-
- ),
- ];
- },
-});
-
-/**
- * Active Agents Widget Extension
- *
- * Displays running Claude Code agents on the homepage.
- */
-export const activeAgentsWidgetExtension = createExtension({
- name: 'active-agents-widget',
- attachTo: { id: 'page:app/operator-home', input: 'widgets' },
- output: [coreExtensionData.reactElement],
- factory() {
- const LazyActiveAgents = React.lazy(() =>
- import('../components/home/widgets/ActiveAgentsCard').then(m => ({
- default: m.ActiveAgentsCard,
- }))
- );
-
- return [
- coreExtensionData.reactElement(
-
-
-
- ),
- ];
- },
-});
-
-/**
- * Issue Types Widget Extension
- *
- * Displays quick access to issue types management on the homepage.
- */
-export const issueTypesWidgetExtension = createExtension({
- name: 'issue-types-widget',
- attachTo: { id: 'page:app/operator-home', input: 'widgets' },
- output: [coreExtensionData.reactElement],
- factory() {
- const LazyIssueTypes = React.lazy(() =>
- import('../components/home/widgets/IssueTypesCard').then(m => ({
- default: m.IssueTypesCard,
- }))
- );
-
- return [
- coreExtensionData.reactElement(
-
-
-
- ),
- ];
- },
-});
-
-// Export all homepage-related extensions
-export const homepageExtensions = [
- homePageExtension,
- queueStatusWidgetExtension,
- activeAgentsWidgetExtension,
- issueTypesWidgetExtension,
-];
diff --git a/backstage-server/packages/app/src/extensions/index.ts b/backstage-server/packages/app/src/extensions/index.ts
deleted file mode 100644
index 83bd30e1..00000000
--- a/backstage-server/packages/app/src/extensions/index.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * Frontend Extensions
- *
- * Barrel export for all app extensions used with the new frontend system.
- */
-
-export {
- homeRouteRef,
- homePageExtension,
- queueStatusWidgetExtension,
- activeAgentsWidgetExtension,
- issueTypesWidgetExtension,
- homepageExtensions,
-} from './homepage';
diff --git a/backstage-server/packages/app/src/index.tsx b/backstage-server/packages/app/src/index.tsx
deleted file mode 100644
index 71beb5c9..00000000
--- a/backstage-server/packages/app/src/index.tsx
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Operator Backstage Frontend Entry Point
- *
- * Uses the new Backstage frontend system with extension-based architecture.
- * Set localStorage key 'USE_LEGACY_APP' to 'true' to use legacy App.tsx.
- */
-
-// Import BUI base styles (must be first)
-import '@backstage/ui/css/styles.css';
-// Import our custom theme overrides
-import './theme/operator-theme.css';
-
-import React from 'react';
-import ReactDOM from 'react-dom/client';
-import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
-
-// Query client for server state management (shared config with App.tsx)
-const queryClient = new QueryClient({
- defaultOptions: {
- queries: {
- retry: 1,
- staleTime: 30000,
- },
- },
-});
-
-// Feature flag for legacy app (check localStorage only - env handled by bundler)
-const useLegacyApp = localStorage.getItem('USE_LEGACY_APP') === 'true';
-
-const root = ReactDOM.createRoot(
- document.getElementById('root') as HTMLElement
-);
-
-if (useLegacyApp) {
- // Legacy app with manual routing
- import('./App').then(({ default: App }) => {
- root.render(
-
-
-
- );
- });
-} else {
- // New frontend system with extensions
- import('./AppNew').then(({ createNewApp }) => {
- const app = createNewApp();
- root.render(
-
-
- {app.createRoot()}
-
-
- );
- });
-}
diff --git a/backstage-server/packages/app/src/test/handlers.ts b/backstage-server/packages/app/src/test/handlers.ts
deleted file mode 100644
index bd9cc6e5..00000000
--- a/backstage-server/packages/app/src/test/handlers.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * MSW Handlers
- *
- * Default mock handlers for API routes.
- * Each handler returns successful responses by default.
- * Tests can override handlers for error scenarios.
- */
-
-import { setupServer } from 'msw/node';
-import { http, HttpResponse } from 'msw';
-
-// Default successful responses
-export const handlers = [
- // Kanban board endpoint
- http.get('/api/proxy/operator/api/v1/queue/kanban', () => {
- return HttpResponse.json({
- queue: [],
- running: [],
- awaiting: [],
- done: [],
- total_count: 0,
- last_updated: new Date().toISOString(),
- });
- }),
-
- // Active agents endpoint
- http.get('/api/proxy/operator/api/v1/agents/active', () => {
- return HttpResponse.json({
- agents: [],
- count: 0,
- });
- }),
-
- // Queue status endpoint
- http.get('/api/proxy/operator/api/v1/queue/status', () => {
- return HttpResponse.json({
- queued: 0,
- in_progress: 0,
- awaiting: 0,
- completed: 0,
- by_type: {
- inv: 0,
- fix: 0,
- feat: 0,
- spike: 0,
- },
- });
- }),
-
- // Issue types endpoint
- http.get('/api/proxy/operator/api/v1/issuetypes', () => {
- return HttpResponse.json([]);
- }),
-];
-
-// Create MSW server instance
-export const server = setupServer(...handlers);
diff --git a/backstage-server/packages/app/src/test/setup.ts b/backstage-server/packages/app/src/test/setup.ts
deleted file mode 100644
index 9f3fefa8..00000000
--- a/backstage-server/packages/app/src/test/setup.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * Test Setup
- *
- * Global test setup for DOM, MSW and testing utilities.
- * Uses @happy-dom/global-registrator for proper DOM registration.
- */
-
-import { GlobalRegistrator } from '@happy-dom/global-registrator';
-
-// Register happy-dom globals with a base URL for relative path resolution
-GlobalRegistrator.register({
- url: 'http://localhost:3000',
-});
-
-import { beforeAll, afterEach, afterAll } from 'bun:test';
-import { cleanup } from '@testing-library/react';
-import { server } from './handlers';
-
-// Start MSW server before all tests
-beforeAll(() => server.listen({ onUnhandledRequest: 'error' }));
-
-// Reset handlers and cleanup DOM after each test
-afterEach(() => {
- server.resetHandlers();
- cleanup();
-});
-
-// Close MSW server after all tests
-afterAll(() => server.close());
diff --git a/backstage-server/packages/app/src/test/utils.tsx b/backstage-server/packages/app/src/test/utils.tsx
deleted file mode 100644
index ec7c445f..00000000
--- a/backstage-server/packages/app/src/test/utils.tsx
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Test Utilities
- *
- * Provides render wrapper with QueryClientProvider and other providers.
- * Use renderWithProviders() instead of render() in tests.
- */
-
-import React, { ReactElement } from 'react';
-import { render, RenderOptions, RenderResult } from '@testing-library/react';
-import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
-import { MemoryRouter } from 'react-router-dom';
-
-// Create a fresh QueryClient for each test to prevent state leakage
-function createTestQueryClient() {
- return new QueryClient({
- defaultOptions: {
- queries: {
- // Disable retries in tests for predictable behavior
- retry: false,
- // Disable caching to ensure fresh data
- gcTime: 0,
- staleTime: 0,
- },
- },
- });
-}
-
-interface WrapperProps {
- children: React.ReactNode;
-}
-
-function createWrapper() {
- const queryClient = createTestQueryClient();
-
- return function Wrapper({ children }: WrapperProps) {
- return (
-
-
- {children}
-
-
- );
- };
-}
-
-// Re-export everything from testing-library
-export * from '@testing-library/react';
-
-// Override render to use our wrapper
-export function renderWithProviders(
- ui: ReactElement,
- options?: Omit
-): RenderResult {
- return render(ui, { wrapper: createWrapper(), ...options });
-}
diff --git a/backstage-server/packages/app/src/theme/OperatorThemeProvider.tsx b/backstage-server/packages/app/src/theme/OperatorThemeProvider.tsx
deleted file mode 100644
index 758b7822..00000000
--- a/backstage-server/packages/app/src/theme/OperatorThemeProvider.tsx
+++ /dev/null
@@ -1,265 +0,0 @@
-/**
- * Operator Theme Provider
- *
- * Provides dynamic theming based on branding configuration from the Operator server.
- * Fetches /api/branding on mount and creates a custom Backstage theme from the colors.
- *
- * Features:
- * - Light/dark mode with system preference detection
- * - Auto-derived dark mode colors from light palette
- * - Customizable component styling (4px border radius, flat buttons)
- * - Configurable via ~/.operator/backstage/branding/theme.json
- */
-
-import { createContext, useContext, useEffect, useState, ReactNode } from 'react';
-import {
- UnifiedThemeProvider,
- createUnifiedTheme,
- palettes,
-} from '@backstage/theme';
-
-// Theme configuration from server
-export interface ThemeConfig {
- appTitle: string;
- orgName: string;
- logoPath?: string;
- mode: 'light' | 'dark' | 'system';
- colors: {
- // Core brand colors
- primary: string; // Main action color (Terracotta)
- secondary: string; // Secondary elements (Deep Pine)
- accent: string; // Highlights, light surfaces (Cream)
- warning: string; // Alerts
- muted: string; // Subdued text (Cornflower)
- // Light mode surfaces
- background: string; // Page background
- surface: string; // Card/paper background
- text: string; // Primary text color
- // Navigation scale (4 levels, L1=lightest, L4=darkest)
- navL1: string; // Nav button default (Sage)
- navL2: string; // Nav hover (Teal)
- navL3: string; // Nav selected (Deep Pine)
- navL4: string; // Nav background/darkest (Midnight)
- };
- components?: {
- borderRadius?: number; // Default: 4
- };
-}
-
-// Default theme config (matches docs/assets/css/main.css)
-const defaultThemeConfig: ThemeConfig = {
- appTitle: 'Operator!',
- orgName: 'Operator!',
- logoPath: 'logo.svg',
- mode: 'system', // Respects OS light/dark preference
- colors: {
- // Core brand (from docs palette)
- primary: '#E05D44', // Terracotta
- secondary: '#115566', // Deep Pine
- accent: '#F2EAC9', // Cream
- warning: '#E05D44', // Terracotta
- muted: '#6688AA', // Cornflower
- // Light mode surfaces
- background: '#faf8f5', // Warm off-white
- surface: '#ffffff', // Pure white cards
- text: '#115566', // Deep Pine
- // Navigation green scale (L1=lightest, L4=darkest)
- navL1: '#66AA99', // Sage - button default
- navL2: '#448880', // Teal - hover
- navL3: '#115566', // Deep Pine - selected
- navL4: '#082226', // Midnight - nav background
- },
- components: {
- borderRadius: 4, // Subtle rounding
- },
-};
-
-// Context for accessing theme config
-const ThemeConfigContext = createContext(null);
-
-// Hook to access theme configuration
-export function useOperatorTheme(): ThemeConfig | null {
- return useContext(ThemeConfigContext);
-}
-
-// Hook to detect system dark mode preference
-function usePrefersDarkMode(): boolean {
- const [prefersDark, setPrefersDark] = useState(
- () => typeof window !== 'undefined'
- ? window.matchMedia('(prefers-color-scheme: dark)').matches
- : false
- );
-
- useEffect(() => {
- if (typeof window === 'undefined') {return;}
-
- const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
- const handler = (e: MediaQueryListEvent) => setPrefersDark(e.matches);
- mediaQuery.addEventListener('change', handler);
- return () => mediaQuery.removeEventListener('change', handler);
- }, []);
-
- return prefersDark;
-}
-
-// Auto-derive dark mode colors from light palette
-interface DarkColors {
- background: string;
- surface: string;
- text: string;
- navButton: string;
- navHover: string;
- navSelected: string;
-}
-
-function deriveDarkColors(colors: ThemeConfig['colors']): DarkColors {
- return {
- background: colors.navL4, // Midnight
- surface: colors.navL3, // Deep Pine
- text: colors.accent, // Cream
- navButton: colors.navL2, // Teal (inverted)
- navHover: colors.navL1, // Sage (inverted)
- navSelected: colors.accent, // Cream text on dark
- };
-}
-
-// Create a Backstage unified theme from our config
-function createOperatorTheme(config: ThemeConfig, isDark: boolean) {
- const basePalette = isDark ? palettes.dark : palettes.light;
- const dark = isDark ? deriveDarkColors(config.colors) : null;
- const radius = config.components?.borderRadius ?? 4;
-
- return createUnifiedTheme({
- palette: {
- ...basePalette,
- primary: { main: config.colors.primary },
- secondary: { main: config.colors.secondary },
- warning: { main: config.colors.warning },
- background: {
- default: isDark ? dark!.background : config.colors.background,
- paper: isDark ? dark!.surface : config.colors.surface,
- },
- text: {
- primary: isDark ? dark!.text : config.colors.text,
- secondary: config.colors.muted,
- },
- navigation: {
- background: config.colors.navL4,
- indicator: config.colors.primary,
- color: isDark ? dark!.navSelected : config.colors.accent,
- selectedColor: isDark ? dark!.navSelected : '#ffffff',
- navItem: {
- hoverBackground: isDark ? dark!.navHover : config.colors.navL2,
- },
- },
- },
- components: {
- // Flat buttons with subtle rounding
- MuiButton: {
- styleOverrides: {
- root: {
- borderRadius: radius,
- textTransform: 'none' as const,
- boxShadow: 'none',
- '&:hover': { boxShadow: 'none' },
- },
- },
- },
- // Cards with subtle shadow
- MuiCard: {
- styleOverrides: {
- root: {
- borderRadius: radius + 2,
- boxShadow: isDark
- ? '0 1px 3px rgba(0,0,0,0.3)'
- : '0 1px 3px rgba(0,0,0,0.08)',
- },
- },
- },
- // Paper surfaces
- MuiPaper: {
- styleOverrides: {
- root: { borderRadius: radius },
- },
- },
- // Square-ish chips (not pills)
- MuiChip: {
- styleOverrides: {
- root: { borderRadius: radius },
- },
- },
- // Text fields
- MuiTextField: {
- styleOverrides: {
- root: {
- '& .MuiOutlinedInput-root': { borderRadius: radius },
- },
- },
- },
- // Outlined inputs
- MuiOutlinedInput: {
- styleOverrides: {
- root: { borderRadius: radius },
- },
- },
- },
- });
-}
-
-// Merge loaded config with defaults, handling partial configs
-function mergeConfig(loaded: Partial): ThemeConfig {
- return {
- ...defaultThemeConfig,
- ...loaded,
- colors: {
- ...defaultThemeConfig.colors,
- ...(loaded.colors || {}),
- },
- components: {
- ...defaultThemeConfig.components,
- ...(loaded.components || {}),
- },
- };
-}
-
-interface OperatorThemeProviderProps {
- children: ReactNode;
-}
-
-export function OperatorThemeProvider({ children }: OperatorThemeProviderProps) {
- const [config, setConfig] = useState(defaultThemeConfig);
- const [loading, setLoading] = useState(true);
- const prefersDarkMode = usePrefersDarkMode();
-
- useEffect(() => {
- fetch('/api/branding')
- .then(res => res.json())
- .then((data: Partial) => {
- setConfig(mergeConfig(data));
- setLoading(false);
- })
- .catch(() => {
- // Use defaults if fetch fails
- setLoading(false);
- });
- }, []);
-
- // Show loading state briefly while fetching config
- if (loading) {
- return null;
- }
-
- // Determine if dark mode should be active
- const isDark = config.mode === 'dark' ||
- (config.mode === 'system' && prefersDarkMode);
-
- const theme = createOperatorTheme(config, isDark);
-
- return (
-
-
- {children}
-
-
- );
-}
diff --git a/backstage-server/packages/app/src/theme/index.ts b/backstage-server/packages/app/src/theme/index.ts
deleted file mode 100644
index 92b646dd..00000000
--- a/backstage-server/packages/app/src/theme/index.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-/**
- * Theme module exports
- */
-
-export { OperatorThemeProvider, useOperatorTheme } from './OperatorThemeProvider';
diff --git a/backstage-server/packages/app/src/theme/operator-theme.css b/backstage-server/packages/app/src/theme/operator-theme.css
deleted file mode 100644
index 3296ffb2..00000000
--- a/backstage-server/packages/app/src/theme/operator-theme.css
+++ /dev/null
@@ -1,213 +0,0 @@
-/**
- * Operator Portal Theme - BUI CSS Variables
- * Based on docs/assets/css/main.css color palette
- *
- * Color Reference:
- * - Terracotta: #E05D44 (primary, actions)
- * - Cornflower: #6688AA (muted text)
- * - Cream: #F2EAC9 (accent, sidebar)
- * - Sage: #66AA99 (nav buttons)
- * - Teal: #448880 (hover)
- * - Deep Pine: #115566 (text, selected)
- * - Midnight: #082226 (dark mode bg)
- */
-
-/* Light Mode */
-[data-theme-mode='light'], :root {
- /* Core backgrounds */
- --bui-bg: #faf8f5;
- --bui-bg-surface-1: #ffffff;
- --bui-bg-surface-2: #F2EAC9;
- --bui-bg-solid: #E05D44;
-
- /* Foregrounds */
- --bui-fg-primary: #115566;
- --bui-fg-secondary: #6688AA;
- --bui-fg-muted: #6688AA;
-
- /* Brand colors */
- --bui-primary: #E05D44;
- --bui-secondary: #115566;
- --bui-accent: #F2EAC9;
-
- /* Borders */
- --bui-border: rgba(17, 85, 102, 0.15);
-
- /* Navigation sidebar (Light Cream) */
- --bui-sidebar-bg: #F2EAC9;
- --bui-sidebar-fg: #115566;
- --bui-sidebar-hover: #66AA99;
- --bui-sidebar-selected: #115566;
- --bui-sidebar-selected-bg: #66AA99;
-
- /* Radius - subtle rounding */
- --bui-radius-1: 4px;
- --bui-radius-2: 6px;
- --bui-radius-3: 8px;
-
- /* Gray scale (for compatibility) */
- --bui-gray-1: #faf8f5;
- --bui-gray-2: #F2EAC9;
- --bui-gray-3: #e0d9c0;
- --bui-gray-4: #c5bda5;
- --bui-gray-5: #6688AA;
- --bui-gray-6: #448880;
- --bui-gray-7: #115566;
- --bui-gray-8: #082226;
-}
-
-/* Dark Mode */
-[data-theme-mode='dark'] {
- --bui-bg: #082226;
- --bui-bg-surface-1: #115566;
- --bui-bg-surface-2: #448880;
- --bui-bg-solid: #E05D44;
-
- --bui-fg-primary: #F2EAC9;
- --bui-fg-secondary: #66AA99;
- --bui-fg-muted: #6688AA;
-
- --bui-primary: #E05D44;
- --bui-border: rgba(242, 234, 201, 0.2);
-
- /* Dark sidebar */
- --bui-sidebar-bg: #082226;
- --bui-sidebar-fg: #F2EAC9;
- --bui-sidebar-hover: #448880;
- --bui-sidebar-selected-bg: #115566;
-
- /* Gray scale inverted */
- --bui-gray-1: #082226;
- --bui-gray-2: #115566;
- --bui-gray-3: #448880;
- --bui-gray-4: #66AA99;
- --bui-gray-5: #6688AA;
- --bui-gray-6: #c5bda5;
- --bui-gray-7: #F2EAC9;
- --bui-gray-8: #faf8f5;
-}
-
-/* ============================================
- * BUI Component Overrides
- * ============================================ */
-
-.bui-Button {
- border-radius: var(--bui-radius-1);
- text-transform: none;
-}
-
-.bui-Card {
- border-radius: var(--bui-radius-2);
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
-}
-
-/* ============================================
- * Backstage Sidebar Overrides (Light Cream)
- * ============================================ */
-
-/* Main sidebar container */
-[data-testid="sidebar-root"],
-nav[aria-label="sidebar nav"] > div {
- background-color: var(--bui-sidebar-bg) !important;
- color: var(--bui-sidebar-fg) !important;
-}
-
-/* Sidebar title/logo text */
-nav[aria-label="sidebar nav"] span {
- color: var(--bui-sidebar-fg) !important;
-}
-
-/* Sidebar nav items */
-nav[aria-label="sidebar nav"] a,
-nav[aria-label="sidebar nav"] button {
- color: var(--bui-sidebar-fg) !important;
-}
-
-/* Sidebar item hover */
-nav[aria-label="sidebar nav"] a:hover,
-nav[aria-label="sidebar nav"] button:hover {
- background-color: var(--bui-sidebar-hover) !important;
- color: #ffffff !important;
-}
-
-/* Active/selected sidebar item */
-nav[aria-label="sidebar nav"] a[aria-current="page"] {
- background-color: var(--bui-sidebar-selected-bg) !important;
- color: #ffffff !important;
-}
-
-/* Sidebar dividers */
-nav[aria-label="sidebar nav"] hr {
- border-color: var(--bui-sidebar-fg) !important;
- opacity: 0.2;
-}
-
-/* Sidebar icons */
-nav[aria-label="sidebar nav"] svg {
- fill: currentColor !important;
-}
-
-/* ============================================
- * Main Content Area
- * ============================================ */
-
-/* Main background */
-main {
- background-color: var(--bui-bg) !important;
-}
-
-/* Page headers */
-header {
- background: linear-gradient(135deg, var(--bui-primary) 0%, var(--bui-secondary) 100%) !important;
- color: #ffffff !important;
-}
-
-header h1,
-header span {
- color: #ffffff !important;
-}
-
-/* ============================================
- * MUI Component Overrides (Legacy Support)
- * ============================================ */
-
-/* Cards */
-.MuiCard-root,
-.MuiPaper-root {
- background-color: var(--bui-bg-surface-1) !important;
- border-radius: var(--bui-radius-2) !important;
-}
-
-/* Typography */
-.MuiTypography-root {
- color: var(--bui-fg-primary);
-}
-
-.MuiTypography-colorTextSecondary {
- color: var(--bui-fg-secondary) !important;
-}
-
-/* Buttons */
-.MuiButton-root {
- border-radius: var(--bui-radius-1) !important;
- text-transform: none !important;
-}
-
-.MuiButton-containedPrimary {
- background-color: var(--bui-primary) !important;
-}
-
-/* Icons */
-.MuiSvgIcon-root {
- color: var(--bui-primary);
-}
-
-/* Text fields */
-.MuiOutlinedInput-root {
- border-radius: var(--bui-radius-1) !important;
-}
-
-/* Chips */
-.MuiChip-root {
- border-radius: var(--bui-radius-1) !important;
-}
diff --git a/backstage-server/packages/backend/package.json b/backstage-server/packages/backend/package.json
deleted file mode 100644
index 0d330ca3..00000000
--- a/backstage-server/packages/backend/package.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "name": "backend",
- "version": "0.0.0",
- "private": true,
- "main": "dist/index.cjs.js",
- "backstage": {
- "role": "backend"
- },
- "scripts": {
- "start": "backstage-cli package start",
- "build": "backstage-cli package build"
- },
- "dependencies": {
- "@backstage/backend-defaults": "^0.4.0",
- "@backstage/plugin-app-backend": "^0.3.0",
- "@backstage/plugin-auth-backend": "^0.22.0",
- "@backstage/plugin-auth-backend-module-guest-provider": "^0.1.0",
- "@backstage/plugin-catalog-backend": "^1.24.0",
- "@backstage/plugin-proxy-backend": "^0.5.0"
- }
-}
diff --git a/backstage-server/packages/backend/src/__tests__/smoke.test.ts b/backstage-server/packages/backend/src/__tests__/smoke.test.ts
deleted file mode 100644
index 3be28ae7..00000000
--- a/backstage-server/packages/backend/src/__tests__/smoke.test.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import { describe, test, expect } from 'bun:test';
-
-describe('backend smoke tests', () => {
- test('backend package exists', () => {
- // Placeholder: backend entry point has side effects (starts server)
- // Add meaningful tests when backend exports testable modules
- expect(true).toBe(true);
- });
-});
diff --git a/backstage-server/packages/backend/src/index.ts b/backstage-server/packages/backend/src/index.ts
deleted file mode 100644
index b265e6fe..00000000
--- a/backstage-server/packages/backend/src/index.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * Operator Backstage Backend
- *
- * Minimal Bun-based backend for local catalog browsing.
- * Includes proxy for Operator API integration.
- */
-
-import { createBackend } from '@backstage/backend-defaults';
-
-const backend = createBackend();
-
-// Core plugins
-backend.add(import('@backstage/plugin-app-backend'));
-backend.add(import('@backstage/plugin-catalog-backend'));
-
-// Proxy for Operator REST API
-backend.add(import('@backstage/plugin-proxy-backend'));
-
-// Auth with guest provider
-backend.add(import('@backstage/plugin-auth-backend'));
-backend.add(import('@backstage/plugin-auth-backend-module-guest-provider'));
-
-// Start the backend
-backend.start();
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/package.json b/backstage-server/packages/plugins/plugin-issuetypes/package.json
deleted file mode 100644
index 20effd2f..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/package.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "name": "@operator/plugin-issuetypes",
- "version": "0.0.0",
- "private": true,
- "main": "src/index.ts",
- "types": "src/index.ts",
- "exports": {
- ".": "./src/index.ts",
- "./alpha": "./src/alpha.tsx",
- "./package.json": "./package.json"
- },
- "typesVersions": {
- "*": {
- "alpha": ["src/alpha.tsx"]
- }
- },
- "backstage": {
- "role": "frontend-plugin",
- "pluginId": "issuetypes",
- "pluginPackages": ["@operator/plugin-issuetypes"]
- },
- "scripts": {
- "start": "backstage-cli package start",
- "build": "backstage-cli package build"
- },
- "dependencies": {
- "@backstage/core-components": "^0.14.0",
- "@backstage/core-plugin-api": "^1.9.0",
- "@backstage/frontend-plugin-api": "^0.13.2",
- "@backstage/theme": "^0.5.0",
- "react": "^18.2.0",
- "react-router-dom": "^6.0.0"
- },
- "devDependencies": {
- "@backstage/cli": "^0.27.0",
- "@material-ui/core": "^4.12.4",
- "@types/react": "^18"
- },
- "peerDependencies": {
- "@material-ui/core": "^4.12.0",
- "react": "^18.0.0"
- }
-}
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/__tests__/routing.test.tsx b/backstage-server/packages/plugins/plugin-issuetypes/src/__tests__/routing.test.tsx
deleted file mode 100644
index 07eaf123..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/__tests__/routing.test.tsx
+++ /dev/null
@@ -1,127 +0,0 @@
-/**
- * Routing Tests
- *
- * Tests that verify route configuration and component exports for navigation.
- * Uses bun:test for smoke-style testing.
- *
- * These tests verify that:
- * 1. Components are properly exported from the plugin
- * 2. Navigation patterns use relative paths (for flat routes)
- * 3. The App.tsx uses flat routes (not nested)
- */
-
-import { describe, test, expect } from 'bun:test';
-import * as fs from 'fs';
-import * as path from 'path';
-
-describe('IssueTypes Route Configuration', () => {
- test('App.tsx uses flat routes for issuetypes', () => {
- // Read the App.tsx file to verify routes are flat
- const appPath = path.resolve(
- __dirname,
- '../../../../app/src/App.tsx',
- );
- const content = fs.readFileSync(appPath, 'utf-8');
-
- // Should have flat routes (each route is independent, not nested)
- expect(content).toContain('path="/issuetypes"');
- expect(content).toContain('path="/issuetypes/new"');
- expect(content).toContain('path="/issuetypes/collections"');
- expect(content).toContain('path="/issuetypes/:key"');
- expect(content).toContain('path="/issuetypes/:key/edit"');
-
- // Each route should use its own element prop (not nested children)
- expect(content).toContain('element={}');
- expect(content).toContain('element={}');
- expect(content).toContain('element={}');
- expect(content).toContain('element={}');
- });
-
- test('plugin exports all page components', async () => {
- // Read the plugin index.ts to verify exports
- const indexPath = path.resolve(__dirname, '../index.ts');
- const content = fs.readFileSync(indexPath, 'utf-8');
-
- expect(content).toContain('IssueTypesPage');
- expect(content).toContain('IssueTypeDetailPage');
- expect(content).toContain('IssueTypeFormPage');
- expect(content).toContain('CollectionsPage');
- });
-});
-
-describe('Navigation Patterns', () => {
- test('IssueTypesPage uses relative links for navigation', () => {
- const componentPath = path.resolve(
- __dirname,
- '../components/IssueTypesPage.tsx',
- );
- const content = fs.readFileSync(componentPath, 'utf-8');
-
- // Check that the Create Issue Type button uses relative "new" path
- expect(content).toContain('to="new"');
-
- // Check that Collections button uses relative "collections" path
- expect(content).toContain('to="collections"');
-
- // Check that row links use relative paths (just the key)
- expect(content).toContain('to={row.key}');
- });
-
- test('IssueTypeFormPage uses navigate for programmatic navigation', () => {
- const componentPath = path.resolve(
- __dirname,
- '../components/IssueTypeFormPage.tsx',
- );
- const content = fs.readFileSync(componentPath, 'utf-8');
-
- // Uses useNavigate hook
- expect(content).toContain('useNavigate');
-
- // Navigates back with relative path
- expect(content).toContain("navigate('..')");
- });
-
- test('IssueTypeDetailPage exists and handles key param', () => {
- const componentPath = path.resolve(
- __dirname,
- '../components/IssueTypeDetailPage.tsx',
- );
- const content = fs.readFileSync(componentPath, 'utf-8');
-
- // Should use useParams to get the key
- expect(content).toContain('useParams');
- expect(content).toContain('key');
- });
-});
-
-describe('Route Priority (flat routes ensure specificity)', () => {
- test('/issuetypes/new is more specific than /issuetypes/:key', () => {
- const appPath = path.resolve(
- __dirname,
- '../../../../app/src/App.tsx',
- );
- const content = fs.readFileSync(appPath, 'utf-8');
-
- // Get positions of routes
- const newRoutePos = content.indexOf('path="/issuetypes/new"');
- const keyRoutePos = content.indexOf('path="/issuetypes/:key"');
-
- // /issuetypes/new should come before /issuetypes/:key for proper matching
- expect(newRoutePos).toBeLessThan(keyRoutePos);
- });
-
- test('/issuetypes/collections is more specific than /issuetypes/:key', () => {
- const appPath = path.resolve(
- __dirname,
- '../../../../app/src/App.tsx',
- );
- const content = fs.readFileSync(appPath, 'utf-8');
-
- // Get positions of routes
- const collectionsRoutePos = content.indexOf('path="/issuetypes/collections"');
- const keyRoutePos = content.indexOf('path="/issuetypes/:key"');
-
- // /issuetypes/collections should come before /issuetypes/:key
- expect(collectionsRoutePos).toBeLessThan(keyRoutePos);
- });
-});
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/__tests__/smoke.test.ts b/backstage-server/packages/plugins/plugin-issuetypes/src/__tests__/smoke.test.ts
deleted file mode 100644
index 4f77b63a..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/__tests__/smoke.test.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-import { describe, test, expect } from 'bun:test';
-
-describe('plugin-issuetypes smoke tests', () => {
- test('plugin exports are defined', async () => {
- const plugin = await import('../index');
- expect(plugin).toBeDefined();
- expect(plugin.issueTypesPlugin).toBeDefined();
- expect(plugin.operatorApiRef).toBeDefined();
- });
-
- test('Chip component renders', async () => {
- const { Chip } = await import('../components/ui');
- expect(Chip).toBeDefined();
- expect(typeof Chip).toBe('function');
- });
-
- test('API types are exported', async () => {
- const types = await import('../api/types');
- expect(types.STEP_OUTPUTS).toBeDefined();
- expect(types.ALLOWED_TOOLS).toBeDefined();
- });
-
- test('hooks are exported', async () => {
- const hooks = await import('../hooks');
- expect(hooks.useIssueTypes).toBeDefined();
- expect(hooks.useIssueType).toBeDefined();
- expect(hooks.useCreateIssueType).toBeDefined();
- expect(hooks.useCollections).toBeDefined();
- expect(hooks.useSteps).toBeDefined();
- });
-
- test('mock API works', async () => {
- const { createMockOperatorApi, mockIssueTypeSummaries } = await import(
- './test-utils'
- );
- const api = createMockOperatorApi();
-
- const issueTypes = await api.listIssueTypes();
- expect(issueTypes).toEqual(mockIssueTypeSummaries);
- expect(issueTypes.length).toBe(4);
-
- const feat = await api.getIssueType('FEAT');
- expect(feat.key).toBe('FEAT');
- expect(feat.mode).toBe('autonomous');
-
- const collections = await api.listCollections();
- expect(collections.length).toBe(2);
- });
-});
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/__tests__/test-utils/index.ts b/backstage-server/packages/plugins/plugin-issuetypes/src/__tests__/test-utils/index.ts
deleted file mode 100644
index 7ea4c192..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/__tests__/test-utils/index.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Test utilities exports.
- */
-
-export {
- createMockOperatorApi,
- mockIssueTypeSummaries,
- mockIssueTypeResponse,
- mockFields,
- mockSteps,
- mockCollections,
- mockStatus,
-} from './mockApi';
-
-export { renderWithProviders, renderWithRoutes } from './renderWithProviders';
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/__tests__/test-utils/mockApi.ts b/backstage-server/packages/plugins/plugin-issuetypes/src/__tests__/test-utils/mockApi.ts
deleted file mode 100644
index c969eb5e..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/__tests__/test-utils/mockApi.ts
+++ /dev/null
@@ -1,282 +0,0 @@
-/**
- * Mock Operator API for testing.
- */
-import type { OperatorApi } from '../../api';
-import type {
- IssueTypeSummary,
- IssueTypeResponse,
- CollectionResponse,
- StepResponse,
- StatusResponse,
- FieldResponse,
-} from '../../api/types';
-
-/** Mock issue type summaries */
-export const mockIssueTypeSummaries: IssueTypeSummary[] = [
- {
- key: 'FEAT',
- name: 'Feature',
- description: 'New feature implementation',
- mode: 'autonomous',
- glyph: '*',
- source: 'builtin',
- step_count: 5,
- },
- {
- key: 'FIX',
- name: 'Fix',
- description: 'Bug fix',
- mode: 'autonomous',
- glyph: '#',
- source: 'builtin',
- step_count: 3,
- },
- {
- key: 'TASK',
- name: 'Task',
- description: 'Simple task',
- mode: 'autonomous',
- glyph: '>',
- source: 'builtin',
- step_count: 1,
- },
- {
- key: 'SPIKE',
- name: 'Spike',
- description: 'Research spike',
- mode: 'paired',
- glyph: '?',
- source: 'builtin',
- step_count: 3,
- },
-];
-
-/** Mock fields for an issue type */
-export const mockFields: FieldResponse[] = [
- {
- name: 'id',
- description: 'Unique ticket ID',
- field_type: 'string',
- required: true,
- options: [],
- user_editable: false,
- },
- {
- name: 'summary',
- description: 'Brief summary of the task',
- field_type: 'string',
- required: true,
- placeholder: 'Enter a brief summary',
- max_length: 120,
- options: [],
- user_editable: true,
- },
- {
- name: 'priority',
- description: 'Task priority',
- field_type: 'enum',
- required: true,
- default: 'P2-medium',
- options: ['P0-critical', 'P1-high', 'P2-medium', 'P3-low'],
- user_editable: true,
- },
-];
-
-/** Mock steps for an issue type */
-export const mockSteps: StepResponse[] = [
- {
- name: 'plan',
- display_name: 'Plan',
- prompt: 'Create a plan for implementing the feature',
- outputs: ['plan'],
- allowed_tools: ['Read', 'Glob', 'Grep'],
- requires_review: true,
- next_step: 'build',
- permission_mode: 'plan',
- },
- {
- name: 'build',
- display_name: 'Build',
- prompt: 'Implement the feature according to the plan',
- outputs: ['code'],
- allowed_tools: ['Read', 'Write', 'Edit', 'Glob', 'Grep', 'Bash'],
- requires_review: false,
- next_step: 'test',
- permission_mode: 'default',
- },
- {
- name: 'test',
- display_name: 'Test',
- prompt: 'Write and run tests for the implementation',
- outputs: ['test', 'code'],
- allowed_tools: ['Read', 'Write', 'Edit', 'Glob', 'Grep', 'Bash'],
- requires_review: false,
- permission_mode: 'default',
- },
-];
-
-/** Mock full issue type response */
-export const mockIssueTypeResponse: IssueTypeResponse = {
- key: 'FEAT',
- name: 'Feature',
- description: 'New feature implementation',
- mode: 'autonomous',
- glyph: '*',
- color: 'green',
- project_required: true,
- source: 'builtin',
- fields: mockFields,
- steps: mockSteps,
-};
-
-/** Mock collections */
-export const mockCollections: CollectionResponse[] = [
- {
- name: 'default',
- description: 'Default collection with all issue types',
- types: ['FEAT', 'FIX', 'TASK', 'SPIKE', 'INV'],
- is_active: true,
- },
- {
- name: 'minimal',
- description: 'Minimal collection for simple tasks',
- types: ['TASK', 'FIX'],
- is_active: false,
- },
-];
-
-/** Mock status response */
-export const mockStatus: StatusResponse = {
- status: 'ok',
- version: '0.1.0',
- issuetype_count: 4,
- collection_count: 2,
- active_collection: 'default',
-};
-
-/** Create a mock OperatorApi */
-export function createMockOperatorApi(
- overrides: Partial = {},
-): OperatorApi {
- return {
- getStatus: async () => mockStatus,
- listIssueTypes: async () => mockIssueTypeSummaries,
- getIssueType: async (key: string) => {
- const found = mockIssueTypeSummaries.find((t) => t.key === key);
- if (!found) {
- throw new Error(`Issue type not found: ${key}`);
- }
- return {
- ...mockIssueTypeResponse,
- key: found.key,
- name: found.name,
- description: found.description,
- mode: found.mode,
- glyph: found.glyph,
- source: found.source,
- };
- },
- createIssueType: async (request) => ({
- key: request.key,
- name: request.name,
- description: request.description,
- mode: request.mode || 'autonomous',
- glyph: request.glyph,
- color: request.color,
- project_required: request.project_required ?? true,
- source: 'user',
- fields: (request.fields || []).map((f) => ({
- name: f.name,
- description: f.description,
- field_type: f.field_type || 'string',
- required: f.required || false,
- default: f.default,
- options: f.options || [],
- placeholder: f.placeholder,
- max_length: f.max_length,
- user_editable: f.user_editable ?? true,
- })),
- steps: request.steps.map((s) => ({
- name: s.name,
- display_name: s.display_name,
- prompt: s.prompt,
- outputs: s.outputs || [],
- allowed_tools: s.allowed_tools || [],
- requires_review: s.requires_review || false,
- next_step: s.next_step,
- on_reject: s.on_reject,
- permission_mode: s.permission_mode || 'default',
- })),
- }),
- updateIssueType: async (key, request) => ({
- ...mockIssueTypeResponse,
- key,
- name: request.name ?? mockIssueTypeResponse.name,
- description: request.description ?? mockIssueTypeResponse.description,
- mode: request.mode ?? mockIssueTypeResponse.mode,
- glyph: request.glyph ?? mockIssueTypeResponse.glyph,
- color: request.color,
- project_required: request.project_required ?? mockIssueTypeResponse.project_required,
- fields: request.fields
- ? request.fields.map((f) => ({
- name: f.name,
- description: f.description,
- field_type: f.field_type || 'string',
- required: f.required || false,
- default: f.default,
- options: f.options || [],
- placeholder: f.placeholder,
- max_length: f.max_length,
- user_editable: f.user_editable ?? true,
- }))
- : mockIssueTypeResponse.fields,
- steps: request.steps
- ? request.steps.map((s) => ({
- name: s.name,
- display_name: s.display_name,
- prompt: s.prompt,
- outputs: s.outputs || [],
- allowed_tools: s.allowed_tools || [],
- requires_review: s.requires_review || false,
- next_step: s.next_step,
- on_reject: s.on_reject,
- permission_mode: s.permission_mode || 'default',
- }))
- : mockIssueTypeResponse.steps,
- }),
- deleteIssueType: async () => {},
- getSteps: async () => mockSteps,
- getStep: async (_key, stepName) => {
- const found = mockSteps.find((s) => s.name === stepName);
- if (!found) {
- throw new Error(`Step not found: ${stepName}`);
- }
- return found;
- },
- updateStep: async (_key, stepName, request) => {
- const found = mockSteps.find((s) => s.name === stepName);
- if (!found) {
- throw new Error(`Step not found: ${stepName}`);
- }
- return { ...found, ...request };
- },
- listCollections: async () => mockCollections,
- getActiveCollection: async () =>
- mockCollections.find((c) => c.is_active) || mockCollections[0],
- getCollection: async (name) => {
- const found = mockCollections.find((c) => c.name === name);
- if (!found) {
- throw new Error(`Collection not found: ${name}`);
- }
- return found;
- },
- activateCollection: async (name) => {
- const found = mockCollections.find((c) => c.name === name);
- if (!found) {
- throw new Error(`Collection not found: ${name}`);
- }
- return { ...found, is_active: true };
- },
- ...overrides,
- };
-}
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/__tests__/test-utils/renderWithProviders.tsx b/backstage-server/packages/plugins/plugin-issuetypes/src/__tests__/test-utils/renderWithProviders.tsx
deleted file mode 100644
index 6870e9c1..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/__tests__/test-utils/renderWithProviders.tsx
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * Test utilities for rendering components with all required providers.
- *
- * NOTE: These utilities require @testing-library/react and @backstage/test-utils
- * to be installed. They are intended for future integration tests in a browser-like
- * environment. For now, use the simpler bun:test smoke tests.
- *
- * Usage (when dependencies are installed):
- * import { renderWithProviders } from './test-utils';
- * const { getByText } = renderWithProviders(, { route: '/issuetypes' });
- */
-
-import type React from 'react';
-
-/**
- * Type definitions for test utilities.
- * These mirror the APIs from @testing-library/react and @backstage/test-utils.
- */
-interface RenderOptions {
- route?: string;
- mockApi?: unknown;
- routes?: React.ReactNode;
-}
-
-interface RenderResult {
- container: HTMLElement;
- getByText: (text: string) => HTMLElement;
- queryByText: (text: string) => HTMLElement | null;
- findByText: (text: string) => Promise;
-}
-
-/**
- * Placeholder for renderWithProviders.
- *
- * This function requires @testing-library/react and @backstage/test-utils.
- * Install them to enable integration testing:
- * bun add -d @testing-library/react @backstage/test-utils
- */
-function renderWithProviders(
- _ui: React.ReactElement,
- _options: RenderOptions = {},
-): RenderResult {
- throw new Error(
- 'renderWithProviders requires @testing-library/react and @backstage/test-utils. ' +
- 'Install them with: bun add -d @testing-library/react @backstage/test-utils',
- );
-}
-
-/**
- * Placeholder for renderWithRoutes.
- *
- * This function requires @testing-library/react and @backstage/test-utils.
- */
-function renderWithRoutes(
- _routeConfig: Array<{ path: string; element: React.ReactElement }>,
- _options: Omit = {},
-): RenderResult {
- throw new Error(
- 'renderWithRoutes requires @testing-library/react and @backstage/test-utils. ' +
- 'Install them with: bun add -d @testing-library/react @backstage/test-utils',
- );
-}
-
-export { renderWithProviders, renderWithRoutes };
-export type { RenderOptions, RenderResult };
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/alpha.tsx b/backstage-server/packages/plugins/plugin-issuetypes/src/alpha.tsx
deleted file mode 100644
index f04369b7..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/alpha.tsx
+++ /dev/null
@@ -1,166 +0,0 @@
-/**
- * New Frontend System Plugin (Alpha)
- *
- * This module exports the plugin using Backstage's new frontend system
- * with PageBlueprint, NavItemBlueprint, and ApiBlueprint.
- *
- * Usage:
- * import issueTypesPlugin from '@operator/plugin-issuetypes/alpha';
- *
- * const app = createApp({
- * features: [issueTypesPlugin],
- * });
- */
-
-import React from 'react';
-import {
- createFrontendPlugin,
- PageBlueprint,
- NavItemBlueprint,
- ApiBlueprint,
- createRouteRef,
-} from '@backstage/frontend-plugin-api';
-import {
- discoveryApiRef,
- fetchApiRef,
-} from '@backstage/core-plugin-api';
-import { operatorApiRef, OperatorApiClient } from './api';
-
-// Route References for the new frontend system
-const rootRouteRef = createRouteRef();
-const detailRouteRef = createRouteRef({ params: ['key'] });
-const formRouteRef = createRouteRef();
-const editRouteRef = createRouteRef({ params: ['key'] });
-const collectionsRouteRef = createRouteRef();
-
-// Icons for navigation
-const IssueTypesIcon = () => (
-
-);
-
-const CollectionsIcon = () => (
-
-);
-
-// Page Extensions using PageBlueprint
-const issueTypesPage = PageBlueprint.make({
- params: {
- path: '/issuetypes',
- routeRef: rootRouteRef,
- loader: () =>
- import('./components/IssueTypesPage').then(m => ),
- },
-});
-
-const issueTypeDetailPage = PageBlueprint.make({
- name: 'detail',
- params: {
- path: '/issuetypes/:key',
- routeRef: detailRouteRef,
- loader: () =>
- import('./components/IssueTypeDetailPage').then(m => (
-
- )),
- },
-});
-
-const issueTypeFormPage = PageBlueprint.make({
- name: 'form',
- params: {
- path: '/issuetypes/new',
- routeRef: formRouteRef,
- loader: () =>
- import('./components/IssueTypeFormPage').then(m => ),
- },
-});
-
-const issueTypeEditPage = PageBlueprint.make({
- name: 'edit',
- params: {
- path: '/issuetypes/:key/edit',
- routeRef: editRouteRef,
- loader: () =>
- import('./components/IssueTypeFormPage').then(m => ),
- },
-});
-
-const collectionsPage = PageBlueprint.make({
- name: 'collections',
- params: {
- path: '/issuetypes/collections',
- routeRef: collectionsRouteRef,
- loader: () =>
- import('./components/CollectionsPage').then(m => ),
- },
-});
-
-// Navigation Items using NavItemBlueprint
-const issueTypesNavItem = NavItemBlueprint.make({
- params: {
- title: 'Issue Types',
- routeRef: rootRouteRef,
- icon: IssueTypesIcon,
- },
-});
-
-const collectionsNavItem = NavItemBlueprint.make({
- name: 'collections',
- params: {
- title: 'Collections',
- routeRef: collectionsRouteRef,
- icon: CollectionsIcon,
- },
-});
-
-// API Extension using ApiBlueprint with defineParams pattern
-const operatorApi = ApiBlueprint.make({
- params: defineParams =>
- defineParams({
- api: operatorApiRef,
- deps: { discoveryApi: discoveryApiRef, fetchApi: fetchApiRef },
- factory: ({ discoveryApi, fetchApi }) =>
- new OperatorApiClient({ discoveryApi, fetchApi }),
- }),
-});
-
-// Plugin Definition
-export default createFrontendPlugin({
- pluginId: 'issuetypes',
- routes: {
- root: rootRouteRef,
- detail: detailRouteRef,
- form: formRouteRef,
- edit: editRouteRef,
- collections: collectionsRouteRef,
- },
- extensions: [
- // Pages
- issueTypesPage,
- issueTypeDetailPage,
- issueTypeFormPage,
- issueTypeEditPage,
- collectionsPage,
- // Navigation
- issueTypesNavItem,
- collectionsNavItem,
- // API
- operatorApi,
- ],
-});
-
-// Re-export route refs for external use
-export {
- rootRouteRef,
- detailRouteRef,
- formRouteRef,
- editRouteRef,
- collectionsRouteRef,
-};
-
-// Re-export API ref for convenience
-export { operatorApiRef } from './api';
-export type { OperatorApi } from './api';
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/api/OperatorApi.ts b/backstage-server/packages/plugins/plugin-issuetypes/src/api/OperatorApi.ts
deleted file mode 100644
index 0f229a2c..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/api/OperatorApi.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Operator API interface definition.
- */
-import { createApiRef } from '@backstage/core-plugin-api';
-import type {
- IssueTypeSummary,
- IssueTypeResponse,
- CollectionResponse,
- StepResponse,
- StatusResponse,
- CreateIssueTypeRequest,
- UpdateIssueTypeRequest,
- UpdateStepRequest,
-} from './types';
-
-/** Interface for the Operator API */
-export interface OperatorApi {
- // Health & Status
- getStatus(): Promise;
-
- // Issue Types
- listIssueTypes(): Promise;
- getIssueType(key: string): Promise;
- createIssueType(request: CreateIssueTypeRequest): Promise;
- updateIssueType(
- key: string,
- request: UpdateIssueTypeRequest,
- ): Promise;
- deleteIssueType(key: string): Promise;
-
- // Steps
- getSteps(issueTypeKey: string): Promise;
- getStep(issueTypeKey: string, stepName: string): Promise;
- updateStep(
- issueTypeKey: string,
- stepName: string,
- request: UpdateStepRequest,
- ): Promise;
-
- // Collections
- listCollections(): Promise;
- getActiveCollection(): Promise;
- getCollection(name: string): Promise;
- activateCollection(name: string): Promise;
-}
-
-/** API ref for dependency injection */
-export const operatorApiRef = createApiRef({
- id: 'plugin.operator.api',
-});
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/api/OperatorApiClient.ts b/backstage-server/packages/plugins/plugin-issuetypes/src/api/OperatorApiClient.ts
deleted file mode 100644
index b3b4a628..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/api/OperatorApiClient.ts
+++ /dev/null
@@ -1,181 +0,0 @@
-/**
- * Operator API client implementation.
- * Communicates with the Operator REST API via Backstage proxy.
- */
-import type { DiscoveryApi, FetchApi } from '@backstage/core-plugin-api';
-import type { OperatorApi } from './OperatorApi';
-import type {
- IssueTypeSummary,
- IssueTypeResponse,
- CollectionResponse,
- StepResponse,
- StatusResponse,
- CreateIssueTypeRequest,
- UpdateIssueTypeRequest,
- UpdateStepRequest,
- ErrorResponse,
-} from './types';
-
-/** Options for creating the Operator API client */
-export interface OperatorApiClientOptions {
- discoveryApi: DiscoveryApi;
- fetchApi: FetchApi;
-}
-
-/** API client error with status code */
-export class OperatorApiError extends Error {
- constructor(
- message: string,
- public readonly status: number,
- public readonly errorCode?: string,
- ) {
- super(message);
- this.name = 'OperatorApiError';
- }
-}
-
-/** Implementation of the Operator API */
-export class OperatorApiClient implements OperatorApi {
- private readonly discoveryApi: DiscoveryApi;
- private readonly fetchApi: FetchApi;
-
- constructor(options: OperatorApiClientOptions) {
- this.discoveryApi = options.discoveryApi;
- this.fetchApi = options.fetchApi;
- }
-
- /** Get the base URL for the Operator API via proxy */
- private async getBaseUrl(): Promise {
- const proxyUrl = await this.discoveryApi.getBaseUrl('proxy');
- return `${proxyUrl}/operator`;
- }
-
- /** Make a request to the Operator API */
- private async request(path: string, options?: RequestInit): Promise {
- const baseUrl = await this.getBaseUrl();
- const url = `${baseUrl}${path}`;
-
- const response = await this.fetchApi.fetch(url, {
- ...options,
- headers: {
- 'Content-Type': 'application/json',
- ...options?.headers,
- },
- });
-
- if (!response.ok) {
- let errorMessage = `API error: ${response.status} ${response.statusText}`;
- let errorCode: string | undefined;
-
- try {
- const errorBody: ErrorResponse = await response.json();
- errorMessage = errorBody.message;
- errorCode = errorBody.error;
- } catch {
- // Use default error message if parsing fails
- }
-
- throw new OperatorApiError(errorMessage, response.status, errorCode);
- }
-
- // Handle empty responses (e.g., DELETE)
- const contentType = response.headers.get('content-type');
- if (contentType && contentType.includes('application/json')) {
- return response.json();
- }
-
- return undefined as T;
- }
-
- // Health & Status
-
- async getStatus(): Promise {
- return this.request('/api/v1/status');
- }
-
- // Issue Types
-
- async listIssueTypes(): Promise {
- return this.request('/api/v1/issuetypes');
- }
-
- async getIssueType(key: string): Promise {
- return this.request(`/api/v1/issuetypes/${encodeURIComponent(key)}`);
- }
-
- async createIssueType(
- request: CreateIssueTypeRequest,
- ): Promise {
- return this.request('/api/v1/issuetypes', {
- method: 'POST',
- body: JSON.stringify(request),
- });
- }
-
- async updateIssueType(
- key: string,
- request: UpdateIssueTypeRequest,
- ): Promise {
- return this.request(`/api/v1/issuetypes/${encodeURIComponent(key)}`, {
- method: 'PUT',
- body: JSON.stringify(request),
- });
- }
-
- async deleteIssueType(key: string): Promise {
- await this.request(`/api/v1/issuetypes/${encodeURIComponent(key)}`, {
- method: 'DELETE',
- });
- }
-
- // Steps
-
- async getSteps(issueTypeKey: string): Promise {
- return this.request(
- `/api/v1/issuetypes/${encodeURIComponent(issueTypeKey)}/steps`,
- );
- }
-
- async getStep(issueTypeKey: string, stepName: string): Promise {
- return this.request(
- `/api/v1/issuetypes/${encodeURIComponent(issueTypeKey)}/steps/${encodeURIComponent(stepName)}`,
- );
- }
-
- async updateStep(
- issueTypeKey: string,
- stepName: string,
- request: UpdateStepRequest,
- ): Promise {
- return this.request(
- `/api/v1/issuetypes/${encodeURIComponent(issueTypeKey)}/steps/${encodeURIComponent(stepName)}`,
- {
- method: 'PUT',
- body: JSON.stringify(request),
- },
- );
- }
-
- // Collections
-
- async listCollections(): Promise {
- return this.request('/api/v1/collections');
- }
-
- async getActiveCollection(): Promise {
- return this.request('/api/v1/collections/active');
- }
-
- async getCollection(name: string): Promise {
- return this.request(`/api/v1/collections/${encodeURIComponent(name)}`);
- }
-
- async activateCollection(name: string): Promise {
- return this.request(
- `/api/v1/collections/${encodeURIComponent(name)}/activate`,
- {
- method: 'PUT',
- },
- );
- }
-}
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/api/index.ts b/backstage-server/packages/plugins/plugin-issuetypes/src/api/index.ts
deleted file mode 100644
index 8b1d5eb5..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/api/index.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * API module exports.
- */
-
-// API ref and interface
-export { operatorApiRef } from './OperatorApi';
-export type { OperatorApi } from './OperatorApi';
-
-// API client implementation
-export { OperatorApiClient, OperatorApiError } from './OperatorApiClient';
-export type { OperatorApiClientOptions } from './OperatorApiClient';
-
-// Types
-export * from './types';
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/api/types.ts b/backstage-server/packages/plugins/plugin-issuetypes/src/api/types.ts
deleted file mode 100644
index 5985918e..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/api/types.ts
+++ /dev/null
@@ -1,201 +0,0 @@
-/**
- * TypeScript types for the Operator REST API.
- * These mirror the Rust DTOs in src/rest/dto.rs
- */
-
-/** Execution mode for issue types */
-export type ExecutionMode = 'autonomous' | 'paired';
-
-/** Permission mode for steps */
-export type PermissionMode = 'default' | 'plan' | 'acceptEdits' | 'delegate';
-
-/** Field types for issue type fields */
-export type FieldType = 'string' | 'enum' | 'bool' | 'date' | 'text';
-
-/** Step output types */
-export type StepOutput =
- | 'plan'
- | 'code'
- | 'test'
- | 'pr'
- | 'ticket'
- | 'review'
- | 'report'
- | 'documentation';
-
-/** All available step output types */
-export const STEP_OUTPUTS: StepOutput[] = [
- 'plan',
- 'code',
- 'test',
- 'pr',
- 'ticket',
- 'review',
- 'report',
- 'documentation',
-];
-
-/** Common allowed tools for Claude Code */
-export const ALLOWED_TOOLS = [
- 'Read',
- 'Write',
- 'Edit',
- 'Glob',
- 'Grep',
- 'Bash',
- 'Task',
- 'WebFetch',
- 'WebSearch',
- 'LSP',
- 'NotebookEdit',
- 'TodoWrite',
-] as const;
-
-/** Summary response for listing issue types */
-export interface IssueTypeSummary {
- key: string;
- name: string;
- description: string;
- mode: ExecutionMode;
- glyph: string;
- source: string;
- step_count: number;
-}
-
-/** Full response for a single issue type */
-export interface IssueTypeResponse {
- key: string;
- name: string;
- description: string;
- mode: ExecutionMode;
- glyph: string;
- color?: string;
- project_required: boolean;
- source: string;
- fields: FieldResponse[];
- steps: StepResponse[];
-}
-
-/** Response for a field within an issue type */
-export interface FieldResponse {
- name: string;
- description: string;
- field_type: FieldType;
- required: boolean;
- default?: string;
- options: string[];
- placeholder?: string;
- max_length?: number;
- user_editable: boolean;
-}
-
-/** Response for a step within an issue type */
-export interface StepResponse {
- name: string;
- display_name?: string;
- prompt: string;
- outputs: StepOutput[];
- allowed_tools: string[];
- requires_review: boolean;
- next_step?: string;
- on_reject?: OnRejectConfig;
- permission_mode: PermissionMode;
-}
-
-/** On reject configuration for review steps */
-export interface OnRejectConfig {
- goto_step: string;
- prompt?: string;
-}
-
-/** Response for a collection of issue types */
-export interface CollectionResponse {
- name: string;
- description: string;
- types: string[];
- is_active: boolean;
-}
-
-/** Request to create a new issue type */
-export interface CreateIssueTypeRequest {
- key: string;
- name: string;
- description: string;
- mode?: ExecutionMode;
- glyph: string;
- color?: string;
- project_required?: boolean;
- fields?: CreateFieldRequest[];
- steps: CreateStepRequest[];
-}
-
-/** Request to update an existing issue type */
-export interface UpdateIssueTypeRequest {
- name?: string;
- description?: string;
- mode?: ExecutionMode;
- glyph?: string;
- color?: string;
- project_required?: boolean;
- fields?: CreateFieldRequest[];
- steps?: CreateStepRequest[];
-}
-
-/** Request to create a field */
-export interface CreateFieldRequest {
- name: string;
- description: string;
- field_type?: FieldType;
- required?: boolean;
- default?: string;
- options?: string[];
- placeholder?: string;
- max_length?: number;
- user_editable?: boolean;
-}
-
-/** Request to create a step */
-export interface CreateStepRequest {
- name: string;
- display_name?: string;
- prompt: string;
- outputs?: StepOutput[];
- allowed_tools?: string[];
- requires_review?: boolean;
- next_step?: string;
- on_reject?: OnRejectConfig;
- permission_mode?: PermissionMode;
-}
-
-/** Request to update a step */
-export interface UpdateStepRequest {
- display_name?: string;
- prompt?: string;
- outputs?: StepOutput[];
- allowed_tools?: string[];
- requires_review?: boolean;
- next_step?: string;
- on_reject?: OnRejectConfig;
- permission_mode?: PermissionMode;
-}
-
-/** Health check response */
-export interface HealthResponse {
- status: string;
- version: string;
-}
-
-/** Status response with registry info */
-export interface StatusResponse {
- status: string;
- version: string;
- issuetype_count: number;
- collection_count: number;
- active_collection: string;
-}
-
-/** Error response from the API */
-export interface ErrorResponse {
- error: string;
- message: string;
-}
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/components/CollectionsPage.tsx b/backstage-server/packages/plugins/plugin-issuetypes/src/components/CollectionsPage.tsx
deleted file mode 100644
index 961294c0..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/components/CollectionsPage.tsx
+++ /dev/null
@@ -1,127 +0,0 @@
-/**
- * Collections Page
- *
- * Manage issue type collections (sets of issue types for different workflows).
- */
-
-import React from 'react';
-import { Link as RouterLink } from 'react-router-dom';
-import {
- Content,
- ContentHeader,
- Header,
- HeaderLabel,
- Page,
- Table,
- TableColumn,
-} from '@backstage/core-components';
-import { useCollections, useActivateCollection } from '../hooks';
-import type { CollectionResponse } from '../api/types';
-import { Chip } from './ui';
-
-export const CollectionsPage = () => {
- const { collections, loading, error, retry } = useCollections();
- const { activateCollection, activating } = useActivateCollection();
-
- const handleActivate = async (name: string) => {
- try {
- await activateCollection(name);
- retry(); // Refresh the list
- } catch {
- // Error is handled by the hook
- }
- };
-
- const columns: TableColumn[] = [
- {
- title: 'Name',
- field: 'name',
- render: (row) => (
-
- {row.name}
- {row.is_active && (
-
- )}
-
- ),
- },
- { title: 'Description', field: 'description' },
- {
- title: 'Types',
- field: 'types',
- render: (row) => (
-
- {row.types.map((type) => (
-
-
-
- ))}
-
- ),
- },
- {
- title: 'Actions',
- field: 'name',
- render: (row) =>
- !row.is_active ? (
-
- ) : (
- Current
- ),
- },
- ];
-
- return (
-
-
-
-
- {error ? (
-
-
Error: {error.message}
-
-
- ) : (
-
- )}
-
-
- );
-};
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/components/IssueTypeDetailPage.module.css b/backstage-server/packages/plugins/plugin-issuetypes/src/components/IssueTypeDetailPage.module.css
deleted file mode 100644
index 610fca59..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/components/IssueTypeDetailPage.module.css
+++ /dev/null
@@ -1,42 +0,0 @@
-.grid {
- display: grid;
- grid-template-columns: repeat(12, 1fr);
- gap: 24px;
-}
-
-.gridItemHalf {
- grid-column: span 12;
-}
-
-@media (min-width: 960px) {
- .gridItemHalf {
- grid-column: span 6;
- }
-}
-
-.body1 {
- font-size: 1rem;
- line-height: 1.5;
- margin-bottom: 16px;
-}
-
-.subtitle {
- font-size: 0.875rem;
- font-weight: 500;
- margin: 0;
- margin-bottom: 8px;
- color: rgba(0, 0, 0, 0.6);
-}
-
-.subtitleSpaced {
- font-size: 0.875rem;
- font-weight: 500;
- margin: 0;
- margin-top: 16px;
- margin-bottom: 8px;
- color: rgba(0, 0, 0, 0.6);
-}
-
-.error {
- color: #f44336;
-}
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/components/IssueTypeDetailPage.tsx b/backstage-server/packages/plugins/plugin-issuetypes/src/components/IssueTypeDetailPage.tsx
deleted file mode 100644
index aafc9ed5..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/components/IssueTypeDetailPage.tsx
+++ /dev/null
@@ -1,233 +0,0 @@
-/**
- * Issue Type Detail Page
- *
- * Displays detailed information about a specific issue type.
- */
-
-import React, { useState } from 'react';
-import { useParams, useNavigate } from 'react-router-dom';
-import {
- Content,
- ContentHeader,
- Header,
- Page,
- InfoCard,
- LinkButton,
- Table,
- TableColumn,
-} from '@backstage/core-components';
-import { useIssueType, useDeleteIssueType } from '../hooks';
-import type { FieldResponse, StepResponse } from '../api/types';
-import { Chip } from './ui';
-import styles from './IssueTypeDetailPage.module.css';
-
-const fieldColumns: TableColumn[] = [
- { title: 'Name', field: 'name' },
- { title: 'Type', field: 'field_type' },
- {
- title: 'Required',
- field: 'required',
- render: (row) => (row.required ? 'Yes' : 'No'),
- },
- { title: 'Default', field: 'default', emptyValue: '-' },
- {
- title: 'Editable',
- field: 'user_editable',
- render: (row) => (row.user_editable ? 'Yes' : 'No'),
- },
-];
-
-const stepColumns: TableColumn[] = [
- { title: 'Name', field: 'name' },
- { title: 'Display Name', field: 'display_name', emptyValue: '-' },
- {
- title: 'Outputs',
- field: 'outputs',
- render: (row) => row.outputs.join(', ') || '-',
- },
- {
- title: 'Review',
- field: 'requires_review',
- render: (row) => (row.requires_review ? 'Yes' : 'No'),
- },
- { title: 'Next Step', field: 'next_step', emptyValue: '(end)' },
- { title: 'Mode', field: 'permission_mode' },
-];
-
-export const IssueTypeDetailPage = () => {
- const { key } = useParams<{ key: string }>();
- const navigate = useNavigate();
- const { issueType, loading, error, retry } = useIssueType(key || '');
- const { deleteIssueType, deleting } = useDeleteIssueType();
- const [showDeleteConfirm, setShowDeleteConfirm] = useState(false);
-
- const isBuiltin = issueType?.source === 'builtin';
-
- const handleDelete = async () => {
- if (!issueType) {return;}
- try {
- await deleteIssueType(issueType.key);
- navigate('..');
- } catch {
- // Error is handled by the hook
- }
- };
-
- if (loading) {
- return (
-
- Loading...
-
- );
- }
-
- if (error || !issueType) {
- return (
-
-
- {error?.message || 'Issue type not found'}
-
-
-
- );
- }
-
- return (
-
-
-
-
- {!isBuiltin && (
- <>
-
- Edit
-
-
- >
- )}
- {isBuiltin && (
-
- )}
-
-
- {showDeleteConfirm && (
-
-
- Are you sure you want to delete {issueType.key}?
-
-
-
-
- )}
-
-
-
-
- {issueType.description}
- Mode
-
- Source
-
- Project Required
- {issueType.project_required ? 'Yes' : 'No'}
- {issueType.color && (
- <>
- Color
-
- {issueType.color}
- >
- )}
-
-
-
-
- {issueType.fields && issueType.fields.length > 0 && (
-
- )}
-
- {issueType.steps && issueType.steps.length > 0 && (
-
- )}
-
-
- );
-};
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/components/IssueTypeFormPage.module.css b/backstage-server/packages/plugins/plugin-issuetypes/src/components/IssueTypeFormPage.module.css
deleted file mode 100644
index 48706488..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/components/IssueTypeFormPage.module.css
+++ /dev/null
@@ -1,12 +0,0 @@
-.body1 {
- font-size: 1rem;
- line-height: 1.5;
- margin-bottom: 16px;
-}
-
-.body2 {
- font-size: 0.875rem;
- line-height: 1.43;
- color: rgba(0, 0, 0, 0.6);
- margin-top: 16px;
-}
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/components/IssueTypeFormPage.tsx b/backstage-server/packages/plugins/plugin-issuetypes/src/components/IssueTypeFormPage.tsx
deleted file mode 100644
index 4c4dd79a..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/components/IssueTypeFormPage.tsx
+++ /dev/null
@@ -1,717 +0,0 @@
-/**
- * Issue Type Form Page
- *
- * Create or edit an issue type.
- * Supports Simple and Advanced modes (URL-persisted).
- * In create mode, defaults come from the TASK issuetype template.
- */
-
-import React, { useState, useEffect, useMemo } from 'react';
-import { useParams, useNavigate, useLocation } from 'react-router-dom';
-import {
- Content,
- ContentHeader,
- Header,
- Page,
- InfoCard,
-} from '@backstage/core-components';
-import {
- Button,
- ButtonGroup,
- makeStyles,
-} from '@material-ui/core';
-import {
- useIssueType,
- useCreateIssueType,
- useUpdateIssueType,
-} from '../hooks';
-import type {
- CreateIssueTypeRequest,
- CreateFieldRequest,
- CreateStepRequest,
- ExecutionMode,
-} from '../api/types';
-import { FieldEditor, StepEditor } from './editors';
-import { Chip } from './ui';
-
-const GLYPH_OPTIONS = ['*', '#', '>', '?', '!', 'A', 'S', 'I', 'X'];
-const COLOR_OPTIONS = [
- 'blue',
- 'cyan',
- 'green',
- 'yellow',
- 'magenta',
- 'red',
-] as const;
-const MODE_OPTIONS: ExecutionMode[] = ['autonomous', 'paired'];
-
-const useStyles = makeStyles((theme) => ({
- toggleContainer: {
- marginLeft: 'auto',
- },
- toggleButton: {
- textTransform: 'none',
- padding: '6px 16px',
- },
- activeButton: {
- backgroundColor: theme.palette.primary.main,
- color: theme.palette.primary.contrastText,
- '&:hover': {
- backgroundColor: theme.palette.primary.dark,
- },
- },
- headerRow: {
- display: 'flex',
- alignItems: 'center',
- gap: theme.spacing(2),
- marginBottom: theme.spacing(2),
- },
- label: {
- display: 'block',
- marginBottom: 4,
- color: theme.palette.text.primary,
- },
- input: {
- width: '100%',
- padding: 8,
- border: `1px solid ${theme.palette.divider}`,
- borderRadius: 4,
- backgroundColor: theme.palette.background.paper,
- color: theme.palette.text.primary,
- fontSize: 14,
- '&:disabled': {
- backgroundColor: theme.palette.action.disabledBackground,
- color: theme.palette.text.secondary,
- },
- },
- textarea: {
- width: '100%',
- padding: 8,
- border: `1px solid ${theme.palette.divider}`,
- borderRadius: 4,
- backgroundColor: theme.palette.background.paper,
- color: theme.palette.text.primary,
- fontSize: 14,
- resize: 'vertical',
- },
- select: {
- width: '100%',
- padding: 8,
- border: `1px solid ${theme.palette.divider}`,
- borderRadius: 4,
- backgroundColor: theme.palette.background.paper,
- color: theme.palette.text.primary,
- fontSize: 14,
- },
- checkboxLabel: {
- display: 'flex',
- alignItems: 'center',
- gap: 8,
- color: theme.palette.text.primary,
- },
- addButton: {
- padding: '8px 16px',
- backgroundColor: theme.palette.primary.main,
- color: theme.palette.primary.contrastText,
- border: 'none',
- borderRadius: 4,
- cursor: 'pointer',
- '&:hover': {
- backgroundColor: theme.palette.primary.dark,
- },
- },
- submitButton: {
- padding: '12px 24px',
- backgroundColor: theme.palette.success.main,
- color: theme.palette.success.contrastText,
- border: 'none',
- borderRadius: 4,
- cursor: 'pointer',
- fontSize: 16,
- '&:disabled': {
- cursor: 'not-allowed',
- opacity: 0.6,
- },
- },
- cancelButton: {
- padding: '12px 24px',
- backgroundColor: theme.palette.action.hover,
- color: theme.palette.text.primary,
- border: 'none',
- borderRadius: 4,
- cursor: 'pointer',
- fontSize: 16,
- },
- errorBox: {
- padding: 16,
- marginBottom: 16,
- backgroundColor: theme.palette.error.light,
- border: `1px solid ${theme.palette.error.main}`,
- borderRadius: 4,
- color: theme.palette.error.contrastText,
- },
- grid: {
- display: 'grid',
- gridTemplateColumns: '1fr 1fr 1fr',
- gap: 16,
- },
- fullWidth: {
- gridColumn: '1 / -1',
- },
-}));
-
-type ViewMode = 'simple' | 'advanced';
-
-/**
- * URL-persisted view mode toggle.
- */
-function useViewMode(): [ViewMode, (mode: ViewMode) => void] {
- const location = useLocation();
- const navigate = useNavigate();
-
- const viewMode = useMemo(() => {
- const params = new URLSearchParams(location.search);
- return params.get('mode') === 'advanced' ? 'advanced' : 'simple';
- }, [location.search]);
-
- const setViewMode = (mode: ViewMode) => {
- const params = new URLSearchParams(location.search);
- if (mode === 'advanced') {
- params.set('mode', 'advanced');
- } else {
- params.delete('mode');
- }
- const newSearch = params.toString();
- navigate(
- {
- pathname: location.pathname,
- search: newSearch ? `?${newSearch}` : '',
- },
- { replace: true },
- );
- };
-
- return [viewMode, setViewMode];
-}
-
-/**
- * Generate KEY from name + timestamp.
- * Format: {NAME}-{YYYYMMDDHHMMSS}
- */
-function generateKey(name: string): string {
- if (!name.trim()) {return '';}
-
- const prefix = name
- .replace(/[^a-zA-Z]/g, '') // Remove non-letters
- .toUpperCase()
- .slice(0, 8); // First 8 chars
-
- if (!prefix) {return '';}
-
- const timestamp = new Date()
- .toISOString()
- .replace(/[-:T.Z]/g, '') // YYYYMMDDHHMMSS
- .slice(0, 14);
-
- return `${prefix}-${timestamp}`;
-}
-
-const createEmptyField = (): CreateFieldRequest => ({
- name: '',
- description: '',
- field_type: 'string',
- required: false,
- user_editable: true,
-});
-
-const createEmptyStep = (): CreateStepRequest => ({
- name: '',
- prompt: '',
- outputs: [],
- allowed_tools: ['Read', 'Write', 'Edit', 'Glob', 'Grep', 'Bash'],
- requires_review: false,
- permission_mode: 'default',
-});
-
-export const IssueTypeFormPage = () => {
- const classes = useStyles();
- const { key } = useParams<{ key?: string }>();
- const navigate = useNavigate();
- const isEditing = Boolean(key);
- const [viewMode, setViewMode] = useViewMode();
-
- // Hooks for loading and saving
- const { issueType, loading: loadingIssueType } = useIssueType(key || '');
- const { issueType: taskTemplate, loading: loadingTask } = useIssueType('TASK');
- const { createIssueType, creating, error: createError } = useCreateIssueType();
- const { updateIssueType, updating, error: updateError } = useUpdateIssueType();
-
- // Track if form has been initialized with defaults
- const [formInitialized, setFormInitialized] = useState(false);
-
- // Form state - defaults to paired mode
- const [formData, setFormData] = useState({
- key: '',
- name: '',
- description: '',
- glyph: '>',
- mode: 'paired', // Default to paired
- project_required: true,
- fields: [],
- steps: [],
- });
-
- const [validationErrors, setValidationErrors] = useState([]);
-
- // Populate form with TASK defaults when creating new
- useEffect(() => {
- if (!isEditing && taskTemplate && !formInitialized) {
- // Get user-editable fields only
- const userEditableFields = taskTemplate.fields
- .filter((f) => f.user_editable !== false)
- .map((f) => ({
- name: f.name,
- description: f.description,
- field_type: f.field_type,
- required: f.required,
- default: f.default,
- options: f.options,
- placeholder: f.placeholder,
- max_length: f.max_length,
- user_editable: true,
- }));
-
- setFormData((prev) => ({
- ...prev,
- fields: userEditableFields,
- steps: taskTemplate.steps.map((s) => ({
- name: s.name,
- display_name: s.display_name,
- prompt: s.prompt,
- outputs: s.outputs,
- allowed_tools: s.allowed_tools,
- requires_review: s.requires_review,
- next_step: s.next_step,
- permission_mode: s.permission_mode,
- })),
- }));
- setFormInitialized(true);
- }
- }, [isEditing, taskTemplate, formInitialized]);
-
- // Populate form when editing
- useEffect(() => {
- if (isEditing && issueType) {
- setFormData({
- key: issueType.key,
- name: issueType.name,
- description: issueType.description,
- glyph: issueType.glyph,
- mode: issueType.mode,
- color: issueType.color,
- project_required: issueType.project_required,
- fields: issueType.fields.map((f) => ({
- name: f.name,
- description: f.description,
- field_type: f.field_type,
- required: f.required,
- default: f.default,
- options: f.options,
- placeholder: f.placeholder,
- max_length: f.max_length,
- user_editable: f.user_editable,
- })),
- steps: issueType.steps.map((s) => ({
- name: s.name,
- display_name: s.display_name,
- prompt: s.prompt,
- outputs: s.outputs,
- allowed_tools: s.allowed_tools,
- requires_review: s.requires_review,
- next_step: s.next_step,
- on_reject: s.on_reject,
- permission_mode: s.permission_mode,
- })),
- });
- setFormInitialized(true);
- }
- }, [isEditing, issueType]);
-
- const isBuiltin = issueType?.source === 'builtin';
-
- const handleChange = (
- field: keyof CreateIssueTypeRequest,
- value: string | boolean | undefined,
- ) => {
- setFormData((prev) => ({ ...prev, [field]: value }));
- };
-
- // Handle name change - auto-generate KEY in create mode
- const handleNameChange = (name: string) => {
- setFormData((prev) => ({
- ...prev,
- name,
- key: isEditing ? prev.key : generateKey(name),
- }));
- };
-
- const handleFieldChange = (index: number, field: CreateFieldRequest) => {
- setFormData((prev) => ({
- ...prev,
- fields: prev.fields?.map((f, i) => (i === index ? field : f)),
- }));
- };
-
- const handleFieldDelete = (index: number) => {
- setFormData((prev) => ({
- ...prev,
- fields: prev.fields?.filter((_, i) => i !== index),
- }));
- };
-
- const handleAddField = () => {
- setFormData((prev) => ({
- ...prev,
- fields: [...(prev.fields || []), createEmptyField()],
- }));
- };
-
- const handleStepChange = (index: number, step: CreateStepRequest) => {
- setFormData((prev) => ({
- ...prev,
- steps: prev.steps.map((s, i) => (i === index ? step : s)),
- }));
- };
-
- const handleStepDelete = (index: number) => {
- setFormData((prev) => ({
- ...prev,
- steps: prev.steps.filter((_, i) => i !== index),
- }));
- };
-
- const handleAddStep = () => {
- setFormData((prev) => ({
- ...prev,
- steps: [...prev.steps, createEmptyStep()],
- }));
- };
-
- const validate = (): boolean => {
- const errors: string[] = [];
-
- if (!formData.key) {
- errors.push('Key is required - enter a name to generate it');
- }
- if (!formData.name) {
- errors.push('Name is required');
- }
- if (!formData.description) {
- errors.push('Description is required');
- }
- if (!formData.glyph) {
- errors.push('Glyph is required');
- }
- if (formData.steps.length === 0) {
- errors.push('At least one step is required');
- }
-
- // Validate steps
- formData.steps.forEach((step, i) => {
- if (!step.name || !/^[a-z_]+$/.test(step.name)) {
- errors.push(`Step ${i + 1}: Name must be lowercase with underscores only`);
- }
- if (!step.prompt) {
- errors.push(`Step ${i + 1}: Prompt is required`);
- }
- });
-
- // Validate fields
- formData.fields?.forEach((field, i) => {
- if (!field.name || !/^[a-z_]+$/.test(field.name)) {
- errors.push(
- `Field ${i + 1}: Name must be lowercase with underscores only`,
- );
- }
- if (!field.description) {
- errors.push(`Field ${i + 1}: Description is required`);
- }
- if (field.field_type === 'enum' && (!field.options || field.options.length === 0)) {
- errors.push(`Field ${i + 1}: Enum fields require at least one option`);
- }
- // Required fields must have a non-falsey default
- if (field.required && !field.default) {
- errors.push(`Field ${i + 1}: Required fields must have a default value`);
- }
- });
-
- setValidationErrors(errors);
- return errors.length === 0;
- };
-
- const handleSubmit = async () => {
- if (!validate()) {
- return;
- }
-
- try {
- if (isEditing && key) {
- await updateIssueType(key, {
- name: formData.name,
- description: formData.description,
- glyph: formData.glyph,
- mode: formData.mode,
- color: formData.color,
- project_required: formData.project_required,
- fields: formData.fields,
- steps: formData.steps,
- });
- } else {
- await createIssueType(formData);
- }
- navigate('..');
- } catch {
- // Error is handled by the hook
- }
- };
-
- const stepNames = formData.steps.map((s) => s.name).filter(Boolean);
- const isSaving = creating || updating;
- const saveError = createError || updateError;
- const isLoading = (isEditing && loadingIssueType) || (!isEditing && loadingTask && !formInitialized);
-
- if (isLoading) {
- return (
-
- Loading...
-
- );
- }
-
- return (
-
-
-
-
-
- {isBuiltin && (
-
- )}
-
-
-
-
-
-
-
-
-
- {validationErrors.length > 0 && (
-
-
Validation Errors:
-
- {validationErrors.map((error, i) => (
- - {error}
- ))}
-
-
- )}
-
- {saveError && (
-
- Error: {saveError.message}
-
- )}
-
-
-
-
-
- handleNameChange(e.target.value)}
- placeholder="My Custom Type"
- disabled={isBuiltin}
- className={classes.input}
- />
-
-
-
-
-
-
-
- {viewMode === 'advanced' && (
-
-
-
-
- )}
-
-
-
-
-
- {viewMode === 'advanced' && (
- <>
-
-
-
-
-
-
-
-
-
-
-
-
-
- >
- )}
-
-
-
-
-
- {formData.fields?.map((field, index) => (
- handleFieldChange(index, f)}
- onDelete={() => handleFieldDelete(index)}
- index={index}
- showAdvanced={viewMode === 'advanced'}
- />
- ))}
- {!isBuiltin && (
-
- )}
-
-
-
-
-
- {formData.steps.map((step, index) => (
- handleStepChange(index, s)}
- onDelete={() => handleStepDelete(index)}
- index={index}
- stepNames={stepNames}
- />
- ))}
- {!isBuiltin && (
-
- )}
-
-
-
-
- {!isBuiltin && (
-
- )}
-
-
-
-
- );
-};
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/components/IssueTypesPage.tsx b/backstage-server/packages/plugins/plugin-issuetypes/src/components/IssueTypesPage.tsx
deleted file mode 100644
index bd5a30d0..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/components/IssueTypesPage.tsx
+++ /dev/null
@@ -1,119 +0,0 @@
-/**
- * Issue Types List Page
- *
- * Displays all available issue types from the Operator REST API.
- */
-
-import React from 'react';
-import { Link as RouterLink } from 'react-router-dom';
-import {
- Content,
- ContentHeader,
- Header,
- HeaderLabel,
- Page,
- Table,
- TableColumn,
- LinkButton,
-} from '@backstage/core-components';
-import { useIssueTypes } from '../hooks';
-import type { IssueTypeSummary } from '../api/types';
-import { Chip } from './ui';
-
-const columns: TableColumn[] = [
- {
- title: 'Glyph',
- field: 'glyph',
- width: '60px',
- render: (row) => (
-
- {row.glyph}
-
- ),
- },
- {
- title: 'Key',
- field: 'key',
- render: (row) => (
-
- {row.key}
-
- ),
- },
- { title: 'Name', field: 'name' },
- {
- title: 'Mode',
- field: 'mode',
- render: (row) => (
-
- ),
- },
- {
- title: 'Source',
- field: 'source',
- render: (row) => (
-
- ),
- },
- { title: 'Steps', field: 'step_count', width: '80px' },
-];
-
-export const IssueTypesPage = () => {
- const { issueTypes, loading, error, retry } = useIssueTypes();
-
- return (
-
-
-
-
-
- Create Issue Type
-
-
- Collections
-
-
- {error ? (
-
-
Error: {error.message}
-
-
- ) : (
-
- )}
-
-
- );
-};
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/components/editors/FieldEditor.tsx b/backstage-server/packages/plugins/plugin-issuetypes/src/components/editors/FieldEditor.tsx
deleted file mode 100644
index d06da750..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/components/editors/FieldEditor.tsx
+++ /dev/null
@@ -1,258 +0,0 @@
-/**
- * Field Editor Component
- *
- * Form for editing a single field within an issue type.
- * Uses theme-aware styling for dark mode support.
- */
-
-import React from 'react';
-import { makeStyles } from '@material-ui/core';
-import type { CreateFieldRequest, FieldType } from '../../api/types';
-
-const FIELD_TYPES: FieldType[] = ['string', 'text', 'enum', 'bool', 'date'];
-
-const useStyles = makeStyles((theme) => ({
- container: {
- border: `1px solid ${theme.palette.divider}`,
- borderRadius: 8,
- padding: 16,
- marginBottom: 16,
- backgroundColor: theme.palette.background.default,
- },
- header: {
- display: 'flex',
- justifyContent: 'space-between',
- alignItems: 'center',
- marginBottom: 16,
- },
- title: {
- margin: 0,
- color: theme.palette.text.primary,
- },
- removeButton: {
- padding: '4px 12px',
- backgroundColor: theme.palette.error.main,
- color: theme.palette.error.contrastText,
- border: 'none',
- borderRadius: 4,
- cursor: 'pointer',
- '&:hover': {
- backgroundColor: theme.palette.error.dark,
- },
- },
- grid: {
- display: 'grid',
- gridTemplateColumns: '1fr 1fr',
- gap: 16,
- },
- fullWidth: {
- gridColumn: '1 / -1',
- },
- label: {
- display: 'block',
- marginBottom: 4,
- color: theme.palette.text.primary,
- },
- checkboxLabel: {
- display: 'flex',
- alignItems: 'center',
- gap: 8,
- color: theme.palette.text.primary,
- cursor: 'pointer',
- },
- input: {
- width: '100%',
- padding: 8,
- border: `1px solid ${theme.palette.divider}`,
- borderRadius: 4,
- backgroundColor: theme.palette.background.paper,
- color: theme.palette.text.primary,
- fontSize: 14,
- '&::placeholder': {
- color: theme.palette.text.secondary,
- opacity: 0.7,
- },
- '&:focus': {
- outline: 'none',
- borderColor: theme.palette.primary.main,
- },
- },
- select: {
- width: '100%',
- padding: 8,
- border: `1px solid ${theme.palette.divider}`,
- borderRadius: 4,
- backgroundColor: theme.palette.background.paper,
- color: theme.palette.text.primary,
- fontSize: 14,
- '&:focus': {
- outline: 'none',
- borderColor: theme.palette.primary.main,
- },
- },
-}));
-
-export interface FieldEditorProps {
- field: CreateFieldRequest;
- onChange: (field: CreateFieldRequest) => void;
- onDelete: () => void;
- index: number;
- /** Whether to show advanced options like user_editable */
- showAdvanced?: boolean;
-}
-
-export const FieldEditor: React.FC = ({
- field,
- onChange,
- onDelete,
- index,
- showAdvanced = true,
-}) => {
- const classes = useStyles();
-
- const handleChange = (
- key: keyof CreateFieldRequest,
- value: string | boolean | string[] | number | undefined,
- ) => {
- onChange({ ...field, [key]: value });
- };
-
- const handleOptionsChange = (optionsStr: string) => {
- const options = optionsStr
- .split(',')
- .map((o) => o.trim())
- .filter(Boolean);
- handleChange('options', options);
- };
-
- return (
-
-
-
Field {index + 1}
-
-
-
-
-
-
- handleChange('name', e.target.value)}
- placeholder="field_name"
- pattern="^[a-z_]+$"
- className={classes.input}
- />
-
-
-
-
-
-
-
-
-
- handleChange('description', e.target.value)}
- placeholder="Description of this field"
- className={classes.input}
- />
-
-
-
-
-
-
- {showAdvanced && (
-
-
-
- )}
-
-
-
- handleChange('default', e.target.value || undefined)}
- placeholder="Default value"
- className={classes.input}
- />
-
-
-
-
-
- handleChange('placeholder', e.target.value || undefined)
- }
- placeholder="Placeholder text"
- className={classes.input}
- />
-
-
- {field.field_type === 'enum' && (
-
-
- handleOptionsChange(e.target.value)}
- placeholder="option1, option2, option3"
- className={classes.input}
- />
-
- )}
-
- {(field.field_type === 'string' || field.field_type === 'text') && (
-
-
-
- handleChange(
- 'max_length',
- e.target.value ? parseInt(e.target.value, 10) : undefined,
- )
- }
- placeholder="No limit"
- min={1}
- className={classes.input}
- />
-
- )}
-
-
- );
-};
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/components/editors/StepEditor.tsx b/backstage-server/packages/plugins/plugin-issuetypes/src/components/editors/StepEditor.tsx
deleted file mode 100644
index c2d499a9..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/components/editors/StepEditor.tsx
+++ /dev/null
@@ -1,379 +0,0 @@
-/**
- * Step Editor Component
- *
- * Form for editing a single workflow step within an issue type.
- * Uses theme-aware styling for dark mode support.
- */
-
-import React from 'react';
-import { makeStyles, alpha } from '@material-ui/core';
-import type {
- CreateStepRequest,
- StepOutput,
- PermissionMode,
-} from '../../api/types';
-import { STEP_OUTPUTS, ALLOWED_TOOLS } from '../../api/types';
-
-const PERMISSION_MODES: PermissionMode[] = [
- 'default',
- 'plan',
- 'acceptEdits',
- 'delegate',
-];
-
-const useStyles = makeStyles((theme) => ({
- container: {
- border: `1px solid ${theme.palette.divider}`,
- borderRadius: 8,
- padding: 16,
- marginBottom: 16,
- backgroundColor: theme.palette.background.default,
- },
- header: {
- display: 'flex',
- justifyContent: 'space-between',
- alignItems: 'center',
- marginBottom: 16,
- },
- title: {
- margin: 0,
- color: theme.palette.text.primary,
- },
- removeButton: {
- padding: '4px 12px',
- backgroundColor: theme.palette.error.main,
- color: theme.palette.error.contrastText,
- border: 'none',
- borderRadius: 4,
- cursor: 'pointer',
- '&:hover': {
- backgroundColor: theme.palette.error.dark,
- },
- },
- grid: {
- display: 'grid',
- gridTemplateColumns: '1fr 1fr',
- gap: 16,
- },
- fullWidth: {
- gridColumn: '1 / -1',
- },
- label: {
- display: 'block',
- marginBottom: 4,
- color: theme.palette.text.primary,
- },
- sectionLabel: {
- display: 'block',
- marginBottom: 8,
- color: theme.palette.text.primary,
- },
- checkboxLabel: {
- display: 'flex',
- alignItems: 'center',
- gap: 8,
- color: theme.palette.text.primary,
- cursor: 'pointer',
- },
- helperText: {
- color: theme.palette.text.secondary,
- display: 'block',
- marginTop: 4,
- fontSize: '0.75rem',
- },
- input: {
- width: '100%',
- padding: 8,
- border: `1px solid ${theme.palette.divider}`,
- borderRadius: 4,
- backgroundColor: theme.palette.background.paper,
- color: theme.palette.text.primary,
- fontSize: 14,
- '&::placeholder': {
- color: theme.palette.text.secondary,
- opacity: 0.7,
- },
- '&:focus': {
- outline: 'none',
- borderColor: theme.palette.primary.main,
- },
- },
- textarea: {
- width: '100%',
- padding: 8,
- border: `1px solid ${theme.palette.divider}`,
- borderRadius: 4,
- backgroundColor: theme.palette.background.paper,
- color: theme.palette.text.primary,
- fontSize: 14,
- fontFamily: 'monospace',
- resize: 'vertical',
- '&::placeholder': {
- color: theme.palette.text.secondary,
- opacity: 0.7,
- },
- '&:focus': {
- outline: 'none',
- borderColor: theme.palette.primary.main,
- },
- },
- select: {
- width: '100%',
- padding: 8,
- border: `1px solid ${theme.palette.divider}`,
- borderRadius: 4,
- backgroundColor: theme.palette.background.paper,
- color: theme.palette.text.primary,
- fontSize: 14,
- '&:focus': {
- outline: 'none',
- borderColor: theme.palette.primary.main,
- },
- },
- chipContainer: {
- display: 'flex',
- flexWrap: 'wrap',
- gap: 8,
- },
- chip: {
- display: 'flex',
- alignItems: 'center',
- gap: 4,
- padding: '4px 8px',
- borderRadius: 4,
- cursor: 'pointer',
- color: theme.palette.text.primary,
- transition: 'background-color 0.15s ease',
- },
- chipUnselected: {
- backgroundColor: theme.palette.action.hover,
- },
- outputChipSelected: {
- backgroundColor: alpha(theme.palette.primary.main, 0.15),
- },
- toolChipSelected: {
- backgroundColor: alpha(theme.palette.success.main, 0.15),
- },
-}));
-
-export interface StepEditorProps {
- step: CreateStepRequest;
- onChange: (step: CreateStepRequest) => void;
- onDelete: () => void;
- index: number;
- stepNames: string[]; // All step names for next_step dropdown
-}
-
-export const StepEditor: React.FC = ({
- step,
- onChange,
- onDelete,
- index,
- stepNames,
-}) => {
- const classes = useStyles();
-
- const handleChange = (
- key: K,
- value: CreateStepRequest[K],
- ) => {
- onChange({ ...step, [key]: value });
- };
-
- const handleOutputToggle = (output: StepOutput) => {
- const current = step.outputs || [];
- const newOutputs = current.includes(output)
- ? current.filter((o) => o !== output)
- : [...current, output];
- handleChange('outputs', newOutputs as StepOutput[]);
- };
-
- const handleToolToggle = (tool: string) => {
- const current = step.allowed_tools || [];
- const newTools = current.includes(tool)
- ? current.filter((t) => t !== tool)
- : [...current, tool];
- handleChange('allowed_tools', newTools);
- };
-
- // Filter out current step from next_step options
- const availableNextSteps = stepNames.filter((name) => name !== step.name);
-
- return (
-
-
-
- Step {index + 1}
- {step.name && `: ${step.name}`}
-
-
-
-
-
-
-
- handleChange('name', e.target.value)}
- placeholder="step_name"
- pattern="^[a-z_]+$"
- className={classes.input}
- />
-
-
-
-
-
- handleChange('display_name', e.target.value || undefined)
- }
- placeholder="Human-readable name"
- className={classes.input}
- />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pause workflow for human approval
-
-
-
- {step.requires_review && (
-
-
-
-
- )}
-
-
-
-
- {STEP_OUTPUTS.map((output) => {
- const isSelected = (step.outputs || []).includes(output);
- return (
-
- );
- })}
-
-
-
-
-
-
- {ALLOWED_TOOLS.map((tool) => {
- const isSelected = (step.allowed_tools || []).includes(tool);
- return (
-
- );
- })}
-
-
-
-
- );
-};
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/components/editors/index.ts b/backstage-server/packages/plugins/plugin-issuetypes/src/components/editors/index.ts
deleted file mode 100644
index 6257bb28..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/components/editors/index.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * Editor components exports.
- */
-
-export { FieldEditor } from './FieldEditor';
-export type { FieldEditorProps } from './FieldEditor';
-
-export { StepEditor } from './StepEditor';
-export type { StepEditorProps } from './StepEditor';
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/components/ui/Chip.module.css b/backstage-server/packages/plugins/plugin-issuetypes/src/components/ui/Chip.module.css
deleted file mode 100644
index 131772d3..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/components/ui/Chip.module.css
+++ /dev/null
@@ -1,30 +0,0 @@
-.chip {
- display: inline-flex;
- align-items: center;
- padding: 4px 12px;
- border-radius: 16px;
- font-size: 0.8125rem;
- font-weight: 500;
- line-height: 1.4;
- white-space: nowrap;
-}
-
-.default {
- background-color: #e0e0e0;
- color: rgba(0, 0, 0, 0.87);
-}
-
-.primary {
- background-color: #1976d2;
- color: #fff;
-}
-
-.secondary {
- background-color: #dc004e;
- color: #fff;
-}
-
-.small {
- padding: 2px 8px;
- font-size: 0.75rem;
-}
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/components/ui/Chip.tsx b/backstage-server/packages/plugins/plugin-issuetypes/src/components/ui/Chip.tsx
deleted file mode 100644
index fd2aec79..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/components/ui/Chip.tsx
+++ /dev/null
@@ -1,30 +0,0 @@
-import React from 'react';
-import styles from './Chip.module.css';
-
-export interface ChipProps {
- label: string;
- variant?: 'default' | 'primary' | 'secondary';
- size?: 'small' | 'medium';
- style?: React.CSSProperties;
-}
-
-export const Chip: React.FC = ({
- label,
- variant = 'default',
- size = 'medium',
- style,
-}) => {
- const classNames = [
- styles.chip,
- styles[variant],
- size === 'small' ? styles.small : '',
- ]
- .filter(Boolean)
- .join(' ');
-
- return (
-
- {label}
-
- );
-};
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/components/ui/index.ts b/backstage-server/packages/plugins/plugin-issuetypes/src/components/ui/index.ts
deleted file mode 100644
index cbdcf055..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/components/ui/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { Chip } from './Chip';
-export type { ChipProps } from './Chip';
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/hooks/index.ts b/backstage-server/packages/plugins/plugin-issuetypes/src/hooks/index.ts
deleted file mode 100644
index db64516f..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/hooks/index.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Hooks module exports.
- */
-
-export {
- useIssueTypes,
- useIssueType,
- useCreateIssueType,
- useUpdateIssueType,
- useDeleteIssueType,
-} from './useIssueTypes';
-
-export {
- useCollections,
- useActiveCollection,
- useActivateCollection,
-} from './useCollections';
-
-export { useSteps, useStep, useUpdateStep } from './useSteps';
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/hooks/useCollections.ts b/backstage-server/packages/plugins/plugin-issuetypes/src/hooks/useCollections.ts
deleted file mode 100644
index 94bacec3..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/hooks/useCollections.ts
+++ /dev/null
@@ -1,106 +0,0 @@
-/**
- * Hooks for fetching and managing collections.
- */
-import { useState, useEffect, useCallback } from 'react';
-import { useApi } from '@backstage/core-plugin-api';
-import { operatorApiRef } from '../api';
-import type { CollectionResponse } from '../api/types';
-
-/** Hook to fetch the list of all collections */
-export function useCollections() {
- const api = useApi(operatorApiRef);
- const [collections, setCollections] = useState();
- const [loading, setLoading] = useState(true);
- const [error, setError] = useState();
-
- const load = useCallback(async () => {
- setLoading(true);
- setError(undefined);
- try {
- const data = await api.listCollections();
- setCollections(data);
- } catch (err) {
- setError(err instanceof Error ? err : new Error(String(err)));
- } finally {
- setLoading(false);
- }
- }, [api]);
-
- useEffect(() => {
- load();
- }, [load]);
-
- return {
- collections,
- loading,
- error,
- retry: load,
- };
-}
-
-/** Hook to fetch the active collection */
-export function useActiveCollection() {
- const api = useApi(operatorApiRef);
- const [collection, setCollection] = useState();
- const [loading, setLoading] = useState(true);
- const [error, setError] = useState();
-
- const load = useCallback(async () => {
- setLoading(true);
- setError(undefined);
- try {
- const data = await api.getActiveCollection();
- setCollection(data);
- } catch (err) {
- setError(err instanceof Error ? err : new Error(String(err)));
- } finally {
- setLoading(false);
- }
- }, [api]);
-
- useEffect(() => {
- load();
- }, [load]);
-
- return {
- collection,
- loading,
- error,
- retry: load,
- };
-}
-
-/** Hook to activate a collection */
-export function useActivateCollection() {
- const api = useApi(operatorApiRef);
- const [activating, setActivating] = useState(false);
- const [error, setError] = useState();
- const [activatedCollection, setActivatedCollection] =
- useState();
-
- const activateCollection = useCallback(
- async (name: string) => {
- setActivating(true);
- setError(undefined);
- try {
- const result = await api.activateCollection(name);
- setActivatedCollection(result);
- return result;
- } catch (err) {
- const error = err instanceof Error ? err : new Error(String(err));
- setError(error);
- throw error;
- } finally {
- setActivating(false);
- }
- },
- [api],
- );
-
- return {
- activateCollection,
- activating,
- error,
- activatedCollection,
- };
-}
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/hooks/useIssueTypes.ts b/backstage-server/packages/plugins/plugin-issuetypes/src/hooks/useIssueTypes.ts
deleted file mode 100644
index 2c2bb894..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/hooks/useIssueTypes.ts
+++ /dev/null
@@ -1,178 +0,0 @@
-/**
- * Hooks for fetching and managing issue types.
- */
-import { useState, useEffect, useCallback } from 'react';
-import { useApi } from '@backstage/core-plugin-api';
-import { operatorApiRef } from '../api';
-import type {
- IssueTypeSummary,
- IssueTypeResponse,
- CreateIssueTypeRequest,
- UpdateIssueTypeRequest,
-} from '../api/types';
-
-/** Hook to fetch the list of all issue types */
-export function useIssueTypes() {
- const api = useApi(operatorApiRef);
- const [issueTypes, setIssueTypes] = useState();
- const [loading, setLoading] = useState(true);
- const [error, setError] = useState();
-
- const load = useCallback(async () => {
- setLoading(true);
- setError(undefined);
- try {
- const data = await api.listIssueTypes();
- setIssueTypes(data);
- } catch (err) {
- setError(err instanceof Error ? err : new Error(String(err)));
- } finally {
- setLoading(false);
- }
- }, [api]);
-
- useEffect(() => {
- load();
- }, [load]);
-
- return {
- issueTypes,
- loading,
- error,
- retry: load,
- };
-}
-
-/** Hook to fetch a single issue type by key */
-export function useIssueType(key: string) {
- const api = useApi(operatorApiRef);
- const [issueType, setIssueType] = useState();
- const [loading, setLoading] = useState(true);
- const [error, setError] = useState();
-
- const load = useCallback(async () => {
- setLoading(true);
- setError(undefined);
- try {
- const data = await api.getIssueType(key);
- setIssueType(data);
- } catch (err) {
- setError(err instanceof Error ? err : new Error(String(err)));
- } finally {
- setLoading(false);
- }
- }, [api, key]);
-
- useEffect(() => {
- load();
- }, [load]);
-
- return {
- issueType,
- loading,
- error,
- retry: load,
- };
-}
-
-/** Hook to create a new issue type */
-export function useCreateIssueType() {
- const api = useApi(operatorApiRef);
- const [creating, setCreating] = useState(false);
- const [error, setError] = useState();
- const [createdIssueType, setCreatedIssueType] = useState();
-
- const createIssueType = useCallback(
- async (request: CreateIssueTypeRequest) => {
- setCreating(true);
- setError(undefined);
- try {
- const result = await api.createIssueType(request);
- setCreatedIssueType(result);
- return result;
- } catch (err) {
- const error = err instanceof Error ? err : new Error(String(err));
- setError(error);
- throw error;
- } finally {
- setCreating(false);
- }
- },
- [api],
- );
-
- return {
- createIssueType,
- creating,
- error,
- createdIssueType,
- };
-}
-
-/** Hook to update an existing issue type */
-export function useUpdateIssueType() {
- const api = useApi(operatorApiRef);
- const [updating, setUpdating] = useState(false);
- const [error, setError] = useState();
- const [updatedIssueType, setUpdatedIssueType] = useState();
-
- const updateIssueType = useCallback(
- async (key: string, request: UpdateIssueTypeRequest) => {
- setUpdating(true);
- setError(undefined);
- try {
- const result = await api.updateIssueType(key, request);
- setUpdatedIssueType(result);
- return result;
- } catch (err) {
- const error = err instanceof Error ? err : new Error(String(err));
- setError(error);
- throw error;
- } finally {
- setUpdating(false);
- }
- },
- [api],
- );
-
- return {
- updateIssueType,
- updating,
- error,
- updatedIssueType,
- };
-}
-
-/** Hook to delete an issue type */
-export function useDeleteIssueType() {
- const api = useApi(operatorApiRef);
- const [deleting, setDeleting] = useState(false);
- const [error, setError] = useState();
- const [deletedKey, setDeletedKey] = useState();
-
- const deleteIssueType = useCallback(
- async (key: string) => {
- setDeleting(true);
- setError(undefined);
- try {
- await api.deleteIssueType(key);
- setDeletedKey(key);
- return key;
- } catch (err) {
- const error = err instanceof Error ? err : new Error(String(err));
- setError(error);
- throw error;
- } finally {
- setDeleting(false);
- }
- },
- [api],
- );
-
- return {
- deleteIssueType,
- deleting,
- error,
- deletedKey,
- };
-}
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/hooks/useSteps.ts b/backstage-server/packages/plugins/plugin-issuetypes/src/hooks/useSteps.ts
deleted file mode 100644
index b9b24e62..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/hooks/useSteps.ts
+++ /dev/null
@@ -1,109 +0,0 @@
-/**
- * Hooks for fetching and managing steps.
- */
-import { useState, useEffect, useCallback } from 'react';
-import { useApi } from '@backstage/core-plugin-api';
-import { operatorApiRef } from '../api';
-import type { StepResponse, UpdateStepRequest } from '../api/types';
-
-/** Hook to fetch steps for an issue type */
-export function useSteps(issueTypeKey: string) {
- const api = useApi(operatorApiRef);
- const [steps, setSteps] = useState();
- const [loading, setLoading] = useState(true);
- const [error, setError] = useState();
-
- const load = useCallback(async () => {
- setLoading(true);
- setError(undefined);
- try {
- const data = await api.getSteps(issueTypeKey);
- setSteps(data);
- } catch (err) {
- setError(err instanceof Error ? err : new Error(String(err)));
- } finally {
- setLoading(false);
- }
- }, [api, issueTypeKey]);
-
- useEffect(() => {
- load();
- }, [load]);
-
- return {
- steps,
- loading,
- error,
- retry: load,
- };
-}
-
-/** Hook to fetch a single step */
-export function useStep(issueTypeKey: string, stepName: string) {
- const api = useApi(operatorApiRef);
- const [step, setStep] = useState();
- const [loading, setLoading] = useState(true);
- const [error, setError] = useState();
-
- const load = useCallback(async () => {
- setLoading(true);
- setError(undefined);
- try {
- const data = await api.getStep(issueTypeKey, stepName);
- setStep(data);
- } catch (err) {
- setError(err instanceof Error ? err : new Error(String(err)));
- } finally {
- setLoading(false);
- }
- }, [api, issueTypeKey, stepName]);
-
- useEffect(() => {
- load();
- }, [load]);
-
- return {
- step,
- loading,
- error,
- retry: load,
- };
-}
-
-/** Hook to update a step */
-export function useUpdateStep() {
- const api = useApi(operatorApiRef);
- const [updating, setUpdating] = useState(false);
- const [error, setError] = useState();
- const [updatedStep, setUpdatedStep] = useState();
-
- const updateStep = useCallback(
- async (
- issueTypeKey: string,
- stepName: string,
- request: UpdateStepRequest,
- ) => {
- setUpdating(true);
- setError(undefined);
- try {
- const result = await api.updateStep(issueTypeKey, stepName, request);
- setUpdatedStep(result);
- return result;
- } catch (err) {
- const error = err instanceof Error ? err : new Error(String(err));
- setError(error);
- throw error;
- } finally {
- setUpdating(false);
- }
- },
- [api],
- );
-
- return {
- updateStep,
- updating,
- error,
- updatedStep,
- };
-}
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/index.ts b/backstage-server/packages/plugins/plugin-issuetypes/src/index.ts
deleted file mode 100644
index a8ae7a91..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/index.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * @operator/plugin-issuetypes
- *
- * Backstage plugin for managing Operator issue types and collections.
- */
-
-export {
- issueTypesPlugin,
- IssueTypesPage,
- IssueTypeDetailPage,
- IssueTypeFormPage,
- CollectionsPage,
- rootRouteRef,
- detailRouteRef,
- formRouteRef,
- collectionsRouteRef,
-} from './plugin';
-
-// API exports
-export { operatorApiRef } from './api';
-export type { OperatorApi } from './api';
-export * from './api/types';
-
-// Hooks exports
-export * from './hooks';
diff --git a/backstage-server/packages/plugins/plugin-issuetypes/src/plugin.ts b/backstage-server/packages/plugins/plugin-issuetypes/src/plugin.ts
deleted file mode 100644
index cc8f2c2d..00000000
--- a/backstage-server/packages/plugins/plugin-issuetypes/src/plugin.ts
+++ /dev/null
@@ -1,92 +0,0 @@
-/**
- * Operator Issue Types Plugin
- *
- * Backstage plugin for managing issue types and collections.
- */
-
-import {
- createPlugin,
- createRoutableExtension,
- createRouteRef,
- createApiFactory,
- discoveryApiRef,
- fetchApiRef,
-} from '@backstage/core-plugin-api';
-import { operatorApiRef, OperatorApiClient } from './api';
-
-// Route references
-export const rootRouteRef = createRouteRef({
- id: 'issuetypes',
-});
-
-export const detailRouteRef = createRouteRef({
- id: 'issuetypes:detail',
- params: ['key'],
-});
-
-export const formRouteRef = createRouteRef({
- id: 'issuetypes:form',
- params: ['key'],
-});
-
-export const collectionsRouteRef = createRouteRef({
- id: 'issuetypes:collections',
-});
-
-// Plugin definition
-export const issueTypesPlugin = createPlugin({
- id: 'issuetypes',
- routes: {
- root: rootRouteRef,
- detail: detailRouteRef,
- form: formRouteRef,
- collections: collectionsRouteRef,
- },
- apis: [
- createApiFactory({
- api: operatorApiRef,
- deps: { discoveryApi: discoveryApiRef, fetchApi: fetchApiRef },
- factory: ({ discoveryApi, fetchApi }) =>
- new OperatorApiClient({ discoveryApi, fetchApi }),
- }),
- ],
-});
-
-// Routable extensions
-export const IssueTypesPage = issueTypesPlugin.provide(
- createRoutableExtension({
- name: 'IssueTypesPage',
- component: () =>
- import('./components/IssueTypesPage').then((m) => m.IssueTypesPage),
- mountPoint: rootRouteRef,
- }),
-);
-
-export const IssueTypeDetailPage = issueTypesPlugin.provide(
- createRoutableExtension({
- name: 'IssueTypeDetailPage',
- component: () =>
- import('./components/IssueTypeDetailPage').then(
- (m) => m.IssueTypeDetailPage,
- ),
- mountPoint: detailRouteRef,
- }),
-);
-
-export const IssueTypeFormPage = issueTypesPlugin.provide(
- createRoutableExtension({
- name: 'IssueTypeFormPage',
- component: () =>
- import('./components/IssueTypeFormPage').then((m) => m.IssueTypeFormPage),
- mountPoint: formRouteRef,
- }),
-);
-
-export const CollectionsPage = issueTypesPlugin.provide(
- createRoutableExtension({
- name: 'CollectionsPage',
- component: () =>
- import('./components/CollectionsPage').then((m) => m.CollectionsPage),
- mountPoint: collectionsRouteRef,
- }),
-);
diff --git a/backstage-server/playwright.config.ts b/backstage-server/playwright.config.ts
deleted file mode 100644
index d06063cc..00000000
--- a/backstage-server/playwright.config.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-import { defineConfig, devices } from '@playwright/test';
-
-/**
- * Playwright configuration for Backstage Server E2E tests
- *
- * Starts the backstage server before running tests and verifies
- * key pages load with expected data-testid attributes.
- *
- * Note: Backstage guest auth uses in-memory state, so each test
- * handles login via the gotoWithAuth() helper in auth.ts.
- */
-export default defineConfig({
- testDir: './e2e',
- fullyParallel: true,
- forbidOnly: !!process.env.CI,
- retries: process.env.CI ? 2 : 0,
- workers: process.env.CI ? 1 : undefined,
- reporter: 'html',
-
- use: {
- baseURL: 'http://localhost:7007',
- trace: 'on-first-retry',
- },
-
- projects: [
- {
- name: 'chromium',
- use: { ...devices['Desktop Chrome'] },
- },
- ],
-
- // Start the Backstage server before running tests
- // In CI, use the compiled binary; locally, run from source
- webServer: {
- command: process.env.USE_BINARY === 'true'
- ? './dist/backstage-server'
- : 'bun run start',
- url: 'http://localhost:7007/health',
- reuseExistingServer: !process.env.CI,
- timeout: 120000, // 2 minutes to start
- },
-});
diff --git a/backstage-server/scripts/generate-embeds.ts b/backstage-server/scripts/generate-embeds.ts
deleted file mode 100644
index d39b8ed4..00000000
--- a/backstage-server/scripts/generate-embeds.ts
+++ /dev/null
@@ -1,152 +0,0 @@
-/**
- * Generate Embedded Assets
- *
- * This script:
- * 1. Scans packages/app/dist/ for built frontend files
- * 2. Copies them to src/assets/ (for Bun to embed)
- * 3. Generates src/embedded-assets.ts with import statements
- *
- * Run with: bun run scripts/generate-embeds.ts
- */
-
-import { readdir, mkdir, rm, copyFile, writeFile, readFile } from "node:fs/promises";
-import { join, relative } from "node:path";
-
-const DIST_DIR = "packages/app/dist";
-const ASSETS_DIR = "src/assets";
-const OUTPUT_FILE = "src/embedded-assets.ts";
-
-// File extensions to exclude (source maps increase binary size)
-const EXCLUDE_EXTENSIONS = [".map"];
-
-/**
- * Copy file with retry logic for Windows file locking issues.
- * On Windows, EPERM errors can occur when files are temporarily locked.
- * This function retries with exponential backoff and falls back to read+write.
- */
-async function copyFileWithRetry(
- src: string,
- dest: string,
- maxRetries = 3
-): Promise {
- for (let attempt = 1; attempt <= maxRetries; attempt++) {
- try {
- await copyFile(src, dest);
- return;
- } catch (err: unknown) {
- const error = err as NodeJS.ErrnoException;
- // On Windows, EPERM can occur if file is temporarily locked
- if (error.code === "EPERM" && attempt < maxRetries) {
- console.warn(
- `Retry ${attempt}/${maxRetries} for ${src}: ${error.code}`
- );
- await new Promise((resolve) => setTimeout(resolve, 100 * attempt));
- continue;
- }
- // Fallback: read source and write to destination
- // This handles Windows dotfile issues where copyFile fails with EPERM
- if (error.code === "EPERM") {
- console.warn(`Using read+write fallback for ${src}`);
- // Small delay for Windows to release file locks from failed copyFile
- await new Promise((resolve) => setTimeout(resolve, 100));
- // Remove destination file if it exists (may have been partially created by failed copyFile)
- // recursive: true is required to enable maxRetries for EPERM errors on Windows
- try {
- await rm(dest, { force: true, recursive: true, maxRetries: 3, retryDelay: 100 });
- } catch {
- // Continue anyway - file might not exist
- }
- const content = await readFile(src);
- await writeFile(dest, content);
- return;
- }
- throw err;
- }
- }
-}
-
-async function getAllFiles(dir: string): Promise {
- const files: string[] = [];
- const entries = await readdir(dir, { withFileTypes: true });
-
- for (const entry of entries) {
- const fullPath = join(dir, entry.name);
- if (entry.isDirectory()) {
- files.push(...(await getAllFiles(fullPath)));
- } else {
- // Skip excluded extensions
- const shouldExclude = EXCLUDE_EXTENSIONS.some((ext) =>
- entry.name.endsWith(ext)
- );
- if (!shouldExclude) {
- files.push(fullPath);
- }
- }
- }
-
- return files;
-}
-
-async function main() {
- console.log("Generating embedded assets...");
-
- // Clean up existing assets directory
- try {
- await rm(ASSETS_DIR, { recursive: true });
- } catch {
- // Directory doesn't exist, that's fine
- }
- await mkdir(ASSETS_DIR, { recursive: true });
-
- // Get all files from dist
- const distFiles = await getAllFiles(DIST_DIR);
- console.log(`Found ${distFiles.length} files to embed`);
-
- // Copy files and collect import paths
- const importPaths: string[] = [];
-
- for (const file of distFiles) {
- // Get relative path from dist directory
- const relativePath = relative(DIST_DIR, file);
- const destPath = join(ASSETS_DIR, relativePath);
-
- // Create destination directory if needed
- const destDir = join(ASSETS_DIR, relative(DIST_DIR, file.replace(/[/\\][^/\\]+$/, "")));
- await mkdir(destDir, { recursive: true }).catch(() => {});
-
- // Copy file (with retry for Windows file locking)
- await copyFileWithRetry(file, destPath);
-
- // Add to import paths (relative to src/)
- // Normalize to forward slashes for ES module imports (required regardless of OS)
- importPaths.push(`./assets/${relativePath.replace(/\\/g, '/')}`);
- }
-
- // Generate embedded-assets.ts
- const imports = importPaths
- .map((path) => `import "${path}" with { type: "file" };`)
- .join("\n");
-
- const content = `/**
- * Embedded Frontend Assets
- *
- * AUTO-GENERATED FILE - DO NOT EDIT MANUALLY
- * Regenerate with: bun run build:embeds
- *
- * This file imports all frontend assets so they get embedded
- * into the compiled Bun binary via \`with { type: "file" }\` syntax.
- */
-
-${imports}
-
-// Export empty object to ensure this module is included
-export {};
-`;
-
- await writeFile(OUTPUT_FILE, content);
-
- console.log(`Generated ${OUTPUT_FILE} with ${importPaths.length} imports`);
- console.log(`Copied assets to ${ASSETS_DIR}/`);
-}
-
-main().catch(console.error);
diff --git a/backstage-server/src/catalog/index.ts b/backstage-server/src/catalog/index.ts
deleted file mode 100644
index 490f91fd..00000000
--- a/backstage-server/src/catalog/index.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * Catalog Module
- */
-
-export { CatalogStorage } from './storage';
-export { createCatalogRoutes } from './routes';
-export * from './types';
diff --git a/backstage-server/src/catalog/routes.ts b/backstage-server/src/catalog/routes.ts
deleted file mode 100644
index d084ee65..00000000
--- a/backstage-server/src/catalog/routes.ts
+++ /dev/null
@@ -1,217 +0,0 @@
-/**
- * Catalog REST API Routes
- *
- * Implements the Backstage Catalog API endpoints for the React frontend.
- * @see https://backstage.io/docs/features/software-catalog/software-catalog-api
- */
-
-import { Hono } from 'hono';
-import { CatalogStorage } from './storage';
-import type { EntitiesQuery, Entity } from './types';
-import { parseEntityRef } from './types';
-
-export function createCatalogRoutes(storage: CatalogStorage): Hono {
- const app = new Hono();
-
- // GET /entities/by-query - Query entities with filtering
- app.get('/entities/by-query', async (c) => {
- const url = new URL(c.req.url);
-
- // Collect filters from both formats:
- // - Standard: filter=field=value
- // - Backstage: filters[field]=value
- const filters: string[] = url.searchParams.getAll('filter');
-
- // Parse Backstage-style filters[field]=value
- for (const [key, value] of url.searchParams.entries()) {
- const match = key.match(/^filters\[(.+)\]$/);
- if (match) {
- const field = match[1];
- filters.push(`${field}=${value}`);
- }
- }
-
- const query: EntitiesQuery = {
- filter: filters,
- fields: url.searchParams.getAll('fields'),
- offset: parseInt(url.searchParams.get('offset') || '0', 10),
- limit: parseInt(url.searchParams.get('limit') || '20', 10),
- };
-
- // Parse orderField if present
- const orderFields = url.searchParams.getAll('orderField');
- if (orderFields.length > 0) {
- query.orderField = orderFields.map((f) => {
- const [field, order] = f.split(',');
- return { field, order: (order as 'asc' | 'desc') || 'asc' };
- });
- }
-
- const result = storage.queryEntities(query);
- return c.json(result);
- });
-
- // GET /entities - List all entities (legacy endpoint)
- app.get('/entities', async (c) => {
- const url = new URL(c.req.url);
-
- // Collect filters from both formats
- const filters: string[] = url.searchParams.getAll('filter');
- for (const [key, value] of url.searchParams.entries()) {
- const match = key.match(/^filters\[(.+)\]$/);
- if (match) {
- filters.push(`${match[1]}=${value}`);
- }
- }
-
- const query: EntitiesQuery = {
- filter: filters,
- offset: parseInt(url.searchParams.get('offset') || '0', 10),
- limit: parseInt(url.searchParams.get('limit') || '500', 10),
- };
-
- const result = storage.queryEntities(query);
- return c.json(result.items);
- });
-
- // GET /entities/by-uid/:uid - Get entity by UID
- app.get('/entities/by-uid/:uid', async (c) => {
- const uid = c.req.param('uid');
- const entity = storage.getEntityByUid(uid);
-
- if (!entity) {
- return c.json({ error: 'Entity not found' }, 404);
- }
-
- return c.json(entity);
- });
-
- // GET /entities/by-name/:kind/:namespace/:name - Get entity by name
- app.get('/entities/by-name/:kind/:namespace/:name', async (c) => {
- const { kind, namespace, name } = c.req.param();
- const entity = storage.getEntityByName(kind, namespace, name);
-
- if (!entity) {
- return c.json({ error: 'Entity not found' }, 404);
- }
-
- return c.json(entity);
- });
-
- // POST /entities/by-refs - Batch get entities by refs
- app.post('/entities/by-refs', async (c) => {
- const body = await c.req.json<{ entityRefs: string[]; fields?: string[] }>();
- const { entityRefs } = body;
-
- const items = entityRefs.map((ref) => {
- const parsed = parseEntityRef(ref);
- if (parsed.kind) {
- return storage.getEntityByName(
- parsed.kind,
- parsed.namespace,
- parsed.name
- );
- }
- return storage.getEntityByRef(ref);
- });
-
- return c.json({ items: items.filter(Boolean) });
- });
-
- // GET /entity-facets - Get facet counts
- app.get('/entity-facets', async (c) => {
- const url = new URL(c.req.url);
- const facets = url.searchParams.getAll('facet');
-
- if (facets.length === 0) {
- return c.json({ facets: {} });
- }
-
- const result = storage.getFacets(facets);
- return c.json(result);
- });
-
- // GET /locations - List all locations
- app.get('/locations', async (c) => {
- const locations = storage.listLocations();
- return c.json(locations);
- });
-
- // POST /locations - Register a new location
- app.post('/locations', async (c) => {
- const body = await c.req.json<{ type: string; target: string }>();
- const { type, target } = body;
-
- if (!type || !target) {
- return c.json({ error: 'type and target are required' }, 400);
- }
-
- const location = storage.addLocation(type, target);
- return c.json(location, 201);
- });
-
- // DELETE /locations/:id - Remove a location
- app.delete('/locations/:id', async (c) => {
- const id = c.req.param('id');
- const removed = storage.removeLocation(id);
-
- if (!removed) {
- return c.json({ error: 'Location not found' }, 404);
- }
-
- return c.json({ success: true });
- });
-
- // POST /refresh - Refresh an entity (trigger re-ingestion)
- app.post('/refresh', async (c) => {
- const body = await c.req.json<{ entityRef: string }>();
- const { entityRef } = body;
-
- // For now, just acknowledge the refresh request
- // In a full implementation, this would trigger re-ingestion
- console.log(`Refresh requested for: ${entityRef}`);
-
- return c.json({ success: true });
- });
-
- // POST /entities - Create/update entity directly
- app.post('/entities', async (c) => {
- const entity = await c.req.json();
-
- if (!entity.apiVersion || !entity.kind || !entity.metadata?.name) {
- return c.json(
- { error: 'apiVersion, kind, and metadata.name are required' },
- 400
- );
- }
-
- const saved = storage.addEntity(entity);
- return c.json(saved, 201);
- });
-
- // DELETE /entities/by-uid/:uid - Delete entity by UID
- app.delete('/entities/by-uid/:uid', async (c) => {
- const uid = c.req.param('uid');
- const entity = storage.getEntityByUid(uid);
-
- if (!entity) {
- return c.json({ error: 'Entity not found' }, 404);
- }
-
- const ref = `${entity.kind.toLowerCase()}:${entity.metadata.namespace || 'default'}/${entity.metadata.name}`;
- storage.removeEntity(ref);
-
- return c.json({ success: true });
- });
-
- // GET / - Catalog info
- app.get('/', async (c) => {
- const stats = storage.getStats();
- return c.json({
- status: 'ok',
- ...stats,
- });
- });
-
- return app;
-}
diff --git a/backstage-server/src/catalog/storage.ts b/backstage-server/src/catalog/storage.ts
deleted file mode 100644
index dea0ef88..00000000
--- a/backstage-server/src/catalog/storage.ts
+++ /dev/null
@@ -1,317 +0,0 @@
-/**
- * Catalog Entity Storage
- *
- * In-memory storage with optional JSON file persistence.
- * Provides CRUD operations for Backstage catalog entities.
- */
-
-import { readFile, writeFile, mkdir } from 'node:fs/promises';
-import { dirname } from 'node:path';
-import { randomUUID } from 'node:crypto';
-import type {
- Entity,
- EntityEnvelope,
- Location,
- EntitiesQuery,
- EntitiesResponse,
- EntityFacetsResponse,
-} from './types';
-import { stringifyEntityRef } from './types';
-
-interface StorageState {
- entities: EntityEnvelope[];
- locations: Location[];
-}
-
-export class CatalogStorage {
- private entities: Map = new Map();
- private entitiesByUid: Map = new Map();
- private locations: Map = new Map();
- private persistPath?: string;
- private dirty = false;
- private saveTimeout?: ReturnType;
-
- constructor(persistPath?: string) {
- this.persistPath = persistPath;
- }
-
- async load(): Promise {
- if (!this.persistPath) {return;}
-
- try {
- const data = await readFile(this.persistPath, 'utf-8');
- const state: StorageState = JSON.parse(data);
-
- for (const envelope of state.entities) {
- this.indexEntity(envelope);
- }
- for (const location of state.locations) {
- this.locations.set(location.id, location);
- }
-
- console.log(`Loaded ${this.entities.size} entities from ${this.persistPath}`);
- } catch (err) {
- if ((err as NodeJS.ErrnoException).code !== 'ENOENT') {
- console.error('Failed to load catalog state:', err);
- }
- }
- }
-
- private async save(): Promise {
- if (!this.persistPath || !this.dirty) {return;}
-
- try {
- await mkdir(dirname(this.persistPath), { recursive: true });
-
- const state: StorageState = {
- entities: Array.from(this.entities.values()),
- locations: Array.from(this.locations.values()),
- };
-
- await writeFile(this.persistPath, JSON.stringify(state, null, 2));
- this.dirty = false;
- } catch (err) {
- console.error('Failed to save catalog state:', err);
- }
- }
-
- private scheduleSave(): void {
- this.dirty = true;
- if (this.saveTimeout) {clearTimeout(this.saveTimeout);}
- this.saveTimeout = setTimeout(() => this.save(), 1000);
- }
-
- private indexEntity(envelope: EntityEnvelope): void {
- const ref = stringifyEntityRef(envelope.entity);
- this.entities.set(ref, envelope);
-
- if (envelope.entity.metadata.uid) {
- this.entitiesByUid.set(envelope.entity.metadata.uid, envelope);
- }
- }
-
- private unindexEntity(envelope: EntityEnvelope): void {
- const ref = stringifyEntityRef(envelope.entity);
- this.entities.delete(ref);
-
- if (envelope.entity.metadata.uid) {
- this.entitiesByUid.delete(envelope.entity.metadata.uid);
- }
- }
-
- // Add or update an entity
- addEntity(entity: Entity, locationKey?: string): Entity {
- // Ensure defaults
- entity.metadata.namespace = entity.metadata.namespace || 'default';
- entity.metadata.uid = entity.metadata.uid || randomUUID();
- entity.metadata.etag = randomUUID().slice(0, 8);
-
- const envelope: EntityEnvelope = { entity, locationKey };
- this.indexEntity(envelope);
- this.scheduleSave();
-
- return entity;
- }
-
- // Remove an entity
- removeEntity(ref: string): boolean {
- const envelope = this.entities.get(ref);
- if (!envelope) {return false;}
-
- this.unindexEntity(envelope);
- this.scheduleSave();
- return true;
- }
-
- // Get entity by reference (kind:namespace/name)
- getEntityByRef(ref: string): Entity | undefined {
- return this.entities.get(ref)?.entity;
- }
-
- // Get entity by UID
- getEntityByUid(uid: string): Entity | undefined {
- return this.entitiesByUid.get(uid)?.entity;
- }
-
- // Get entity by kind/namespace/name
- getEntityByName(
- kind: string,
- namespace: string,
- name: string
- ): Entity | undefined {
- const ref = `${kind.toLowerCase()}:${namespace}/${name}`;
- return this.entities.get(ref)?.entity;
- }
-
- // Query entities with filtering
- queryEntities(query: EntitiesQuery): EntitiesResponse {
- let items = Array.from(this.entities.values()).map((e) => e.entity);
-
- // Apply filters
- if (query.filter) {
- for (const filter of query.filter) {
- items = this.applyFilter(items, filter);
- }
- }
-
- // Sort
- if (query.orderField && query.orderField.length > 0) {
- items = this.sortEntities(items, query.orderField);
- }
-
- const totalItems = items.length;
-
- // Pagination
- const offset = query.offset || 0;
- const limit = query.limit || 20;
- items = items.slice(offset, offset + limit);
-
- return {
- items,
- totalItems,
- pageInfo: {
- nextCursor:
- offset + limit < totalItems ? String(offset + limit) : undefined,
- prevCursor: offset > 0 ? String(Math.max(0, offset - limit)) : undefined,
- },
- };
- }
-
- private applyFilter(entities: Entity[], filter: string): Entity[] {
- // Filter format: field=value or field!=value
- const match = filter.match(/^([^=!]+)(=|!=)(.*)$/);
- if (!match) {return entities;}
-
- const [, field, operator, value] = match;
-
- return entities.filter((entity) => {
- const fieldValue = this.getFieldValue(entity, field);
- const matches =
- Array.isArray(fieldValue)
- ? fieldValue.includes(value)
- : String(fieldValue) === value;
-
- return operator === '=' ? matches : !matches;
- });
- }
-
- private getFieldValue(entity: Entity, field: string): unknown {
- const parts = field.split('.');
-
- // Handle special fields
- if (parts[0] === 'kind') {return entity.kind.toLowerCase();}
- if (parts[0] === 'metadata') {
- const key = parts.slice(1).join('.');
- return this.getNestedValue(entity.metadata, key);
- }
- if (parts[0] === 'spec') {
- const key = parts.slice(1).join('.');
- return this.getNestedValue(entity.spec || {}, key);
- }
-
- return undefined;
- }
-
- private getNestedValue(obj: unknown, path: string): unknown {
- const parts = path.split('.');
- let current: unknown = obj;
-
- for (const part of parts) {
- if (current == null || typeof current !== 'object') {return undefined;}
- current = (current as Record)[part];
- }
-
- return current;
- }
-
- private sortEntities(
- entities: Entity[],
- orderFields: Array<{ field: string; order: 'asc' | 'desc' }>
- ): Entity[] {
- return [...entities].sort((a, b) => {
- for (const { field, order } of orderFields) {
- const aVal = String(this.getFieldValue(a, field) ?? '');
- const bVal = String(this.getFieldValue(b, field) ?? '');
- const cmp = aVal.localeCompare(bVal);
- if (cmp !== 0) {return order === 'asc' ? cmp : -cmp;}
- }
- return 0;
- });
- }
-
- // Get facet counts
- getFacets(facets: string[]): EntityFacetsResponse {
- const result: Record> = {};
-
- for (const facet of facets) {
- const counts = new Map();
-
- for (const envelope of this.entities.values()) {
- const value = this.getFieldValue(envelope.entity, facet);
- const values = Array.isArray(value) ? value : [value];
-
- for (const v of values) {
- if (v != null) {
- const key = String(v);
- counts.set(key, (counts.get(key) || 0) + 1);
- }
- }
- }
-
- result[facet] = Array.from(counts.entries())
- .map(([value, count]) => ({ value, count }))
- .sort((a, b) => b.count - a.count);
- }
-
- return { facets: result };
- }
-
- // Location management
- addLocation(type: string, target: string): Location {
- const id = randomUUID();
- const location: Location = { id, type, target };
- this.locations.set(id, location);
- this.scheduleSave();
- return location;
- }
-
- removeLocation(id: string): boolean {
- const removed = this.locations.delete(id);
- if (removed) {this.scheduleSave();}
- return removed;
- }
-
- getLocation(id: string): Location | undefined {
- return this.locations.get(id);
- }
-
- listLocations(): Location[] {
- return Array.from(this.locations.values());
- }
-
- // Remove all entities from a location
- removeEntitiesByLocation(locationKey: string): number {
- let removed = 0;
- for (const [, envelope] of this.entities) {
- if (envelope.locationKey === locationKey) {
- this.unindexEntity(envelope);
- removed++;
- }
- }
- if (removed > 0) {this.scheduleSave();}
- return removed;
- }
-
- // Get all entities (for search indexing)
- getAllEntities(): Entity[] {
- return Array.from(this.entities.values()).map((e) => e.entity);
- }
-
- // Stats
- getStats(): { entityCount: number; locationCount: number } {
- return {
- entityCount: this.entities.size,
- locationCount: this.locations.size,
- };
- }
-}
diff --git a/backstage-server/src/catalog/types.ts b/backstage-server/src/catalog/types.ts
deleted file mode 100644
index 75252221..00000000
--- a/backstage-server/src/catalog/types.ts
+++ /dev/null
@@ -1,98 +0,0 @@
-/**
- * Backstage Catalog Entity Types
- *
- * Minimal type definitions matching the Backstage catalog API.
- * @see https://backstage.io/docs/features/software-catalog/descriptor-format
- */
-
-export interface EntityMeta {
- uid?: string;
- etag?: string;
- name: string;
- namespace?: string;
- title?: string;
- description?: string;
- labels?: Record;
- annotations?: Record;
- tags?: string[];
- links?: Array<{
- url: string;
- title?: string;
- icon?: string;
- type?: string;
- }>;
-}
-
-export interface EntityRelation {
- type: string;
- targetRef: string;
-}
-
-export interface Entity {
- apiVersion: string;
- kind: string;
- metadata: EntityMeta;
- spec?: Record;
- relations?: EntityRelation[];
-}
-
-export interface EntityEnvelope {
- entity: Entity;
- locationKey?: string;
-}
-
-export interface Location {
- id: string;
- type: string;
- target: string;
-}
-
-// Entity reference format: [kind:]namespace/name
-export function parseEntityRef(ref: string): {
- kind?: string;
- namespace: string;
- name: string;
-} {
- const parts = ref.split('/');
- if (parts.length === 1) {
- return { namespace: 'default', name: parts[0] };
- }
- if (parts.length === 2) {
- const [kindOrNs, name] = parts;
- if (kindOrNs.includes(':')) {
- const [kind, namespace] = kindOrNs.split(':');
- return { kind, namespace, name };
- }
- return { namespace: kindOrNs, name };
- }
- return { namespace: 'default', name: ref };
-}
-
-export function stringifyEntityRef(entity: Entity): string {
- const namespace = entity.metadata.namespace || 'default';
- return `${entity.kind.toLowerCase()}:${namespace}/${entity.metadata.name}`;
-}
-
-// Query parameters for catalog API
-export interface EntitiesQuery {
- filter?: string[];
- fields?: string[];
- offset?: number;
- limit?: number;
- after?: string;
- orderField?: Array<{ field: string; order: 'asc' | 'desc' }>;
-}
-
-// API response types
-export interface EntitiesResponse {
- items: Entity[];
- totalItems: number;
- pageInfo: {
- nextCursor?: string;
- prevCursor?: string;
- };
-}
-
-export interface EntityFacetsResponse {
- facets: Record>;
-}
diff --git a/backstage-server/src/search/index.ts b/backstage-server/src/search/index.ts
deleted file mode 100644
index 581a5a09..00000000
--- a/backstage-server/src/search/index.ts
+++ /dev/null
@@ -1,227 +0,0 @@
-/**
- * Search Index
- *
- * Simple in-memory text search index for catalog entities.
- */
-
-import type { Entity } from '../catalog/types';
-import { stringifyEntityRef } from '../catalog/types';
-
-interface IndexedDocument {
- entityRef: string;
- kind: string;
- namespace: string;
- name: string;
- title: string;
- description: string;
- tags: string[];
- tier?: string; // Operator taxonomy tier
- kindType?: string; // spec.type (taxonomy kind)
- text: string; // Combined searchable text
-}
-
-export interface SearchResult {
- type: string;
- document: {
- title: string;
- text: string;
- location: string;
- kind: string;
- namespace: string;
- name: string;
- };
- rank: number;
-}
-
-export interface SearchQuery {
- term: string;
- types?: string[];
- filters?: Record;
-}
-
-export class SearchIndex {
- private documents: Map = new Map();
-
- // Index an entity
- indexEntity(entity: Entity): void {
- const ref = stringifyEntityRef(entity);
- const meta = entity.metadata;
- const labels = meta.labels || {};
-
- // Extract tier and kind type from labels/spec
- const tier = labels['operator-tier'];
- const kindType = entity.spec?.type as string | undefined;
-
- // Build searchable text from all relevant fields
- const textParts = [
- meta.name,
- meta.title || '',
- meta.description || '',
- ...(meta.tags || []),
- entity.kind,
- ];
-
- // Add tier to searchable text
- if (tier) {
- textParts.push(tier);
- }
-
- // Add kindType to searchable text
- if (kindType) {
- textParts.push(kindType);
- }
-
- // Add spec fields if they're strings
- if (entity.spec) {
- for (const [, value] of Object.entries(entity.spec)) {
- if (typeof value === 'string') {
- textParts.push(value);
- }
- }
- }
-
- const doc: IndexedDocument = {
- entityRef: ref,
- kind: entity.kind.toLowerCase(),
- namespace: meta.namespace || 'default',
- name: meta.name,
- title: meta.title || meta.name,
- description: meta.description || '',
- tags: meta.tags || [],
- tier,
- kindType,
- text: textParts.join(' ').toLowerCase(),
- };
-
- this.documents.set(ref, doc);
- }
-
- // Remove an entity from the index
- removeEntity(entityRef: string): void {
- this.documents.delete(entityRef);
- }
-
- // Clear and rebuild index
- rebuildIndex(entities: Entity[]): void {
- this.documents.clear();
- for (const entity of entities) {
- this.indexEntity(entity);
- }
- }
-
- // Search for entities
- search(query: SearchQuery): SearchResult[] {
- const term = query.term.toLowerCase().trim();
- const results: SearchResult[] = [];
-
- for (const doc of this.documents.values()) {
- // Apply type filter if specified
- if (query.types && query.types.length > 0) {
- const typeMatch = query.types.some(
- (t) => t.toLowerCase() === `software-catalog.${doc.kind}`
- );
- if (!typeMatch) {continue;}
- }
-
- // Apply kind filter if in filters
- if (query.filters?.kind) {
- const kinds = Array.isArray(query.filters.kind)
- ? query.filters.kind
- : [query.filters.kind];
- if (!kinds.some((k) => k.toLowerCase() === doc.kind)) {continue;}
- }
-
- // Apply tier filter if in filters
- if (query.filters?.['metadata.labels.operator-tier']) {
- const tiers = Array.isArray(query.filters['metadata.labels.operator-tier'])
- ? query.filters['metadata.labels.operator-tier']
- : [query.filters['metadata.labels.operator-tier']];
- if (!doc.tier || !tiers.includes(doc.tier)) {continue;}
- }
-
- // Apply kindType (spec.type) filter if in filters
- if (query.filters?.['spec.type']) {
- const kindTypes = Array.isArray(query.filters['spec.type'])
- ? query.filters['spec.type']
- : [query.filters['spec.type']];
- if (!doc.kindType || !kindTypes.includes(doc.kindType)) {continue;}
- }
-
- // Calculate relevance score
- let rank = 0;
-
- if (!term) {
- // No search term - return all (with base rank)
- rank = 1;
- } else {
- // Exact name match
- if (doc.name.toLowerCase() === term) {
- rank += 100;
- }
- // Name starts with term
- else if (doc.name.toLowerCase().startsWith(term)) {
- rank += 50;
- }
- // Name contains term
- else if (doc.name.toLowerCase().includes(term)) {
- rank += 25;
- }
-
- // Title match
- if (doc.title.toLowerCase().includes(term)) {
- rank += 20;
- }
-
- // Description match
- if (doc.description.toLowerCase().includes(term)) {
- rank += 10;
- }
-
- // Tags match
- if (doc.tags.some((t) => t.toLowerCase().includes(term))) {
- rank += 15;
- }
-
- // Tier match
- if (doc.tier?.toLowerCase().includes(term)) {
- rank += 12;
- }
-
- // Kind type match
- if (doc.kindType?.toLowerCase().includes(term)) {
- rank += 12;
- }
-
- // General text match
- if (doc.text.includes(term)) {
- rank += 5;
- }
- }
-
- if (rank > 0) {
- results.push({
- type: `software-catalog.${doc.kind}`,
- document: {
- title: doc.title,
- text: doc.description,
- location: `/catalog/${doc.namespace}/${doc.kind}/${doc.name}`,
- kind: doc.kind,
- namespace: doc.namespace,
- name: doc.name,
- },
- rank,
- });
- }
- }
-
- // Sort by rank (descending)
- results.sort((a, b) => b.rank - a.rank);
-
- return results;
- }
-
- // Get stats
- getStats(): { documentCount: number } {
- return { documentCount: this.documents.size };
- }
-}
diff --git a/backstage-server/src/search/routes.ts b/backstage-server/src/search/routes.ts
deleted file mode 100644
index de229ff3..00000000
--- a/backstage-server/src/search/routes.ts
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
- * Search REST API Routes
- *
- * Implements the Backstage Search API endpoints.
- */
-
-import { Hono } from 'hono';
-import { SearchIndex, type SearchQuery } from './index';
-
-export function createSearchRoutes(searchIndex: SearchIndex): Hono {
- const app = new Hono();
-
- // POST /query - Search query
- app.post('/query', async (c) => {
- const body = await c.req.json<{
- term: string;
- types?: string[];
- filters?: Record;
- pageLimit?: number;
- pageCursor?: string;
- }>();
-
- const query: SearchQuery = {
- term: body.term || '',
- types: body.types,
- filters: body.filters,
- };
-
- let results = searchIndex.search(query);
-
- // Apply pagination
- const pageLimit = body.pageLimit || 25;
- const offset = body.pageCursor ? parseInt(body.pageCursor, 10) : 0;
-
- const totalResults = results.length;
- results = results.slice(offset, offset + pageLimit);
-
- const nextCursor =
- offset + pageLimit < totalResults ? String(offset + pageLimit) : undefined;
-
- return c.json({
- results,
- nextCursor,
- previousCursor: offset > 0 ? String(Math.max(0, offset - pageLimit)) : undefined,
- numberOfResults: totalResults,
- });
- });
-
- // GET /query - Alternative GET endpoint
- app.get('/query', async (c) => {
- const url = new URL(c.req.url);
- const term = url.searchParams.get('term') || '';
- const types = url.searchParams.getAll('types');
- const pageLimit = parseInt(url.searchParams.get('pageLimit') || '25', 10);
- const pageCursor = url.searchParams.get('pageCursor') || undefined;
-
- const query: SearchQuery = { term, types };
-
- let results = searchIndex.search(query);
-
- // Apply pagination
- const offset = pageCursor ? parseInt(pageCursor, 10) : 0;
- const totalResults = results.length;
- results = results.slice(offset, offset + pageLimit);
-
- const nextCursor =
- offset + pageLimit < totalResults ? String(offset + pageLimit) : undefined;
-
- return c.json({
- results,
- nextCursor,
- previousCursor: offset > 0 ? String(Math.max(0, offset - pageLimit)) : undefined,
- numberOfResults: totalResults,
- });
- });
-
- // GET / - Search info
- app.get('/', async (c) => {
- const stats = searchIndex.getStats();
- return c.json({
- status: 'ok',
- ...stats,
- });
- });
-
- return app;
-}
diff --git a/backstage-server/src/standalone.ts b/backstage-server/src/standalone.ts
deleted file mode 100644
index dde9907d..00000000
--- a/backstage-server/src/standalone.ts
+++ /dev/null
@@ -1,671 +0,0 @@
-/**
- * Operator Backstage Standalone Server
- *
- * Bun-based server for the Backstage catalog and developer portal.
- * Uses Hono for HTTP instead of @backstage/backend-defaults
- * to enable bun build --compile.
- *
- * Features:
- * - In-memory catalog with file persistence
- * - Search index for catalog entities
- * - Proxy to Operator REST API
- * - Embedded React frontend
- */
-
-// Import embedded assets first - enables Bun to embed frontend files into the binary
-import './embedded-assets';
-
-import { Hono } from 'hono';
-import { cors } from 'hono/cors';
-import { join } from 'node:path';
-import { homedir } from 'node:os';
-import { readFile } from 'node:fs/promises';
-
-import { CatalogStorage, createCatalogRoutes } from './catalog';
-import { SearchIndex } from './search/index';
-import { createSearchRoutes } from './search/routes';
-
-// Branding/theme configuration interface
-interface ThemeConfig {
- appTitle: string;
- orgName: string;
- logoPath?: string;
- mode: 'light' | 'dark' | 'system';
- colors: {
- // Core brand colors
- primary: string; // Main action color (Terracotta)
- secondary: string; // Secondary elements (Deep Pine)
- accent: string; // Highlights, light surfaces (Cream)
- warning: string; // Alerts
- muted: string; // Subdued text (Cornflower)
- // Light mode surfaces
- background: string; // Page background
- surface: string; // Card/paper background
- text: string; // Primary text color
- // Navigation scale (4 levels, L1=lightest, L4=darkest)
- navL1: string; // Nav button default (Sage)
- navL2: string; // Nav hover (Teal)
- navL3: string; // Nav selected (Deep Pine)
- navL4: string; // Nav background/darkest (Midnight)
- };
- components?: {
- borderRadius?: number; // Default: 4
- };
-}
-
-// Build asset map from embedded files
-const assetMap = new Map();
-
-// Bun embeds files with a `name` property containing the path
-interface BunBlob extends Blob {
- name: string;
-}
-
-const embeddedFiles = (
- (globalThis as unknown as { Bun?: { embeddedFiles?: readonly BunBlob[] } }).Bun?.embeddedFiles ?? []
-) as BunBlob[];
-
-for (const blob of embeddedFiles) {
- // Bun embeds with paths like "./assets/static/main.js" or "assets/index.html"
- // Normalize to URL path by removing leading "./" and "assets/" prefix
- const name = blob.name
- .replace(/^\.\//, '') // Remove leading ./
- .replace(/^assets\//, ''); // Remove assets/ prefix
- assetMap.set(name, blob);
-}
-
-const hasEmbeddedFrontend = assetMap.has('index.html');
-
-// Initialize catalog storage with persistence
-const catalogPersistPath = join(homedir(), '.operator', 'backstage-catalog.json');
-const catalogStorage = new CatalogStorage(catalogPersistPath);
-await catalogStorage.load();
-
-// Initialize search index
-const searchIndex = new SearchIndex();
-
-// Index existing entities
-for (const entity of catalogStorage.getAllEntities()) {
- searchIndex.indexEntity(entity);
-}
-
-// Load branding configuration from ~/.operator/backstage/branding/theme.json
-const brandingPath = join(homedir(), '.operator', 'backstage', 'branding');
-const themePath = join(brandingPath, 'theme.json');
-
-// Default theme config (matches docs/assets/css/main.css)
-let themeConfig: ThemeConfig = {
- appTitle: 'Operator!',
- orgName: 'Operator',
- logoPath: 'logo.svg',
- mode: 'system', // Respects OS light/dark preference
- colors: {
- // Core brand (from docs palette)
- primary: '#E05D44', // Terracotta
- secondary: '#115566', // Deep Pine
- accent: '#F2EAC9', // Cream
- warning: '#E05D44', // Terracotta
- muted: '#6688AA', // Cornflower
- // Light mode surfaces
- background: '#faf8f5', // Warm off-white
- surface: '#ffffff', // Pure white cards
- text: '#115566', // Deep Pine
- // Navigation green scale (L1=lightest, L4=darkest)
- navL1: '#66AA99', // Sage - button default
- navL2: '#448880', // Teal - hover
- navL3: '#115566', // Deep Pine - selected
- navL4: '#082226', // Midnight - nav background
- },
- components: {
- borderRadius: 4, // Subtle rounding
- },
-};
-
-// Try to load custom theme config (deep merge for partial configs)
-try {
- const data = await readFile(themePath, 'utf-8');
- const loaded = JSON.parse(data);
- themeConfig = {
- ...themeConfig,
- ...loaded,
- colors: {
- ...themeConfig.colors,
- ...(loaded.colors || {}),
- },
- components: {
- ...themeConfig.components,
- ...(loaded.components || {}),
- },
- };
- console.log(`Loaded branding config from ${themePath}`);
-} catch {
- console.log('Using default branding config (no theme.json found)');
-}
-
-// Add sample entities if catalog is empty (for demo purposes)
-// These demonstrate the 5-tier taxonomy model
-if (catalogStorage.getStats().entityCount === 0) {
- const sampleEntities = [
- // Ecosystem tier - CLI/Developer Tools (ID 21)
- {
- apiVersion: 'backstage.io/v1alpha1',
- kind: 'Component',
- metadata: {
- name: 'operator',
- namespace: 'default',
- title: 'Operator TUI',
- description: 'Rust TUI application for orchestrating Claude Code agents',
- labels: {
- 'operator-tier': 'ecosystem',
- 'operator-tier-id': '4',
- 'operator-kind-id': '21',
- },
- tags: ['rust', 'tui', 'cli', 'ratatui'],
- },
- spec: {
- type: 'cli-devtool',
- lifecycle: 'production',
- owner: 'team-platform',
- },
- },
- // Engines tier - Internal Tooling (ID 16)
- {
- apiVersion: 'backstage.io/v1alpha1',
- kind: 'Component',
- metadata: {
- name: 'backstage-server',
- namespace: 'default',
- title: 'Backstage Server',
- description: 'Bun-compiled Backstage server with embedded frontend',
- labels: {
- 'operator-tier': 'engines',
- 'operator-tier-id': '3',
- 'operator-kind-id': '16',
- },
- tags: ['typescript', 'bun', 'backstage', 'hono'],
- },
- spec: {
- type: 'internal-tool',
- lifecycle: 'development',
- owner: 'team-platform',
- },
- },
- // Foundation tier - Infrastructure (ID 1)
- {
- apiVersion: 'backstage.io/v1alpha1',
- kind: 'Component',
- metadata: {
- name: 'infrastructure',
- namespace: 'default',
- title: 'Infrastructure (IaC)',
- description: 'Cloud resources and Terraform configurations',
- labels: {
- 'operator-tier': 'foundation',
- 'operator-tier-id': '1',
- 'operator-kind-id': '1',
- },
- tags: ['terraform', 'aws', 'iac'],
- },
- spec: {
- type: 'infrastructure',
- lifecycle: 'production',
- owner: 'team-platform',
- },
- },
- // Standards tier - Software Library (ID 6)
- {
- apiVersion: 'backstage.io/v1alpha1',
- kind: 'Component',
- metadata: {
- name: 'shared-utils',
- namespace: 'default',
- title: 'Shared Utilities',
- description: 'Reusable internal logic packages and utilities',
- labels: {
- 'operator-tier': 'standards',
- 'operator-tier-id': '2',
- 'operator-kind-id': '6',
- },
- tags: ['library', 'utils', 'shared'],
- },
- spec: {
- type: 'software-library',
- lifecycle: 'production',
- owner: 'team-platform',
- },
- },
- // Noncurrent tier - Reference/Example (ID 22)
- {
- apiVersion: 'backstage.io/v1alpha1',
- kind: 'Component',
- metadata: {
- name: 'examples',
- namespace: 'default',
- title: 'Example Projects',
- description: 'Best-practice implementation examples and tutorials',
- labels: {
- 'operator-tier': 'noncurrent',
- 'operator-tier-id': '5',
- 'operator-kind-id': '22',
- },
- tags: ['examples', 'tutorials', 'reference'],
- },
- spec: {
- type: 'reference-example',
- lifecycle: 'experimental',
- owner: 'team-platform',
- },
- },
- ];
-
- for (const entity of sampleEntities) {
- catalogStorage.addEntity(entity);
- searchIndex.indexEntity(entity);
- }
- console.log('Added sample catalog entities with taxonomy tiers');
-}
-
-// MIME type mapping for static assets
-function getMimeType(path: string): string {
- const ext = path.split('.').pop()?.toLowerCase();
- const mimeTypes: Record = {
- 'html': 'text/html',
- 'css': 'text/css',
- 'js': 'application/javascript',
- 'json': 'application/json',
- 'png': 'image/png',
- 'jpg': 'image/jpeg',
- 'jpeg': 'image/jpeg',
- 'gif': 'image/gif',
- 'svg': 'image/svg+xml',
- 'ico': 'image/x-icon',
- 'woff': 'font/woff',
- 'woff2': 'font/woff2',
- 'ttf': 'font/ttf',
- 'eot': 'application/vnd.ms-fontobject',
- };
- return mimeTypes[ext || ''] || 'application/octet-stream';
-}
-
-const app = new Hono();
-
-// Enable CORS for Operator REST API integration
-app.use('/*', cors({
- origin: ['http://localhost:7007', 'http://localhost:7008'],
- allowMethods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],
-}));
-
-// Health check endpoint
-app.get('/health', (c) => c.json({ status: 'ok', timestamp: new Date().toISOString() }));
-
-// Status endpoint
-app.get('/api/status', (c) => {
- const catalogStats = catalogStorage.getStats();
- const searchStats = searchIndex.getStats();
- return c.json({
- status: 'running',
- version: '1.0.0',
- mode: 'standalone',
- catalog: catalogStats,
- search: searchStats,
- branding: {
- appTitle: themeConfig.appTitle,
- orgName: themeConfig.orgName,
- },
- });
-});
-
-// Mount catalog API routes
-const catalogRoutes = createCatalogRoutes(catalogStorage);
-app.route('/api/catalog', catalogRoutes);
-
-// Mount search API routes
-const searchRoutes = createSearchRoutes(searchIndex);
-app.route('/api/search', searchRoutes);
-
-// Guest authentication endpoints
-// These mock the Backstage auth backend for guest sign-in
-// See: https://backstage.io/docs/auth/guest/provider/
-
-// Generate a mock Backstage token (simple base64, not a real JWT)
-function generateGuestToken() {
- const payload = {
- sub: 'user:development/guest',
- ent: ['user:development/guest'],
- iat: Math.floor(Date.now() / 1000),
- exp: Math.floor(Date.now() / 1000) + 3600,
- };
- // Create a fake JWT-like structure (header.payload.signature)
- const header = Buffer.from(JSON.stringify({ alg: 'none', typ: 'JWT' })).toString('base64url');
- const body = Buffer.from(JSON.stringify(payload)).toString('base64url');
- return `${header}.${body}.`;
-}
-
-// Auth OpenID configuration (discovery endpoint)
-app.get('/api/auth/.well-known/openid-configuration', (c) => {
- const baseUrl = 'http://localhost:7007';
- return c.json({
- issuer: baseUrl,
- authorization_endpoint: `${baseUrl}/api/auth/guest/start`,
- token_endpoint: `${baseUrl}/api/auth/guest/refresh`,
- userinfo_endpoint: `${baseUrl}/api/auth/guest/refresh`,
- jwks_uri: `${baseUrl}/api/auth/.well-known/jwks.json`,
- });
-});
-
-// Mock JWKS (JSON Web Key Set)
-app.get('/api/auth/.well-known/jwks.json', (c) => {
- return c.json({ keys: [] });
-});
-
-// Auth providers list - tells frontend what providers are available
-app.get('/api/auth/providers', (c) => {
- return c.json({
- guest: {
- providerId: 'guest',
- title: 'Guest',
- message: 'Sign in as a guest user',
- },
- });
-});
-
-// Guest provider info endpoint
-app.get('/api/auth/guest', (c) => {
- return c.json({
- providerId: 'guest',
- // Tell the frontend that guest sign-in is allowed
- signIn: {
- supported: true,
- },
- });
-});
-
-// Auth service check - tells frontend the auth backend is available
-app.get('/api/auth', (c) => {
- return c.json({
- status: 'ok',
- providers: ['guest'],
- });
-});
-
-// List available guest users (for multi-user guest setups)
-app.get('/api/auth/guest/users', (c) => {
- return c.json([
- { id: 'guest', displayName: 'Guest User' },
- ]);
-});
-
-// Start guest authentication - GET variant used by some Backstage versions
-app.get('/api/auth/guest/start', (c) => {
- const token = generateGuestToken();
-
- return c.json({
- backstageIdentity: {
- token,
- expiresInSeconds: 3600,
- identity: {
- type: 'user',
- userEntityRef: 'user:development/guest',
- ownershipEntityRefs: ['user:development/guest'],
- },
- },
- profile: {
- email: 'guest@example.com',
- displayName: 'Guest User',
- },
- providerInfo: {},
- });
-});
-
-// Start guest authentication session - POST variant
-app.post('/api/auth/guest/start', async (c) => {
- const token = generateGuestToken();
-
- return c.json({
- backstageIdentity: {
- token,
- expiresInSeconds: 3600,
- identity: {
- type: 'user',
- userEntityRef: 'user:development/guest',
- ownershipEntityRefs: ['user:development/guest'],
- },
- },
- profile: {
- email: 'guest@example.com',
- displayName: 'Guest User',
- },
- providerInfo: {},
- });
-});
-
-// Handle OAuth-style refresh
-app.get('/api/auth/guest/refresh', (c) => {
- const token = generateGuestToken();
-
- return c.json({
- backstageIdentity: {
- token,
- expiresInSeconds: 3600,
- identity: {
- type: 'user',
- userEntityRef: 'user:development/guest',
- ownershipEntityRefs: ['user:development/guest'],
- },
- },
- profile: {
- email: 'guest@example.com',
- displayName: 'Guest User',
- },
- providerInfo: {},
- });
-});
-
-app.post('/api/auth/guest/refresh', async (c) => {
- const token = generateGuestToken();
-
- return c.json({
- backstageIdentity: {
- token,
- expiresInSeconds: 3600,
- identity: {
- type: 'user',
- userEntityRef: 'user:development/guest',
- ownershipEntityRefs: ['user:development/guest'],
- },
- },
- profile: {
- email: 'guest@example.com',
- displayName: 'Guest User',
- },
- providerInfo: {},
- });
-});
-
-// Proxy to Operator REST API (default port 7008)
-const operatorApiUrl = process.env.OPERATOR_API_URL || 'http://localhost:7008';
-
-app.all('/api/operator/*', async (c) => {
- const path = c.req.path.replace('/api/operator', '');
- const url = `${operatorApiUrl}${path}`;
-
- try {
- const response = await fetch(url, {
- method: c.req.method,
- headers: c.req.header(),
- body: c.req.method !== 'GET' ? await c.req.text() : undefined,
- });
-
- const data = await response.text();
- return new Response(data, {
- status: response.status,
- headers: { 'Content-Type': response.headers.get('Content-Type') || 'application/json' },
- });
- } catch (error) {
- return c.json({ error: 'Operator API unavailable', details: String(error) }, 502);
- }
-});
-
-// Proxy route for Backstage proxy plugin convention (/api/proxy/operator/*)
-// Used by OperatorApiClient and homepage widgets
-app.all('/api/proxy/operator/*', async (c) => {
- const path = c.req.path.replace('/api/proxy/operator', '');
- const url = `${operatorApiUrl}${path}`;
-
- try {
- const response = await fetch(url, {
- method: c.req.method,
- headers: c.req.header(),
- body: c.req.method !== 'GET' ? await c.req.text() : undefined,
- });
-
- const data = await response.text();
- return new Response(data, {
- status: response.status,
- headers: { 'Content-Type': response.headers.get('Content-Type') || 'application/json' },
- });
- } catch (error) {
- return c.json({ error: 'Operator API unavailable', details: String(error) }, 502);
- }
-});
-
-// Issue types endpoint - proxy to operator
-app.get('/api/issuetypes', async (c) => {
- try {
- const response = await fetch(`${operatorApiUrl}/api/v1/issuetypes`);
- const data = await response.json();
- return c.json(data);
- } catch (error) {
- return c.json({ error: 'Failed to fetch issue types' }, 500);
- }
-});
-
-// Collections endpoint - proxy to operator
-app.get('/api/collections', async (c) => {
- try {
- const response = await fetch(`${operatorApiUrl}/api/v1/collections`);
- const data = await response.json();
- return c.json(data);
- } catch (error) {
- return c.json({ error: 'Failed to fetch collections' }, 500);
- }
-});
-
-// Branding configuration endpoint - used by frontend for theming
-app.get('/api/branding', (c) => c.json(themeConfig));
-
-// Serve logo from branding directory
-app.get('/branding/logo.svg', async (c) => {
- if (!themeConfig.logoPath) {
- return c.notFound();
- }
-
- const logoFullPath = join(brandingPath, themeConfig.logoPath);
- try {
- const logo = await readFile(logoFullPath);
- return new Response(logo, {
- headers: {
- 'Content-Type': 'image/svg+xml',
- 'Cache-Control': 'public, max-age=3600',
- },
- });
- } catch {
- return c.notFound();
- }
-});
-
-// Serve embedded static assets
-app.get('/static/*', async (c) => {
- const path = c.req.path.slice(1); // Remove leading /
- const blob = assetMap.get(path);
-
- if (blob) {
- return new Response(blob, {
- headers: {
- 'Content-Type': getMimeType(path),
- 'Cache-Control': 'public, max-age=31536000, immutable',
- },
- });
- }
-
- return c.notFound();
-});
-
-// Fallback status page (shown when no frontend is embedded)
-const statusPage = (apiUrl: string, stats: { entityCount: number; locationCount: number }) => `
-
-
-
- Operator Backstage
-
-
-
- Operator Backstage Server
-
-
Status: Running
-
Mode: Standalone (compiled binary)
-
Operator API: ${apiUrl}
-
Frontend: Not embedded (build with bun run build)
-
-
-
-
${stats.entityCount}
-
Catalog Entities
-
-
-
${stats.locationCount}
-
Locations
-
-
- Available Endpoints
-
- GET /health - Health check
- GET /api/status - Server status
- GET /api/catalog/entities - List catalog entities
- GET /api/catalog/entities/by-query - Query entities
- POST /api/search/query - Search entities
- GET /api/issuetypes - List issue types
- GET /api/collections - List collections
- ALL /api/operator/* - Proxy to Operator REST API
-
-
-
-`;
-
-// SPA fallback - serve index.html for all non-API routes
-app.get('*', async (c) => {
- // If we have embedded frontend, serve index.html for SPA routing
- if (hasEmbeddedFrontend) {
- const indexBlob = assetMap.get('index.html');
- if (indexBlob) {
- return c.html(await indexBlob.text());
- }
- }
-
- // Fallback to status page if no frontend embedded
- const stats = catalogStorage.getStats();
- return c.html(statusPage(operatorApiUrl, stats));
-});
-
-// Start server
-const port = parseInt(process.env.PORT || '7007');
-const catalogStats = catalogStorage.getStats();
-console.log(`Operator Backstage Server starting on port ${port}...`);
-console.log(`Operator API: ${operatorApiUrl}`);
-console.log(`Catalog: ${catalogStats.entityCount} entities, ${catalogStats.locationCount} locations`);
-console.log(`Embedded assets: ${assetMap.size} files${hasEmbeddedFrontend ? ' (frontend ready)' : ' (no frontend)'}`);
-console.log(`Persistence: ${catalogPersistPath}`);
-console.log(`Branding: "${themeConfig.appTitle}" (${themeConfig.orgName})`);
-
-export default {
- port,
- fetch: app.fetch,
-};
diff --git a/backstage-server/tsconfig.json b/backstage-server/tsconfig.json
deleted file mode 100644
index 6b0f4466..00000000
--- a/backstage-server/tsconfig.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "compilerOptions": {
- "target": "ES2022",
- "module": "ESNext",
- "moduleResolution": "bundler",
- "lib": ["ES2022", "DOM"],
- "jsx": "react-jsx",
- "strict": true,
- "esModuleInterop": true,
- "skipLibCheck": true,
- "forceConsistentCasingInFileNames": true,
- "declaration": true,
- "declarationMap": true,
- "sourceMap": true,
- "outDir": "./dist",
- "rootDir": ".",
- "baseUrl": ".",
- "types": ["bun-types"],
- "paths": {
- "@operator/*": ["packages/plugins/*"]
- }
- },
- "include": [
- "global.d.ts",
- "packages/*/src/**/*",
- "packages/plugins/*/src/**/*",
- "src/standalone.ts",
- "src/index.ts"
- ],
- "exclude": ["node_modules", "dist", "**/dist"]
-}
diff --git a/bindings/AutoGenStrategy.ts b/bindings/AutoGenStrategy.ts
new file mode 100644
index 00000000..4fc27988
--- /dev/null
+++ b/bindings/AutoGenStrategy.ts
@@ -0,0 +1,6 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Auto-generation strategies for fields
+ */
+export type AutoGenStrategy = "id" | "date" | "branch" | "status";
diff --git a/bindings/BackstageConfig.ts b/bindings/BackstageConfig.ts
deleted file mode 100644
index 9a228769..00000000
--- a/bindings/BackstageConfig.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
-import type { BrandingConfig } from "./BrandingConfig";
-
-/**
- * Backstage integration configuration
- */
-export type BackstageConfig = {
-/**
- * Whether Backstage integration is enabled
- */
-enabled: boolean,
-/**
- * Whether to show Backstage in the Connections status section
- */
-display: boolean,
-/**
- * Port for the Backstage server
- */
-port: number,
-/**
- * Auto-start Backstage server when TUI launches
- */
-auto_start: boolean,
-/**
- * Subdirectory within `state_path` for Backstage installation
- */
-subpath: string,
-/**
- * Subdirectory within backstage path for branding customization
- */
-branding_subpath: string,
-/**
- * Base URL for downloading backstage-server binary
- */
-release_url: string,
-/**
- * Optional local path to backstage-server binary
- * If set, this is used instead of downloading from `release_url`
- */
-local_binary_path: string | null,
-/**
- * Branding and theming configuration
- */
-branding: BrandingConfig, };
diff --git a/bindings/BrandingConfig.ts b/bindings/BrandingConfig.ts
deleted file mode 100644
index aad0c590..00000000
--- a/bindings/BrandingConfig.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
-import type { ThemeColors } from "./ThemeColors";
-
-/**
- * Branding configuration for Backstage portal
- */
-export type BrandingConfig = {
-/**
- * App title shown in header
- */
-app_title: string,
-/**
- * Organization name
- */
-org_name: string,
-/**
- * Path to logo SVG (relative to branding path)
- */
-logo_path: string | null,
-/**
- * Theme colors (uses Operator defaults if not set)
- */
-colors: ThemeColors, };
diff --git a/bindings/ClassifierConfig.ts b/bindings/ClassifierConfig.ts
new file mode 100644
index 00000000..7210672f
--- /dev/null
+++ b/bindings/ClassifierConfig.ts
@@ -0,0 +1,23 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { ClassifierOutputType } from "./ClassifierOutputType";
+
+/**
+ * Configuration for classifier steps that return structured typed output
+ */
+export type ClassifierConfig = {
+/**
+ * What type of answer the classifier returns
+ */
+output_type: ClassifierOutputType,
+/**
+ * For enum type: the allowed options
+ */
+options?: Array | null,
+/**
+ * For `short_string`: max character length (default 255)
+ */
+max_length?: number | null,
+/**
+ * Agent/delegator to use (overrides issuetype default)
+ */
+agent?: string | null, };
diff --git a/bindings/ClassifierOutputType.ts b/bindings/ClassifierOutputType.ts
new file mode 100644
index 00000000..a69bfdc3
--- /dev/null
+++ b/bindings/ClassifierOutputType.ts
@@ -0,0 +1,6 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Output types for classifier steps
+ */
+export type ClassifierOutputType = "boolean" | "number" | "short_string" | "big_text" | "enum";
diff --git a/bindings/CollectionResponse.ts b/bindings/CollectionResponse.ts
index 6c4ca395..674ece99 100644
--- a/bindings/CollectionResponse.ts
+++ b/bindings/CollectionResponse.ts
@@ -13,6 +13,34 @@ version?: string | null,
* Publisher identifier (present for hosted collections).
*/
publisher?: string | null,
+/**
+ * Human author/attribution (present for hosted collections).
+ */
+author?: string | null,
+/**
+ * Link to the collection's source repository or project page.
+ */
+url?: string | null,
+/**
+ * SPDX license id.
+ */
+license?: string | null,
+/**
+ * Provenance tier: `official` or `community`.
+ */
+tier: string,
+/**
+ * Bare filename of the collection's SVG icon, next to its manifest.
+ */
+icon_path?: string | null,
+/**
+ * ISO-8601 date the collection was first published.
+ */
+created?: string | null,
+/**
+ * ISO-8601 date of the last substantive revision.
+ */
+updated?: string | null,
/**
* Descriptive workflow hints (present for hosted collections).
*/
diff --git a/bindings/CreateIssueTypeRequest.ts b/bindings/CreateIssueTypeRequest.ts
index 58eca141..52e85cb8 100644
--- a/bindings/CreateIssueTypeRequest.ts
+++ b/bindings/CreateIssueTypeRequest.ts
@@ -5,4 +5,8 @@ import type { CreateStepRequest } from "./CreateStepRequest";
/**
* Request to create a new issue type
*/
-export type CreateIssueTypeRequest = { key: string, name: string, description: string, mode: string, glyph: string, color: string | null, project_required: boolean, fields: Array, steps: Array, };
+export type CreateIssueTypeRequest = { key: string, name: string, description: string, mode: string, glyph: string, color: string | null, project_required: boolean, fields: Array, steps: Array,
+/**
+ * Target collection (defaults to the active collection)
+ */
+collection?: string, };
diff --git a/bindings/CustomFlags.ts b/bindings/CustomFlags.ts
new file mode 100644
index 00000000..ff8b85e7
--- /dev/null
+++ b/bindings/CustomFlags.ts
@@ -0,0 +1,19 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { JsonValue } from "./serde_json/JsonValue";
+
+/**
+ * Per-provider custom configuration flags
+ */
+export type CustomFlags = {
+/**
+ * Claude-specific configuration flags
+ */
+claude: { [key in string]: JsonValue },
+/**
+ * Gemini-specific configuration flags
+ */
+gemini: { [key in string]: JsonValue },
+/**
+ * Codex-specific configuration flags
+ */
+codex: { [key in string]: JsonValue }, };
diff --git a/bindings/DelegatorStepConfig.ts b/bindings/DelegatorStepConfig.ts
new file mode 100644
index 00000000..5cfd1864
--- /dev/null
+++ b/bindings/DelegatorStepConfig.ts
@@ -0,0 +1,23 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { StepPermissions } from "./StepPermissions";
+
+/**
+ * Configuration for delegator steps that run with a specific model+flavor
+ */
+export type DelegatorStepConfig = {
+/**
+ * Named delegator reference (from config.delegators)
+ */
+delegator: string,
+/**
+ * Additional prompt flavor text prepended to the step prompt
+ */
+prompt_flavor?: string | null,
+/**
+ * Tools allowed
+ */
+allowed_tools: Array,
+/**
+ * Permissions
+ */
+permissions?: StepPermissions | null, };
diff --git a/bindings/DirectoryPermissions.ts b/bindings/DirectoryPermissions.ts
new file mode 100644
index 00000000..2edb7ea8
--- /dev/null
+++ b/bindings/DirectoryPermissions.ts
@@ -0,0 +1,14 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Directory-level permissions
+ */
+export type DirectoryPermissions = {
+/**
+ * Additional directories to allow access to (glob patterns)
+ */
+allow: Array,
+/**
+ * Directories to deny access to (glob patterns)
+ */
+deny: Array, };
diff --git a/bindings/ExecutionMode.ts b/bindings/ExecutionMode.ts
new file mode 100644
index 00000000..2b90fa7a
--- /dev/null
+++ b/bindings/ExecutionMode.ts
@@ -0,0 +1,6 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Execution mode for an issuetype
+ */
+export type ExecutionMode = "autonomous" | "paired";
diff --git a/bindings/FieldSchema.ts b/bindings/FieldSchema.ts
new file mode 100644
index 00000000..bd48032d
--- /dev/null
+++ b/bindings/FieldSchema.ts
@@ -0,0 +1,52 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { AutoGenStrategy } from "./AutoGenStrategy";
+import type { FieldType } from "./FieldType";
+
+/**
+ * Schema definition for a single field in a template
+ */
+export type FieldSchema = {
+/**
+ * Field identifier (matches handlebar variable name)
+ */
+name: string,
+/**
+ * Help text for the field
+ */
+description: string,
+/**
+ * Type of the field
+ */
+type: FieldType,
+/**
+ * Whether this field must be filled
+ */
+required: boolean,
+/**
+ * Default value if any
+ */
+default?: string | null,
+/**
+ * Auto-generation strategy for this field
+ */
+auto?: AutoGenStrategy | null,
+/**
+ * Options for enum fields
+ */
+options: Array,
+/**
+ * Placeholder text shown in template
+ */
+placeholder?: string | null,
+/**
+ * Maximum length for string fields
+ */
+max_length?: number | null,
+/**
+ * Display order in form (lower = first)
+ */
+display_order?: number | null,
+/**
+ * Whether the user can edit this field (false for auto-generated)
+ */
+user_editable: boolean, };
diff --git a/bindings/FieldType.ts b/bindings/FieldType.ts
new file mode 100644
index 00000000..357d3515
--- /dev/null
+++ b/bindings/FieldType.ts
@@ -0,0 +1,6 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Types of fields supported in template schemas
+ */
+export type FieldType = "string" | "enum" | "bool" | "date" | "text" | "integer";
diff --git a/bindings/IssueType.ts b/bindings/IssueType.ts
new file mode 100644
index 00000000..6acd81d4
--- /dev/null
+++ b/bindings/IssueType.ts
@@ -0,0 +1,62 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { ExecutionMode } from "./ExecutionMode";
+import type { FieldSchema } from "./FieldSchema";
+import type { IssueTypeSource } from "./IssueTypeSource";
+import type { StepSchema } from "./StepSchema";
+
+/**
+ * An issue type definition (dynamic version of `TemplateSchema`)
+ */
+export type IssueType = {
+/**
+ * Unique issuetype key (e.g., FEAT, FIX, STORY, BUG)
+ */
+key: string,
+/**
+ * Display name of the issue type
+ */
+name: string,
+/**
+ * Brief description of when to use this issue type
+ */
+description: string,
+/**
+ * Whether this issue type runs autonomously or requires human pairing
+ */
+mode: ExecutionMode,
+/**
+ * Glyph character displayed in UI for this issue type
+ */
+glyph: string,
+/**
+ * Optional color for glyph display in TUI
+ */
+color?: string | null,
+/**
+ * Whether a project must be specified for this issue type
+ */
+project_required: boolean,
+/**
+ * Field definitions for this issue type
+ */
+fields: Array,
+/**
+ * Lifecycle steps for completing this ticket type
+ */
+steps: Array,
+/**
+ * Prompt for generating this issue type's operator agent via `claude -p`
+ */
+agent_prompt?: string | null,
+/**
+ * Default delegator name for this issuetype (overridden by step.agent)
+ */
+agent?: string | null,
+/**
+ * Source of this issue type (builtin, user, import)
+ */
+source: IssueTypeSource,
+/**
+ * Original external ID (for imported types)
+ */
+external_id?: string | null, };
diff --git a/bindings/IssueTypeResponse.ts b/bindings/IssueTypeResponse.ts
index 23adaab3..f764158e 100644
--- a/bindings/IssueTypeResponse.ts
+++ b/bindings/IssueTypeResponse.ts
@@ -5,4 +5,8 @@ import type { StepResponse } from "./StepResponse";
/**
* Response for a single issue type
*/
-export type IssueTypeResponse = { key: string, name: string, description: string, mode: string, glyph: string, color: string | null, project_required: boolean, source: string, fields: Array, steps: Array, };
+export type IssueTypeResponse = { key: string, name: string, description: string, mode: string, glyph: string, color: string | null, project_required: boolean, source: string,
+/**
+ * Owning collection under resolution-order lookup
+ */
+collection?: string, fields: Array, steps: Array, };
diff --git a/bindings/IssueTypeSource.ts b/bindings/IssueTypeSource.ts
new file mode 100644
index 00000000..9c151a5f
--- /dev/null
+++ b/bindings/IssueTypeSource.ts
@@ -0,0 +1,14 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Source of an issue type definition
+ */
+export type IssueTypeSource = "builtin" | "user" | { "import": {
+/**
+ * Provider name (e.g., "jira", "linear")
+ */
+provider: string,
+/**
+ * Project/team identifier
+ */
+project: string, } };
diff --git a/bindings/IssueTypeSummary.ts b/bindings/IssueTypeSummary.ts
index ea40e6f6..3ca38fae 100644
--- a/bindings/IssueTypeSummary.ts
+++ b/bindings/IssueTypeSummary.ts
@@ -3,4 +3,8 @@
/**
* Summary response for listing issue types
*/
-export type IssueTypeSummary = { key: string, name: string, description: string, mode: string, glyph: string, color?: string, source: string, stepCount: number, };
+export type IssueTypeSummary = { key: string, name: string, description: string, mode: string, glyph: string, color?: string, source: string,
+/**
+ * Owning collection under resolution-order lookup
+ */
+collection?: string, stepCount: number, };
diff --git a/bindings/ItemSource.ts b/bindings/ItemSource.ts
new file mode 100644
index 00000000..7bba7b5e
--- /dev/null
+++ b/bindings/ItemSource.ts
@@ -0,0 +1,24 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Where a pipeline's iterated items come from. The variant determines *when*
+ * the list resolves: export-time (a literal array → static fan-out width in
+ * the compiled graph) vs runtime (an identifier → symbolic width).
+ */
+export type ItemSource = { "type": "projects" } | { "type": "from_step",
+/**
+ * Name of the prior step whose (array) output is iterated.
+ */
+step: string, } | { "type": "glob",
+/**
+ * Glob pattern, relative to the project root.
+ */
+pattern: string, } | { "type": "static",
+/**
+ * The items to iterate.
+ */
+items: Array, } | { "type": "field",
+/**
+ * Name of the ticket field to read.
+ */
+name: string, };
diff --git a/bindings/KanbanStatusMapping.ts b/bindings/KanbanStatusMapping.ts
new file mode 100644
index 00000000..f5678e20
--- /dev/null
+++ b/bindings/KanbanStatusMapping.ts
@@ -0,0 +1,25 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Explicit mapping from operator's strict todo/doing/done states to the
+ * external board's column/status names.
+ *
+ * Drives bidirectional sync: issues are pulled from the `todo` column,
+ * pushed to `doing` when a ticket is claimed, to `done` when completed, and
+ * back to `todo` when requeued. Unset fields fall back per-transition
+ * (`doing` → "In Progress", `done` → "Done"); requeue only pushes when
+ * `todo` is explicitly mapped.
+ */
+export type KanbanStatusMapping = {
+/**
+ * External column for operator "todo" (queued work; also the pull source)
+ */
+todo?: string | null,
+/**
+ * External column for operator "doing" (claimed/launched tickets)
+ */
+doing?: string | null,
+/**
+ * External column for operator "done" (completed tickets)
+ */
+done?: string | null, };
diff --git a/bindings/ListKanbanStatusesRequest.ts b/bindings/ListKanbanStatusesRequest.ts
new file mode 100644
index 00000000..682eb237
--- /dev/null
+++ b/bindings/ListKanbanStatusesRequest.ts
@@ -0,0 +1,15 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { GithubCredentials } from "./GithubCredentials";
+import type { JiraCredentials } from "./JiraCredentials";
+import type { KanbanProviderKind } from "./KanbanProviderKind";
+import type { LinearCredentials } from "./LinearCredentials";
+
+/**
+ * Request to list workflow statuses/columns for a specific project using
+ * ephemeral creds (onboarding wizard — before any config is persisted).
+ */
+export type ListKanbanStatusesRequest = { provider: KanbanProviderKind,
+/**
+ * Project/team key to list statuses for
+ */
+project_key: string, jira?: JiraCredentials | null, linear?: LinearCredentials | null, github?: GithubCredentials | null, };
diff --git a/bindings/ListKanbanStatusesResponse.ts b/bindings/ListKanbanStatusesResponse.ts
new file mode 100644
index 00000000..78a75571
--- /dev/null
+++ b/bindings/ListKanbanStatusesResponse.ts
@@ -0,0 +1,7 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Response wrapper for list-statuses: the external board's column names,
+ * in board order, for populating todo/doing/done mapping dropdowns.
+ */
+export type ListKanbanStatusesResponse = { statuses: Array, };
diff --git a/bindings/MatrixedConfig.ts b/bindings/MatrixedConfig.ts
new file mode 100644
index 00000000..ab2c51cc
--- /dev/null
+++ b/bindings/MatrixedConfig.ts
@@ -0,0 +1,23 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { MatrixedOutputFormat } from "./MatrixedOutputFormat";
+
+/**
+ * Configuration for matrixed work output steps (N x M delegators x prompts)
+ */
+export type MatrixedConfig = {
+/**
+ * Named delegator references (N), minimum 2
+ */
+delegators: Array,
+/**
+ * Prompt variations (M) — Handlebars templates, minimum 2
+ */
+prompt_variations: Array,
+/**
+ * How to organize/present the N x M output
+ */
+output_format: MatrixedOutputFormat,
+/**
+ * Optional aggregation prompt (receives the full matrix of results)
+ */
+aggregation_prompt?: string | null, };
diff --git a/bindings/MatrixedOutputFormat.ts b/bindings/MatrixedOutputFormat.ts
new file mode 100644
index 00000000..245407e9
--- /dev/null
+++ b/bindings/MatrixedOutputFormat.ts
@@ -0,0 +1,6 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Output format for matrixed steps
+ */
+export type MatrixedOutputFormat = "directory" | "structured";
diff --git a/bindings/McpServerPermissions.ts b/bindings/McpServerPermissions.ts
new file mode 100644
index 00000000..69cbb68c
--- /dev/null
+++ b/bindings/McpServerPermissions.ts
@@ -0,0 +1,14 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * MCP server permissions (server-level enable/disable only)
+ */
+export type McpServerPermissions = {
+/**
+ * MCP servers to enable for this step
+ */
+enable: Array,
+/**
+ * MCP servers to disable for this step
+ */
+disable: Array, };
diff --git a/bindings/McpStepConfig.ts b/bindings/McpStepConfig.ts
new file mode 100644
index 00000000..c03069ab
--- /dev/null
+++ b/bindings/McpStepConfig.ts
@@ -0,0 +1,23 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { McpToolRef } from "./McpToolRef";
+
+/**
+ * Configuration for MCP steps that require specific MCP tools
+ */
+export type McpStepConfig = {
+/**
+ * MCP tools that MUST be available (step fails if missing)
+ */
+required_tools: Array,
+/**
+ * MCP tools that SHOULD be available (warning if missing)
+ */
+optional_tools: Array,
+/**
+ * Agent/delegator to use
+ */
+agent?: string | null,
+/**
+ * Tools allowed (in addition to MCP tools)
+ */
+allowed_tools: Array, };
diff --git a/bindings/McpToolRef.ts b/bindings/McpToolRef.ts
new file mode 100644
index 00000000..bd3eb874
--- /dev/null
+++ b/bindings/McpToolRef.ts
@@ -0,0 +1,14 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Reference to a specific MCP server tool
+ */
+export type McpToolRef = {
+/**
+ * MCP server name
+ */
+server: string,
+/**
+ * Specific tool name (None = all tools from this server)
+ */
+tool?: string | null, };
diff --git a/bindings/MultiModelConfig.ts b/bindings/MultiModelConfig.ts
new file mode 100644
index 00000000..22a680a7
--- /dev/null
+++ b/bindings/MultiModelConfig.ts
@@ -0,0 +1,28 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { VotingMode } from "./VotingMode";
+import type { VotingStrategy } from "./VotingStrategy";
+
+/**
+ * Configuration for multi-model delegation steps (fan-out + vote)
+ */
+export type MultiModelConfig = {
+/**
+ * Named delegator references (from config.delegators), minimum 2
+ */
+delegators: Array,
+/**
+ * How to aggregate/select the final answer
+ */
+voting_strategy: VotingStrategy,
+/**
+ * Whether to share all answers with all models in the voting round
+ */
+share_answers: boolean,
+/**
+ * Prompt for the voting round (Handlebars, receives {{ answers }} array)
+ */
+voting_prompt?: string | null,
+/**
+ * How the voting round executes
+ */
+voting_mode: VotingMode, };
diff --git a/bindings/MultiPromptConfig.ts b/bindings/MultiPromptConfig.ts
new file mode 100644
index 00000000..39a9cc1c
--- /dev/null
+++ b/bindings/MultiPromptConfig.ts
@@ -0,0 +1,23 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { SelectionStrategy } from "./SelectionStrategy";
+
+/**
+ * Configuration for multi-prompt interrogation steps (N variations, select best)
+ */
+export type MultiPromptConfig = {
+/**
+ * Prompt variations (Handlebars templates), minimum 2
+ */
+prompt_variations: Array,
+/**
+ * How to select the best result
+ */
+selection_strategy: SelectionStrategy,
+/**
+ * Agent/delegator to use for all variations
+ */
+agent?: string | null,
+/**
+ * Prompt for the selection/review round
+ */
+selection_prompt?: string | null, };
diff --git a/bindings/OnReject.ts b/bindings/OnReject.ts
new file mode 100644
index 00000000..8b209cce
--- /dev/null
+++ b/bindings/OnReject.ts
@@ -0,0 +1,14 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Action to take when a step is rejected
+ */
+export type OnReject = {
+/**
+ * Step name to return to on rejection
+ */
+goto_step: string,
+/**
+ * Prompt to use when restarting after rejection
+ */
+prompt: string, };
diff --git a/bindings/PermissionMode.ts b/bindings/PermissionMode.ts
new file mode 100644
index 00000000..8ac0d84a
--- /dev/null
+++ b/bindings/PermissionMode.ts
@@ -0,0 +1,6 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Permission mode for LLM interaction
+ */
+export type PermissionMode = "default" | "plan" | "acceptEdits" | "delegate";
diff --git a/bindings/PipelineConfig.ts b/bindings/PipelineConfig.ts
new file mode 100644
index 00000000..4b69cf04
--- /dev/null
+++ b/bindings/PipelineConfig.ts
@@ -0,0 +1,21 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { ItemSource } from "./ItemSource";
+import type { PipelineStage } from "./PipelineStage";
+
+/**
+ * Configuration for pipeline steps: iterate a list of items through ordered
+ * stages with no barrier (each item flows through all stages independently).
+ *
+ * The step graph stays linear — a pipeline step still has exactly one
+ * `next_step`. The fan-out (N items x M stages) lives entirely inside this one
+ * step; iteration is an intra-step concern, never a step-to-step edge.
+ */
+export type PipelineConfig = {
+/**
+ * Where the iterated items come from.
+ */
+item_source: ItemSource,
+/**
+ * Ordered mini-steps each item flows through. Must be non-empty.
+ */
+stages: Array, };
diff --git a/bindings/PipelineStage.ts b/bindings/PipelineStage.ts
new file mode 100644
index 00000000..463bec91
--- /dev/null
+++ b/bindings/PipelineStage.ts
@@ -0,0 +1,31 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { JsonValue } from "./serde_json/JsonValue";
+
+/**
+ * A single stage in a pipeline — deliberately flat (not a recursive
+ * `StepSchema`): "prompt + optional agent/model/schema" only. It has no
+ * `next_step`/`review_type`/`on_reject`, so a stage cannot reopen the
+ * step-graph linearity question.
+ */
+export type PipelineStage = {
+/**
+ * Handlebars prompt. The per-item value is appended as a JS binding at
+ * export time (see `workflow_gen::export`), not via a Handlebars variable.
+ */
+prompt: string,
+/**
+ * Optional agent/delegator name (falls back to the step/issuetype agent).
+ */
+agent?: string | null,
+/**
+ * Optional model pin (emitted as `{ model: … }`).
+ */
+model?: string | null,
+/**
+ * Optional structured-output JSON schema (emitted as `{ schema: … }`).
+ */
+jsonSchema?: JsonValue | null,
+/**
+ * Optional display label override (defaults to `:`).
+ */
+label?: string | null, };
diff --git a/bindings/ProjectSyncConfig.ts b/bindings/ProjectSyncConfig.ts
index 60a1c500..b8b26074 100644
--- a/bindings/ProjectSyncConfig.ts
+++ b/bindings/ProjectSyncConfig.ts
@@ -1,4 +1,5 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { KanbanStatusMapping } from "./KanbanStatusMapping";
/**
* Per-project/team sync configuration for a kanban provider
@@ -12,9 +13,9 @@ export type ProjectSyncConfig = {
*/
sync_user_id: string,
/**
- * Workflow statuses to sync (empty = default/first status only)
+ * Mapping of operator todo/doing/done to external board columns
*/
-sync_statuses: Array,
+status_mapping?: KanbanStatusMapping,
/**
* Optional `IssueTypeCollection` name this project maps to.
* Not required for kanban onboarding or sync.
diff --git a/bindings/ProviderCliArgs.ts b/bindings/ProviderCliArgs.ts
new file mode 100644
index 00000000..db19b48b
--- /dev/null
+++ b/bindings/ProviderCliArgs.ts
@@ -0,0 +1,18 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Arbitrary CLI arguments per provider
+ */
+export type ProviderCliArgs = {
+/**
+ * CLI arguments for Claude
+ */
+claude: Array,
+/**
+ * CLI arguments for Gemini
+ */
+gemini: Array,
+/**
+ * CLI arguments for Codex
+ */
+codex: Array, };
diff --git a/bindings/RagConfig.ts b/bindings/RagConfig.ts
new file mode 100644
index 00000000..fbc973e0
--- /dev/null
+++ b/bindings/RagConfig.ts
@@ -0,0 +1,23 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { RagSource } from "./RagSource";
+
+/**
+ * Configuration for RAG (retrieval-augmented generation) steps
+ */
+export type RagConfig = {
+/**
+ * Context sources to retrieve before running the prompt
+ */
+sources: Array,
+/**
+ * Maximum tokens of context to inject (default: 50000)
+ */
+max_context_tokens?: number | null,
+/**
+ * Agent/delegator to use
+ */
+agent?: string | null,
+/**
+ * Tools allowed for the agent
+ */
+allowed_tools: Array, };
diff --git a/bindings/RagSource.ts b/bindings/RagSource.ts
new file mode 100644
index 00000000..2375d780
--- /dev/null
+++ b/bindings/RagSource.ts
@@ -0,0 +1,26 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * A source of context for RAG steps
+ */
+export type RagSource = { "type": "glob",
+/**
+ * Glob pattern relative to project root
+ */
+pattern: string, } | { "type": "file",
+/**
+ * File path relative to project root
+ */
+path: string, } | { "type": "mcp",
+/**
+ * MCP server name
+ */
+server: string,
+/**
+ * Tool name on the MCP server
+ */
+tool: string,
+/**
+ * Optional query template (Handlebars)
+ */
+query: string | null, };
diff --git a/bindings/ReviewType.ts b/bindings/ReviewType.ts
new file mode 100644
index 00000000..63e513b3
--- /dev/null
+++ b/bindings/ReviewType.ts
@@ -0,0 +1,6 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Type of review required for a step
+ */
+export type ReviewType = "none" | "plan" | "visual" | "pr";
diff --git a/bindings/SelectionStrategy.ts b/bindings/SelectionStrategy.ts
new file mode 100644
index 00000000..3ee34946
--- /dev/null
+++ b/bindings/SelectionStrategy.ts
@@ -0,0 +1,6 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Selection strategy for multi-prompt steps
+ */
+export type SelectionStrategy = "model_choice" | "scored";
diff --git a/bindings/StepOutput.ts b/bindings/StepOutput.ts
new file mode 100644
index 00000000..26a0a12d
--- /dev/null
+++ b/bindings/StepOutput.ts
@@ -0,0 +1,6 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Types of outputs a step can produce
+ */
+export type StepOutput = "plan" | "code" | "test" | "pr" | "ticket" | "review" | "report" | "documentation";
diff --git a/bindings/StepPermissions.ts b/bindings/StepPermissions.ts
new file mode 100644
index 00000000..6771417b
--- /dev/null
+++ b/bindings/StepPermissions.ts
@@ -0,0 +1,26 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { CustomFlags } from "./CustomFlags";
+import type { DirectoryPermissions } from "./DirectoryPermissions";
+import type { McpServerPermissions } from "./McpServerPermissions";
+import type { ToolPermissions } from "./ToolPermissions";
+
+/**
+ * Complete permission set for a step (as defined in issuetype schema)
+ */
+export type StepPermissions = {
+/**
+ * Tool-level allow/deny lists
+ */
+tools: ToolPermissions,
+/**
+ * Directory-level allow/deny lists
+ */
+directories: DirectoryPermissions,
+/**
+ * MCP server enable/disable configuration
+ */
+mcp_servers: McpServerPermissions,
+/**
+ * Per-provider custom configuration flags
+ */
+custom_flags: CustomFlags, };
diff --git a/bindings/StepSchema.ts b/bindings/StepSchema.ts
new file mode 100644
index 00000000..1f06fb89
--- /dev/null
+++ b/bindings/StepSchema.ts
@@ -0,0 +1,123 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { ClassifierConfig } from "./ClassifierConfig";
+import type { DelegatorStepConfig } from "./DelegatorStepConfig";
+import type { MatrixedConfig } from "./MatrixedConfig";
+import type { McpStepConfig } from "./McpStepConfig";
+import type { MultiModelConfig } from "./MultiModelConfig";
+import type { MultiPromptConfig } from "./MultiPromptConfig";
+import type { OnReject } from "./OnReject";
+import type { PermissionMode } from "./PermissionMode";
+import type { PipelineConfig } from "./PipelineConfig";
+import type { ProviderCliArgs } from "./ProviderCliArgs";
+import type { RagConfig } from "./RagConfig";
+import type { ReviewType } from "./ReviewType";
+import type { StepOutput } from "./StepOutput";
+import type { StepPermissions } from "./StepPermissions";
+import type { StepTypeTag } from "./StepTypeTag";
+import type { VisualReviewConfig } from "./VisualReviewConfig";
+import type { JsonValue } from "./serde_json/JsonValue";
+
+/**
+ * Schema definition for a lifecycle step
+ */
+export type StepSchema = {
+/**
+ * Step identifier (lowercase)
+ */
+name: string,
+/**
+ * Human-readable step name
+ */
+display_name?: string | null,
+/**
+ * Step type discriminator (defaults to "task" for backward compatibility)
+ */
+type: StepTypeTag,
+/**
+ * Types of outputs this step produces
+ */
+outputs: Array,
+/**
+ * Initial prompt template for the Claude agent
+ */
+prompt: string,
+/**
+ * Type of review required for this step (none, plan, visual, pr)
+ */
+review_type: ReviewType,
+/**
+ * Configuration for visual review (required when `review_type` is "visual")
+ */
+visual_config?: VisualReviewConfig | null,
+/**
+ * What to do if step output is rejected
+ */
+on_reject?: OnReject | null,
+/**
+ * Name of the next step (None for final step)
+ */
+next_step?: string | null,
+/**
+ * Claude Code tools allowed in this step
+ */
+allowed_tools: Array,
+/**
+ * Optional agent (delegator) name for this step (overrides ticket's default agent)
+ */
+agent?: string | null,
+/**
+ * Provider-agnostic permissions for this step
+ */
+permissions?: StepPermissions | null,
+/**
+ * Arbitrary CLI arguments per provider
+ */
+cli_args?: ProviderCliArgs | null,
+/**
+ * Preferred LLM permission mode for this step
+ */
+permission_mode: PermissionMode,
+/**
+ * Inline JSON schema for structured output (Claude-specific)
+ */
+jsonSchema?: JsonValue | null,
+/**
+ * Path to JSON schema file for structured output (Claude-specific)
+ */
+jsonSchemaFile?: string | null,
+/**
+ * File glob patterns in the worktree that signal this step is complete
+ */
+artifact_patterns: Array,
+/**
+ * Configuration for classifier steps (required when type=classifier)
+ */
+classifier_config?: ClassifierConfig | null,
+/**
+ * Configuration for RAG steps (required when type=rag)
+ */
+rag_config?: RagConfig | null,
+/**
+ * Configuration for delegator steps (required when type=delegator)
+ */
+delegator_config?: DelegatorStepConfig | null,
+/**
+ * Configuration for MCP steps (required when type=mcp)
+ */
+mcp_config?: McpStepConfig | null,
+/**
+ * Configuration for multi-model steps (required when `type=multi_model`)
+ */
+multi_model_config?: MultiModelConfig | null,
+/**
+ * Configuration for multi-prompt steps (required when `type=multi_prompt`)
+ */
+multi_prompt_config?: MultiPromptConfig | null,
+/**
+ * Configuration for matrixed steps (required when type=matrixed)
+ */
+matrixed_config?: MatrixedConfig | null,
+/**
+ * Configuration for pipeline steps (required when type=pipeline)
+ */
+pipeline_config?: PipelineConfig | null, };
diff --git a/bindings/StepTypeTag.ts b/bindings/StepTypeTag.ts
new file mode 100644
index 00000000..a2ebeb16
--- /dev/null
+++ b/bindings/StepTypeTag.ts
@@ -0,0 +1,6 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Discriminator tag for step types
+ */
+export type StepTypeTag = "task" | "classifier" | "rag" | "delegator" | "mcp" | "multi_model" | "multi_prompt" | "matrixed" | "pipeline";
diff --git a/bindings/TemplateSchema.ts b/bindings/TemplateSchema.ts
new file mode 100644
index 00000000..a2bd683f
--- /dev/null
+++ b/bindings/TemplateSchema.ts
@@ -0,0 +1,57 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { ExecutionMode } from "./ExecutionMode";
+import type { FieldSchema } from "./FieldSchema";
+import type { StepSchema } from "./StepSchema";
+
+/**
+ * Schema definition for an issuetype template
+ */
+export type TemplateSchema = {
+/**
+ * Unique issuetype key (e.g., FEAT, FIX, SPIKE, INV, TASK)
+ */
+key: string,
+/**
+ * Display name of the template type
+ */
+name: string,
+/**
+ * Brief description of when to use this template
+ */
+description: string,
+/**
+ * Whether this issuetype runs autonomously or requires human pairing
+ */
+mode: ExecutionMode,
+/**
+ * Glyph character displayed in UI for this issuetype
+ */
+glyph: string,
+/**
+ * Optional color for glyph display in TUI
+ */
+color?: string | null,
+/**
+ * Whether a project must be specified for this issuetype
+ */
+project_required: boolean,
+/**
+ * Field definitions for this template
+ */
+fields: Array,
+/**
+ * Lifecycle steps for completing this ticket type
+ */
+steps: Array,
+/**
+ * Optional prompt for work launching (interpolated with handlebars)
+ */
+prompt?: string | null,
+/**
+ * Prompt for generating this issue type's operator agent via `claude -p`
+ */
+agent_prompt?: string | null,
+/**
+ * Default delegator name for this issuetype (overridden by step.agent)
+ */
+agent?: string | null, };
diff --git a/bindings/ThemeColors.ts b/bindings/ThemeColors.ts
deleted file mode 100644
index 5033c42f..00000000
--- a/bindings/ThemeColors.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
-
-/**
- * Theme color configuration for Backstage
- * Default colors match Operator's tmux theme
- */
-export type ThemeColors = {
-/**
- * Primary/accent color (default: salmon #cc6c55)
- */
-primary: string,
-/**
- * Secondary color (default: dark teal #114145)
- */
-secondary: string,
-/**
- * Accent/highlight color (default: cream #f4dbb7)
- */
-accent: string,
-/**
- * Warning/error color (default: coral #d46048)
- */
-warning: string,
-/**
- * Muted text color (default: darker salmon #8a4a3a)
- */
-muted: string, };
diff --git a/bindings/ToolPattern.ts b/bindings/ToolPattern.ts
new file mode 100644
index 00000000..17f1ca71
--- /dev/null
+++ b/bindings/ToolPattern.ts
@@ -0,0 +1,14 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Provider-agnostic tool pattern
+ */
+export type ToolPattern = {
+/**
+ * Tool name: Read, Write, Edit, Bash, Glob, Grep, `WebFetch`, etc.
+ */
+tool: string,
+/**
+ * Optional pattern for tool arguments (e.g., "cargo test:*" for Bash)
+ */
+pattern?: string | null, };
diff --git a/bindings/ToolPermissions.ts b/bindings/ToolPermissions.ts
new file mode 100644
index 00000000..da57ed3d
--- /dev/null
+++ b/bindings/ToolPermissions.ts
@@ -0,0 +1,15 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { ToolPattern } from "./ToolPattern";
+
+/**
+ * Tool-level permissions (allow/deny lists)
+ */
+export type ToolPermissions = {
+/**
+ * Tools/patterns to allow
+ */
+allow: Array,
+/**
+ * Tools/patterns to deny
+ */
+deny: Array, };
diff --git a/bindings/VisualReviewConfig.ts b/bindings/VisualReviewConfig.ts
new file mode 100644
index 00000000..284d605e
--- /dev/null
+++ b/bindings/VisualReviewConfig.ts
@@ -0,0 +1,18 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Configuration for visual review steps
+ */
+export type VisualReviewConfig = {
+/**
+ * URL to open for visual check (supports handlebars templates)
+ */
+url: string,
+/**
+ * Optional startup command (e.g., dev server) to run before opening browser
+ */
+startup_command?: string | null,
+/**
+ * Timeout in seconds for server startup (default: 30)
+ */
+startup_timeout_secs?: number | null, };
diff --git a/bindings/VotingMode.ts b/bindings/VotingMode.ts
new file mode 100644
index 00000000..b2e8dea7
--- /dev/null
+++ b/bindings/VotingMode.ts
@@ -0,0 +1,6 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * How the voting round is executed in multi-model steps
+ */
+export type VotingMode = "single_judge" | "multi_voter";
diff --git a/bindings/VotingStrategy.ts b/bindings/VotingStrategy.ts
new file mode 100644
index 00000000..983d231d
--- /dev/null
+++ b/bindings/VotingStrategy.ts
@@ -0,0 +1,6 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+/**
+ * Voting strategy for multi-model steps
+ */
+export type VotingStrategy = "majority" | "ranked" | "unanimous";
diff --git a/bindings/WriteGithubConfigBody.ts b/bindings/WriteGithubConfigBody.ts
index 116ff8ae..db645fed 100644
--- a/bindings/WriteGithubConfigBody.ts
+++ b/bindings/WriteGithubConfigBody.ts
@@ -1,4 +1,5 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { KanbanStatusMapping } from "./KanbanStatusMapping";
/**
* Body for writing a GitHub Projects v2 config section.
@@ -21,4 +22,8 @@ project_key: string,
/**
* Numeric GitHub `databaseId` of the user whose items to sync
*/
-sync_user_id: string, };
+sync_user_id: string,
+/**
+ * Mapping of operator todo/doing/done to external board columns
+ */
+status_mapping?: KanbanStatusMapping | null, };
diff --git a/bindings/WriteJiraConfigBody.ts b/bindings/WriteJiraConfigBody.ts
index bb7b1fdb..9069358f 100644
--- a/bindings/WriteJiraConfigBody.ts
+++ b/bindings/WriteJiraConfigBody.ts
@@ -1,6 +1,11 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { KanbanStatusMapping } from "./KanbanStatusMapping";
/**
* Body for writing a Jira project config section.
*/
-export type WriteJiraConfigBody = { domain: string, email: string, api_key_env: string, project_key: string, sync_user_id: string, };
+export type WriteJiraConfigBody = { domain: string, email: string, api_key_env: string, project_key: string, sync_user_id: string,
+/**
+ * Mapping of operator todo/doing/done to external board columns
+ */
+status_mapping?: KanbanStatusMapping | null, };
diff --git a/bindings/WriteLinearConfigBody.ts b/bindings/WriteLinearConfigBody.ts
index b9ae3e73..d07a051b 100644
--- a/bindings/WriteLinearConfigBody.ts
+++ b/bindings/WriteLinearConfigBody.ts
@@ -1,6 +1,11 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+import type { KanbanStatusMapping } from "./KanbanStatusMapping";
/**
* Body for writing a Linear project/team config section.
*/
-export type WriteLinearConfigBody = { workspace_key: string, api_key_env: string, project_key: string, sync_user_id: string, };
+export type WriteLinearConfigBody = { workspace_key: string, api_key_env: string, project_key: string, sync_user_id: string,
+/**
+ * Mapping of operator todo/doing/done to external board columns
+ */
+status_mapping?: KanbanStatusMapping | null, };
diff --git a/catalog-info.yaml b/catalog-info.yaml
deleted file mode 100644
index 9ed7c4b7..00000000
--- a/catalog-info.yaml
+++ /dev/null
@@ -1,74 +0,0 @@
-# Backstage Catalog Entity for operator
-# Generated by assess agent
-# Kind detected: cli-devtool (CLIs / Developer Tools)
-# Tier: Ecosystem
-
-apiVersion: backstage.io/v1alpha1
-kind: Component
-metadata:
- name: operator
- title: Operator
- description: Multi-agent orchestration dashboard for kanban shaped software development - TUI application for managing ticket queues, launching Claude Code agents, and tracking progress across projects.
- annotations:
- backstage.io/techdocs-ref: dir:.
- github.com/project-slug: untra/operator
- tags:
- - rust
- - cli
- - tui
- - developer-tools
- - agent-orchestration
- links:
- - url: https://github.com/untra/operator
- title: GitHub Repository
- icon: github
-spec:
- type: tool
- lifecycle: production
- owner: platform-devops
- system: untra
- providesApis:
- - operator-rest-api
- dependsOn:
- - resource:claude-code
- - resource:tmux
----
-apiVersion: backstage.io/v1alpha1
-kind: API
-metadata:
- name: operator-rest-api
- title: Operator REST API
- description: REST API for issue type management, collections, and health checks.
- tags:
- - rest
- - openapi
-spec:
- type: openapi
- lifecycle: production
- owner: platform-devops
- system: untra
- definition: |
- openapi: 3.0.0
- info:
- title: Operator REST API
- version: 0.1.7
- paths:
- /api/v1/health:
- get:
- summary: Health check
- /api/v1/status:
- get:
- summary: Server status
- /api/v1/issuetypes:
- get:
- summary: List issue types
- post:
- summary: Create issue type
- /api/v1/issuetypes/{key}:
- get:
- summary: Get issue type
- put:
- summary: Update issue type
- /api/v1/collections:
- get:
- summary: List collections
diff --git a/codecov.yml b/codecov.yml
index c0799ef8..bf4815bd 100644
--- a/codecov.yml
+++ b/codecov.yml
@@ -47,5 +47,4 @@ comment:
ignore:
- "tests/**"
- - "backstage-server/**"
- "vscode-extension/test/**"
diff --git a/collections/README.md b/collections/README.md
new file mode 100644
index 00000000..8a9f9d4d
--- /dev/null
+++ b/collections/README.md
@@ -0,0 +1,52 @@
+# Community Collections
+
+This directory hosts **community-contributed issuetype collections** — shareable
+AI workflow shapes that operator instances can browse and install from
+[operator.untra.io/collections](https://operator.untra.io/collections/).
+
+Community collections are **hosted-only**: they are published to the docs site
+by the docs generator but are never compiled into the operator binary. The
+curated embedded set lives in `src/collections/`.
+
+## Contributing a collection
+
+> Working with an AI agent? Point it at
+> [`.claude/commands/new-collection.md`](../.claude/commands/new-collection.md)
+> (or run `/new-collection`) — it covers the design questions to answer first,
+> the full schema, and the validation loop.
+
+1. Create `collections/community//` where `` matches
+ `^[a-z0-9_]{3,64}$` (e.g. `gastown_loop`).
+2. Add a `collection.json` manifest conforming to
+ [the collection schema](https://operator.untra.io/collections/schema.json):
+ - `schema_version: 1`
+ - `id` equal to the directory name
+ - `tier: "community"` with **`author`, `url`, and `license`** (SPDX id) —
+ required for community submissions
+ - `issue_types`: 1–32 entries; keys match `^[A-Z][A-Z0-9_]{1,15}$`
+ (hyphens are reserved for the `{KEY}-{number}` ticket-id separator);
+ paths are bare filenames next to the manifest
+ - optional `workflow_hints` (loop shape, memory surfaces, review gates,
+ stop conditions) and `kanban_defaults.suggested_type_mappings`
+ (descriptive only — they inform users and onboarding, not execution)
+3. Add one `.json` per issuetype conforming to
+ [the issuetype schema](https://operator.untra.io/schemas/issuetype.json),
+ plus an optional `.md` ticket template.
+4. Add an `icon.svg` following the Operator icon standard — a single-path 24×24
+ glyph with no `fill`/`stroke`/`width`/`height`, titled with the collection's
+ display name. Rules and rationale in `docs/design-system/`.
+5. Do **not** set checksums — the docs generator computes them at publish time. Run the CI gates locally before opening a PR to ensure the collection is correctly structured:
+
+ ```bash
+ cargo test --test community_collections
+ cargo test --test svg_icon_standard
+ ```
+
+See `community/example_chores/` for a minimal working example.
+
+## Review expectations
+
+Submissions are reviewed for prompt quality and safety, not just schema
+validity. A good collection describes a *workflow shape worth sharing*:
+what loop it runs, what memory it keeps, what gates it enforces, and when
+it stops.
diff --git a/collections/community/example_chores/CHORE.json b/collections/community/example_chores/CHORE.json
new file mode 100644
index 00000000..5db5f457
--- /dev/null
+++ b/collections/community/example_chores/CHORE.json
@@ -0,0 +1,45 @@
+{
+ "$schema": "https://operator.untra.io/schemas/issuetype.json",
+ "key": "CHORE",
+ "name": "Chore",
+ "description": "Small recurring maintenance task with a verification step",
+ "mode": "autonomous",
+ "glyph": "*",
+ "color": "cyan",
+ "project_required": true,
+ "fields": [
+ {
+ "name": "id",
+ "description": "Ticket identifier",
+ "type": "string",
+ "required": true,
+ "auto": "id",
+ "display_order": 0
+ },
+ {
+ "name": "summary",
+ "description": "One-line description of the chore",
+ "type": "string",
+ "required": false,
+ "placeholder": "e.g. rotate dependency lockfiles",
+ "display_order": 1
+ }
+ ],
+ "steps": [
+ {
+ "name": "execute",
+ "display_name": "Executing",
+ "outputs": ["code", "report"],
+ "prompt": "Complete this maintenance chore:\n\n1. Read the ticket summary and context\n2. Make the smallest change that completes the chore\n3. Note anything that should become a follow-up ticket\n",
+ "review_type": "none",
+ "next_step": "verify"
+ },
+ {
+ "name": "verify",
+ "display_name": "Verifying",
+ "outputs": ["report"],
+ "prompt": "Verify the chore is complete: run the project's test or lint command and summarize the result.\n",
+ "review_type": "none"
+ }
+ ]
+}
diff --git a/collections/community/example_chores/CHORE.md b/collections/community/example_chores/CHORE.md
new file mode 100644
index 00000000..ef1ac300
--- /dev/null
+++ b/collections/community/example_chores/CHORE.md
@@ -0,0 +1,14 @@
+# Chore: {{ summary }}
+
+**Project**: {{ project }}
+**Created**: {{ date }}
+
+## Context
+
+Describe why this chore matters and any constraints.
+
+## Definition of Done
+
+- [ ] The change is made and minimal
+- [ ] Project checks pass
+- [ ] Follow-ups (if any) are filed as new tickets
diff --git a/collections/community/example_chores/collection.json b/collections/community/example_chores/collection.json
new file mode 100644
index 00000000..a90a476d
--- /dev/null
+++ b/collections/community/example_chores/collection.json
@@ -0,0 +1,44 @@
+{
+ "schema_version": 1,
+ "id": "example_chores",
+ "name": "Example Chores",
+ "description": "Minimal example community collection demonstrating the shareable format.",
+ "version": "0.1.0",
+ "author": "untra",
+ "url": "https://github.com/untra/operator",
+ "license": "MIT",
+ "tags": [
+ "example",
+ "starter"
+ ],
+ "tier": "community",
+ "icon_path": "icon.svg",
+ "created": "2026-07-01",
+ "updated": "2026-07-01",
+ "issue_types": [
+ {
+ "key": "CHORE",
+ "schema_path": "CHORE.json",
+ "template_path": "CHORE.md"
+ }
+ ],
+ "workflow_hints": {
+ "loop_kind": "single_pass",
+ "memory_surfaces": [
+ "ticket"
+ ],
+ "review_gates": [
+ "test_suite"
+ ],
+ "external_tools": [
+ "git"
+ ],
+ "stop_conditions": [
+ "tests_green"
+ ],
+ "runner_semantics": "prompt_driven"
+ },
+ "default_selected": [
+ "CHORE"
+ ]
+}
diff --git a/collections/community/example_chores/icon.svg b/collections/community/example_chores/icon.svg
new file mode 100644
index 00000000..13c68dc8
--- /dev/null
+++ b/collections/community/example_chores/icon.svg
@@ -0,0 +1 @@
+
diff --git a/docs/.tool-versions b/docs/.tool-versions
new file mode 100644
index 00000000..d942ba84
--- /dev/null
+++ b/docs/.tool-versions
@@ -0,0 +1 @@
+ruby 3.1.7
diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock
index e2a3c2d2..b6f0842f 100644
--- a/docs/Gemfile.lock
+++ b/docs/Gemfile.lock
@@ -6,7 +6,7 @@ GEM
base64 (0.3.0)
bigdecimal (4.0.1)
colorator (1.1.0)
- concurrent-ruby (1.3.6)
+ concurrent-ruby (1.3.7)
csv (3.3.5)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
@@ -51,7 +51,7 @@ GEM
jekyll (>= 3.7, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
- json (2.19.5)
+ json (2.21.2)
kramdown (2.5.1)
rexml (>= 3.3.9)
kramdown-parser-gfm (1.1.0)
diff --git a/docs/_config.yml b/docs/_config.yml
index 72ad07ce..70c9733a 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -27,6 +27,7 @@ exclude:
- Gemfile.lock
- vendor
- typescript
+ - collections
# Plugins
plugins:
diff --git a/docs/_data/navigation.yml b/docs/_data/navigation.yml
index 83a63e4e..d1fc08f8 100644
--- a/docs/_data/navigation.yml
+++ b/docs/_data/navigation.yml
@@ -9,6 +9,8 @@ docs:
url: /getting-started/platform-support/
- title: Installation
url: /getting-started/installation/
+ - title: Tickets
+ url: /getting-started/tickets/
- title: Supported Session Management
url: /getting-started/sessions/
children:
@@ -101,23 +103,6 @@ docs:
children:
- title: AGNT.gg
url: /getting-started/integrations/agnt/
- - title: Core
- children:
- - title: Kanban
- url: /kanban/
- codicon: layout
- - title: Issue Types
- url: /issue-types/
- codicon: issues
- - title: Tickets
- url: /tickets/
- codicon: note
- - title: Agents
- url: /agents/
- codicon: robot
- children:
- - title: Artifact Detection
- url: /agents/artifact-detection/
- title: Reference
children:
- title: CLI
@@ -135,6 +120,9 @@ docs:
- title: Design System
url: /design-system/
codicon: symbol-color
+ - title: Artifact Detection
+ url: /artifact-detection/
+ codicon: file-binary
- title: Taxonomy
codicon: type-hierarchy
children:
diff --git a/docs/_includes/head.html b/docs/_includes/head.html
index 80c70368..076c3fc4 100644
--- a/docs/_includes/head.html
+++ b/docs/_includes/head.html
@@ -23,5 +23,11 @@
+
+ {% if page.section == 'workflows' %}
+
+
+ {% endif %}
+
{% seo %}
diff --git a/docs/_includes/sidebar.html b/docs/_includes/sidebar.html
index 90d7b0dc..8263caaa 100644
--- a/docs/_includes/sidebar.html
+++ b/docs/_includes/sidebar.html
@@ -64,14 +64,15 @@
{% endfor %}
+ Workflows
Downloads
|
diff --git a/docs/agents/index.md b/docs/agents/index.md
deleted file mode 100644
index d95b7eab..00000000
--- a/docs/agents/index.md
+++ /dev/null
@@ -1,102 +0,0 @@
----
-title: Agents
-description: "Understand agent lifecycle, states, autonomous vs paired modes, parallelism rules, and session tracking."
-layout: doc
----
-
-Agents are LLM-powered workers that execute tickets.
Operator! manages their lifecycle and coordinates their work.
-
-## Agent Lifecycle
-
-```
-Created -> Running -> Completed
- |
- v
- Awaiting Input
-```
-
-### States
-
-| State | Description |
-|-------|-------------|
-| **Created** | Agent initialized, not yet started |
-| **Running** | Actively working on ticket |
-| **Awaiting Input** | Needs human response |
-| **Completed** | Work finished successfully |
-| **Failed** | Error occurred |
-
-## Agent Modes
-
-### Autonomous Mode
-
-Used for: **FEAT**, **FIX**
-
-- Launch and monitor
-- Minimal intervention
-- Can run in parallel
-
-### Paired Mode
-
-Used for: **INV**, **SPIKE**
-
-- Active human participation
-- Back-and-forth discussion
-- One at a time per operator
-
-## Parallelism
-
-
Operator! enforces parallelism rules:
-
-```
-Max agents = min(configured_max, cpu_cores - reserved)
-```
-
-### Rules
-
-1. **Different projects** - Autonomous agents can run in parallel
-2. **Same project** - Sequential only (avoid conflicts)
-3. **Paired agents** - One at a time
-
-## Tracking
-
-
Operator! tracks agents in real-time:
-
-```json
-{
- "agents": [
- {
- "id": "agent-123",
- "ticket": "FEAT-042",
- "project": "backend",
- "status": "running",
- "started_at": "2024-01-15T10:30:00Z"
- }
- ]
-}
-```
-
-## Sessions
-
-Agent sessions persist in `.operator/sessions/`:
-
-```
-.operator/
-├── state.json
-├── sessions/
-│ ├── agent-123.json
-│ └── agent-456.json
-└── history.json
-```
-
-Session files contain:
-- Ticket information
-- Start/end times
-- Status history
-- Output logs
-
-## Best Practices
-
-1. **Monitor paired agents** - Stay engaged with INV/SPIKE
-2. **Review autonomous work** - Check completed FEAT/FIX
-3. **Handle failures promptly** - Address failed agents quickly
-4. **Balance load** - Don't overload with too many agents
diff --git a/docs/agents/artifact-detection.md b/docs/artifact-detection/index.md
similarity index 96%
rename from docs/agents/artifact-detection.md
rename to docs/artifact-detection/index.md
index 9909406b..a30ca7c6 100644
--- a/docs/agents/artifact-detection.md
+++ b/docs/artifact-detection/index.md
@@ -122,4 +122,4 @@ The `artifact_patterns` field is defined in the [Issue Type Schema](/schemas/iss
}
```
-See [Issue Types](/issue-types/) for more on configuring steps.
+See the [issue type schema](/schemas/issuetype/) for the full step structure, and [Workflows](/workflows/) for the collections that ship these steps.
diff --git a/docs/assets/css/main.css b/docs/assets/css/main.css
index 0c2b8cae..1af23e51 100644
--- a/docs/assets/css/main.css
+++ b/docs/assets/css/main.css
@@ -302,6 +302,28 @@ summary.nav-item-row::-webkit-details-marker {
color: inherit;
}
+/* Workflows nav button — the collection catalog.
+ * A shade apart from both the sage (--color-green-l1) used by every ordinary
+ * nav link and the salmon Downloads button below it, so the two read as a pair
+ * of distinct calls to action rather than one repeated. */
+.sidebar-nav .workflows-link {
+ margin-top: 16px;
+}
+
+.sidebar-nav .workflows-link a {
+ background: var(--color-green-l2);
+ color: var(--color-cream);
+ font-weight: 600;
+}
+
+.sidebar-nav .workflows-link a:hover {
+ background: var(--color-cornflower);
+}
+
+.sidebar-nav .workflows-link a.active {
+ background: var(--color-green-l3);
+}
+
/* Downloads nav link - highlighted */
.sidebar-nav .downloads-link {
margin-top: 16px;
@@ -595,3 +617,164 @@ tr:hover {
background-size: 92px 92px;
}
}
+
+/* ── Collection catalog (/workflows/) ─────────────────────────────────────────
+ * Cards and the table are both rendered statically by the collections-pages
+ * generator; `data-view` on the container decides which one is shown, and
+ *
flips it. Without JavaScript the default view
+ * still renders in full. */
+
+.collection-search {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 8px;
+ align-items: center;
+ margin: 24px 0 16px;
+}
+
+.collection-search input[type="search"] {
+ flex: 1 1 18rem;
+ min-width: 0;
+ padding: 8px 12px;
+ font: inherit;
+ font-size: 0.95rem;
+ color: var(--color-teal);
+ background: var(--color-white);
+ border: 1px solid var(--color-cornflower);
+ border-radius: 4px;
+}
+
+.collection-search input[type="search"]:focus {
+ outline: 2px solid var(--color-green-l2);
+ outline-offset: 1px;
+}
+
+.collection-view-toggle {
+ padding: 8px 14px;
+ font: inherit;
+ font-weight: 600;
+ color: var(--color-cream);
+ cursor: pointer;
+ background: var(--color-green-l1);
+ border: none;
+ border-radius: 4px;
+}
+
+.collection-view-toggle:hover {
+ background: var(--color-green-l2);
+}
+
+.collection-search-count {
+ font-size: 0.85rem;
+ color: var(--color-cornflower);
+}
+
+/* One view at a time. Both are in the DOM so filtering keeps them in sync. */
+[data-view="cards"] > .collection-table,
+[data-view="table"] > .collection-grid {
+ display: none;
+}
+
+.collection-grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
+ gap: 16px;
+}
+
+.collection-card {
+ display: flex;
+ flex-direction: column;
+ gap: 8px;
+ padding: 16px;
+ background: var(--color-white);
+ border: 1px solid var(--color-cornflower);
+ border-radius: 8px;
+}
+
+.collection-card:hover {
+ border-color: var(--color-salmon);
+}
+
+.collection-card-link {
+ display: flex;
+ gap: 10px;
+ align-items: center;
+ text-decoration: none;
+}
+
+/* Inlined SVG, so it tints from the link color in both themes. */
+.collection-icon {
+ flex: none;
+ width: 28px;
+ height: 28px;
+ color: var(--color-salmon);
+ fill: currentColor;
+}
+
+.collection-card-title {
+ margin: 0;
+ font-size: 1.05rem;
+ color: var(--color-green-l3);
+}
+
+.collection-card-description,
+.collection-card-types,
+.collection-card-meta {
+ margin: 0;
+ font-size: 0.85rem;
+}
+
+.collection-card-description {
+ flex: 1;
+ color: var(--color-teal);
+}
+
+.collection-card-types code {
+ font-size: 0.75rem;
+}
+
+.collection-card-meta {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 8px;
+ align-items: center;
+ color: var(--color-cornflower);
+}
+
+/* The table is wide by design; let it scroll rather than the page. */
+.collection-table {
+ display: table;
+ width: 100%;
+ overflow-x: auto;
+}
+
+.collection-table .collection-icon {
+ width: 18px;
+ height: 18px;
+ margin-right: 6px;
+ vertical-align: -3px;
+}
+
+#collection-catalog[data-empty="true"]::after {
+ display: block;
+ padding: 24px 0;
+ color: var(--color-cornflower);
+ content: "No collections match that filter.";
+}
+
+/* Split view on a collection page: issue-type rail beside the graph. The
+ * component owns its internal layout; this only bounds it on the page. */
+.workflow-explorer {
+ margin: 16px 0 24px;
+}
+
+[data-theme="dark"] .collection-card,
+[data-theme="dark"] .collection-search input[type="search"] {
+ background-color: #1a2426;
+}
+
+@media (max-width: 768px) {
+ .collection-grid {
+ grid-template-columns: 1fr;
+ }
+}
diff --git a/docs/assets/icons/anthropic.svg b/docs/assets/icons/anthropic.svg
index c917480d..3408b26e 100644
--- a/docs/assets/icons/anthropic.svg
+++ b/docs/assets/icons/anthropic.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/docs/assets/icons/claude-dark.svg b/docs/assets/icons/claude-dark.svg
deleted file mode 100644
index 96be6003..00000000
--- a/docs/assets/icons/claude-dark.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/docs/assets/icons/claude-light.svg b/docs/assets/icons/claude-light.svg
deleted file mode 100644
index 5797ebf5..00000000
--- a/docs/assets/icons/claude-light.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/docs/assets/icons/claude.svg b/docs/assets/icons/claude.svg
index c33100cb..0f8385a6 100644
--- a/docs/assets/icons/claude.svg
+++ b/docs/assets/icons/claude.svg
@@ -1,3 +1 @@
-
+
diff --git a/docs/assets/icons/cmux.svg b/docs/assets/icons/cmux.svg
index 32f2b8f5..9e005499 100644
--- a/docs/assets/icons/cmux.svg
+++ b/docs/assets/icons/cmux.svg
@@ -1,3 +1 @@
-
+
diff --git a/docs/assets/icons/coder.svg b/docs/assets/icons/coder.svg
index a0acff3a..5356a1cb 100644
--- a/docs/assets/icons/coder.svg
+++ b/docs/assets/icons/coder.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/docs/assets/icons/codex.svg b/docs/assets/icons/codex.svg
index 7997b3d2..99844e1d 100644
--- a/docs/assets/icons/codex.svg
+++ b/docs/assets/icons/codex.svg
@@ -1,3 +1 @@
-
+
diff --git a/docs/assets/icons/cursor.svg b/docs/assets/icons/cursor.svg
index 61303fbc..b9672494 100644
--- a/docs/assets/icons/cursor.svg
+++ b/docs/assets/icons/cursor.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/docs/assets/icons/gemini.svg b/docs/assets/icons/gemini.svg
index a801d939..b21e43aa 100644
--- a/docs/assets/icons/gemini.svg
+++ b/docs/assets/icons/gemini.svg
@@ -1,3 +1 @@
-
+
diff --git a/docs/assets/icons/github.svg b/docs/assets/icons/github.svg
index 8d44456c..23349765 100644
--- a/docs/assets/icons/github.svg
+++ b/docs/assets/icons/github.svg
@@ -1,3 +1 @@
-
+
diff --git a/docs/assets/icons/gitlab.svg b/docs/assets/icons/gitlab.svg
index d99593fb..ab1286a2 100644
--- a/docs/assets/icons/gitlab.svg
+++ b/docs/assets/icons/gitlab.svg
@@ -1,3 +1 @@
-
+
diff --git a/docs/assets/icons/google.svg b/docs/assets/icons/google.svg
index 2eaf9155..75543e0c 100644
--- a/docs/assets/icons/google.svg
+++ b/docs/assets/icons/google.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/docs/assets/icons/jira.svg b/docs/assets/icons/jira.svg
index bb652f5a..8cc91ccf 100644
--- a/docs/assets/icons/jira.svg
+++ b/docs/assets/icons/jira.svg
@@ -1,3 +1 @@
-
+
diff --git a/docs/assets/icons/linear.svg b/docs/assets/icons/linear.svg
index 5c114d7c..ada2e9da 100644
--- a/docs/assets/icons/linear.svg
+++ b/docs/assets/icons/linear.svg
@@ -1,3 +1 @@
-
+
diff --git a/docs/assets/icons/notification.svg b/docs/assets/icons/notification.svg
index 72f41c13..3b0ebdf0 100644
--- a/docs/assets/icons/notification.svg
+++ b/docs/assets/icons/notification.svg
@@ -1,3 +1 @@
-
+
diff --git a/docs/assets/icons/ollama.svg b/docs/assets/icons/ollama.svg
index bc368e99..1c0ab7b6 100644
--- a/docs/assets/icons/ollama.svg
+++ b/docs/assets/icons/ollama.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/docs/assets/icons/openrouter.svg b/docs/assets/icons/openrouter.svg
index 83ec807b..1d1e68cb 100644
--- a/docs/assets/icons/openrouter.svg
+++ b/docs/assets/icons/openrouter.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/docs/assets/icons/tmux.svg b/docs/assets/icons/tmux.svg
index f22913b9..921c63bb 100644
--- a/docs/assets/icons/tmux.svg
+++ b/docs/assets/icons/tmux.svg
@@ -1,3 +1 @@
-
+
diff --git a/docs/assets/icons/vscode.svg b/docs/assets/icons/vscode.svg
index cfcccfc6..92f3ae83 100644
--- a/docs/assets/icons/vscode.svg
+++ b/docs/assets/icons/vscode.svg
@@ -1,3 +1 @@
-
+
diff --git a/docs/assets/icons/webhook.svg b/docs/assets/icons/webhook.svg
index be5ace01..6bfc9efb 100644
--- a/docs/assets/icons/webhook.svg
+++ b/docs/assets/icons/webhook.svg
@@ -1,3 +1 @@
-
+
diff --git a/docs/assets/icons/zed.svg b/docs/assets/icons/zed.svg
index 02327fd1..5c3fe595 100644
--- a/docs/assets/icons/zed.svg
+++ b/docs/assets/icons/zed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/docs/assets/icons/zellij.svg b/docs/assets/icons/zellij.svg
index 0d4abed2..160b3c07 100644
--- a/docs/assets/icons/zellij.svg
+++ b/docs/assets/icons/zellij.svg
@@ -1,3 +1 @@
-
+
diff --git a/docs/collections/full/FIX.json b/docs/collections/coder/BUG.json
similarity index 54%
rename from docs/collections/full/FIX.json
rename to docs/collections/coder/BUG.json
index 39320e99..9a1a54a9 100644
--- a/docs/collections/full/FIX.json
+++ b/docs/collections/coder/BUG.json
@@ -1,14 +1,14 @@
{
"$schema": "../../schemas/issuetype_schema.json",
- "key": "FIX",
- "name": "Fix",
- "description": "Bug fix, follow-up work, tech debt, or refactoring ticket",
+ "key": "BUG",
+ "name": "Bug",
+ "description": "Defect report synced from the Linear Bug label with reproduce-first workflow",
"mode": "autonomous",
- "glyph": "#",
- "color": "magenta",
+ "glyph": "x",
+ "color": "red",
"project_required": true,
- "agent_prompt": "Review this project and prepare to create an agent for bug fixes. The agent should read tickets from .tickets/, reproduce issues, implement minimal fixes, verify with tests, and create PRs. Output ONLY the agent system prompt.",
- "prompt": "You are fixing a bug or addressing technical debt in the {{ project }} project.\n\nBefore starting, review the acceptance criteria and understand the root cause.\n\n## Acceptance Criteria\n{{ acceptance_criteria }}\n\n## Definition of Done\nFollow this definition of done before claiming success:\n{{ definition_of_done }}",
+ "agent_prompt": "Review this project and prepare to create an agent for fixing bugs. The agent should read tickets from .tickets/, reproduce issues with failing tests, implement minimal fixes, verify with tests, and create PRs. Output ONLY the agent system prompt.",
+ "prompt": "You are fixing a bug in the {{ project }} project.\n\nThis ticket may have been synced from Linear; the ticket body carries the source description and a link back to the Linear issue.\n\n## Current Behavior\n{{ current_behavior }}\n\n## Expected Behavior\n{{ expected_behavior }}\n\n## Steps to Reproduce\n{{ steps_to_reproduce }}\n\nReproduce first, then fix the root cause with the smallest change that resolves it.",
"fields": [
{
"name": "id",
@@ -30,7 +30,7 @@
},
{
"name": "severity",
- "description": "Bug severity (if applicable)",
+ "description": "Bug severity",
"type": "enum",
"required": false,
"default": "N/A",
@@ -46,41 +46,41 @@
"display_order": 3,
"user_editable": false
},
- {
- "name": "fix_type",
- "description": "Type of fix work",
- "type": "enum",
- "required": false,
- "default": "Bug fix",
- "options": ["Bug fix", "Follow-up work", "Technical debt", "Refactoring", "Test coverage", "Documentation"],
- "display_order": 4
- },
{
"name": "summary",
- "description": "name or summary of this bugfix",
+ "description": "Name or summary of this bug",
"type": "string",
"required": true,
"default": "",
- "placeholder": "Brief description of what needs to be fixed",
+ "placeholder": "Brief description of the defect",
"max_length": 120,
+ "display_order": 4
+ },
+ {
+ "name": "current_behavior",
+ "description": "What happens today (the defect)",
+ "type": "text",
+ "required": false,
+ "default": "",
+ "placeholder": "Observed behavior, error messages, log excerpts",
"display_order": 5
},
{
- "name": "parent",
- "description": "Parent / Epic ticket ID",
- "type": "string",
+ "name": "expected_behavior",
+ "description": "What should happen instead",
+ "type": "text",
"required": false,
"default": "",
- "placeholder": "Parent ticket ID if applicable",
+ "placeholder": "Correct behavior once fixed",
"display_order": 6
},
{
- "name": "user_story",
- "description": "Context for the fix (steps to reproduce, background)",
+ "name": "steps_to_reproduce",
+ "description": "How to trigger the defect",
"type": "text",
"required": false,
"default": "",
- "placeholder": "Steps to reproduce bug, or context for tech debt",
+ "placeholder": "1. Do X\n2. Do Y\n3. Observe Z",
"display_order": 7
}
],
@@ -89,9 +89,10 @@
"name": "plan",
"display_name": "Planning",
"outputs": ["plan"],
- "prompt": "Assess the project and plan reproduction:\n\n1. Understand the project structure\n2. Find how to run the project and tests\n3. Locate applicable test code\n4. Create a plan to reproduce the bug\n\nWrite plan to `.tickets/plans/{{ id }}.md` with:\n- How to run the project\n- Relevant test commands\n- Steps to reproduce the issue\n- Initial hypotheses about the root cause",
+ "prompt": "Assess the project and plan reproduction:\n\n1. Understand the project structure\n2. Find how to run the project and tests\n3. Locate code likely involved in the defect\n\n## Current Behavior\n{{ current_behavior }}\n\n## Expected Behavior\n{{ expected_behavior }}\n\n## Steps to Reproduce\n{{ steps_to_reproduce }}\n\nWrite a plan to `.tickets/plans/{{ id }}.md` with:\n- How to run the project and relevant test commands\n- Steps to reproduce the issue\n- Initial hypotheses about the root cause",
"allowed_tools": ["Read", "Glob", "Grep", "Write", "Bash"],
"review_type": "plan",
+ "artifact_patterns": [".tickets/plans/{{ id }}.md"],
"on_reject": {
"goto_step": "plan",
"prompt": "Plan rejected: {{ rejection_reason }}\n\nRevise the reproduction plan."
@@ -102,7 +103,7 @@
"name": "reproduce",
"display_name": "Reproducing",
"outputs": ["test", "report"],
- "prompt": "Reproduce the bug:\n\n1. Follow the plan to reproduce the issue\n2. Write a failing test that demonstrates the bug\n3. Document the reproduction in `.tickets/notes/{{ id }}.md`\n4. Confirm the test fails as expected",
+ "prompt": "Reproduce the bug:\n\n1. Follow the plan to reproduce the issue\n2. Write a failing test that demonstrates the defect\n3. Document the reproduction in `.tickets/notes/{{ id }}.md`\n4. Confirm the test fails for the expected reason",
"allowed_tools": ["Read", "Write", "Edit", "Glob", "Grep", "Bash"],
"next_step": "test"
},
@@ -110,7 +111,7 @@
"name": "test",
"display_name": "Baseline Testing",
"outputs": ["report"],
- "prompt": "Establish test baseline:\n\n1. Run full test suite to understand current state\n2. Document which tests pass/fail\n3. Identify any related test coverage gaps\n4. Note any flaky or slow tests",
+ "prompt": "Establish test baseline:\n\n1. Run the full test suite to understand current state\n2. Document which tests pass/fail\n3. Identify any related test coverage gaps\n4. Note any flaky or slow tests",
"allowed_tools": ["Read", "Bash"],
"next_step": "fix"
},
@@ -118,17 +119,17 @@
"name": "fix",
"display_name": "Fixing",
"outputs": ["code"],
- "prompt": "Implement the fix:\n\n1. Apply minimal fix to address the root cause\n2. Verify the previously failing test now passes\n3. Run full test suite: `cargo test`\n4. Run linting: `cargo clippy`\n5. Run formatting: `cargo fmt`\n\nKeep the fix focused and minimal.",
+ "prompt": "Implement the fix:\n\n1. Apply a minimal fix addressing the root cause\n2. Verify the previously failing test now passes\n3. Run the project's full test suite\n4. Run the project's linter and formatter\n\nKeep the fix focused and minimal.",
"allowed_tools": ["Read", "Write", "Edit", "Glob", "Grep", "Bash"],
"next_step": "deploy"
},
{
"name": "deploy",
"display_name": "Deploying",
- "outputs": ["review"],
- "prompt": "Create a pull request for the fix:\n\n1. Commit all changes with message: `fix({{ project }}): {{ summary }}`\n2. Push the fix branch\n3. Create a PR with:\n - Root cause analysis\n - Description of the fix\n - Test verification\n - Link to ticket: {{ id }}\n\nFix complete. Move ticket to completed after PR is merged.",
+ "outputs": ["pr"],
+ "prompt": "Create a pull request for the fix:\n\n1. Commit all changes with message: `fix({{ project }}): {{ summary }}`\n2. Push the fix branch\n3. Create a PR with:\n - Root cause analysis\n - Description of the fix\n - Test verification\n - Link to ticket: {{ id }}\n\nIf the ticket links a Linear issue, reference it in the PR body so Linear links the PR.\n\nFix complete. Move ticket to completed after PR is merged.",
"allowed_tools": ["Bash", "Read"],
- "review_type": "plan",
+ "review_type": "pr",
"on_reject": {
"goto_step": "fix",
"prompt": "Deploy rejected: {{ rejection_reason }}\n\nAddress feedback and revise the fix."
diff --git a/docs/collections/coder/BUG.md b/docs/collections/coder/BUG.md
new file mode 100644
index 00000000..e054b47d
--- /dev/null
+++ b/docs/collections/coder/BUG.md
@@ -0,0 +1,23 @@
+---
+id: {{ id }}
+{{#if step }}step: {{ step }}
+{{/if}}status: {{ status }}
+created: {{ created_datetime }}
+branch: {{ branch }}
+{{#if priority }}priority: {{ priority }}
+{{/if}}---
+
+# Bug: {{ summary }}
+
+{{#if current_behavior }}
+## Current Behavior
+{{ current_behavior }}
+{{/if}}
+{{#if expected_behavior }}
+## Expected Behavior
+{{ expected_behavior }}
+{{/if}}
+{{#if steps_to_reproduce }}
+## Steps to Reproduce
+{{ steps_to_reproduce }}
+{{/if}}
diff --git a/docs/collections/full/FEAT.json b/docs/collections/coder/FEATURE.json
similarity index 75%
rename from docs/collections/full/FEAT.json
rename to docs/collections/coder/FEATURE.json
index 1574db95..e79eeacd 100644
--- a/docs/collections/full/FEAT.json
+++ b/docs/collections/coder/FEATURE.json
@@ -1,14 +1,14 @@
{
"$schema": "../../schemas/issuetype_schema.json",
- "key": "FEAT",
+ "key": "FEATURE",
"name": "Feature",
- "description": "New feature or enhancement ticket",
+ "description": "New functionality synced from the Linear Feature label",
"mode": "autonomous",
- "glyph": "*",
+ "glyph": "+",
"color": "green",
"project_required": true,
"agent_prompt": "Review this project and prepare to create an agent for implementing new features. The agent should read tickets from .tickets/, create feature branches, implement code following existing patterns, run tests and linting, and create PRs. Output ONLY the agent system prompt.",
- "prompt": "You are implementing a new feature for the {{ project }} project.\n\nBefore starting, review the acceptance criteria and understand the requirements.\n\n## Acceptance Criteria\n{{ acceptance_criteria }}\n\n## Definition of Done\nFollow this definition of done before claiming success:\n{{ definition_of_done }}",
+ "prompt": "You are implementing a new feature for the {{ project }} project.\n\nThis ticket may have been synced from Linear; the ticket body carries the source description and a link back to the Linear issue.\n\n## User Story\n{{ user_story }}\n\nBefore starting, understand the requirements and how success will be judged.",
"fields": [
{
"name": "id",
@@ -39,7 +39,7 @@
},
{
"name": "summary",
- "description": "name or summary of this feature",
+ "description": "Name or summary of this feature",
"type": "string",
"required": true,
"default": "",
@@ -55,6 +55,22 @@
"default": "",
"placeholder": "As a USER, I want to X, so I can Y",
"display_order": 4
+ },
+ {
+ "name": "estimate",
+ "description": "Estimate points (from Linear)",
+ "type": "integer",
+ "required": false,
+ "display_order": 5
+ },
+ {
+ "name": "customer",
+ "description": "Requesting customer (from Linear)",
+ "type": "string",
+ "required": false,
+ "default": "",
+ "placeholder": "Customer name if applicable",
+ "display_order": 6
}
],
"steps": [
@@ -65,6 +81,7 @@
"prompt": "You are implementing a new feature. First, read the ticket and explore the codebase to understand:\n1. Where the feature should be implemented\n2. What existing code/patterns to follow\n3. What tests need to be added\n\nCreate a detailed implementation plan in `.tickets/plans/{{ id }}.md` with:\n- Files to create/modify\n- Key implementation steps\n- Test coverage requirements\n- Any dependencies or risks",
"allowed_tools": ["Read", "Glob", "Grep", "Write"],
"review_type": "plan",
+ "artifact_patterns": [".tickets/plans/{{ id }}.md"],
"on_reject": {
"goto_step": "plan",
"prompt": "Plan rejected: {{ rejection_reason }}\n\nRevise the plan based on feedback."
@@ -83,16 +100,15 @@
"name": "code",
"display_name": "Coding",
"outputs": ["code"],
- "prompt": "Implement the feature logic based on the plan and structure.\n\nGuidelines:\n- Follow existing code patterns and conventions\n- Add appropriate comments for complex logic\n- Keep changes minimal and focused\n- Run formatters after making changes",
+ "prompt": "Implement the feature logic based on the plan and structure.\n\nGuidelines:\n- Follow existing code patterns and conventions\n- Keep changes minimal and focused\n- Run formatters after making changes",
"allowed_tools": ["Read", "Write", "Edit", "Glob", "Grep", "Bash"],
- "agent": "claude-opus",
"next_step": "test"
},
{
"name": "test",
"display_name": "Testing",
"outputs": ["test", "code"],
- "prompt": "Add tests for the new feature and ensure all tests pass.\n\n1. Write unit tests for new functions/modules\n2. Add integration tests if applicable\n3. Run the full test suite: `cargo test`\n4. Run linting: `cargo clippy`\n5. Run formatting: `cargo fmt`\n\nFix any failures before proceeding.",
+ "prompt": "Add tests for the new feature and ensure all tests pass.\n\n1. Write unit tests for new functions/modules\n2. Add integration tests if applicable\n3. Run the project's full test suite\n4. Run the project's linter and formatter\n\nFix any failures before proceeding.",
"allowed_tools": ["Read", "Write", "Edit", "Bash"],
"next_step": "deploy"
},
@@ -100,7 +116,7 @@
"name": "deploy",
"display_name": "Deploying",
"outputs": ["pr"],
- "prompt": "Create a pull request for the feature:\n\n1. Commit all changes with a descriptive message\n2. Push the feature branch\n3. Create a PR with:\n - Clear title: `feat({{ project }}): {{ summary }}`\n - Description of changes\n - Link to ticket: {{ id }}\n - Test instructions\n\nFeature complete. Move ticket to completed after PR is merged.",
+ "prompt": "Create a pull request for the feature:\n\n1. Commit all changes with a descriptive message\n2. Push the feature branch\n3. Create a PR with:\n - Clear title: `feat({{ project }}): {{ summary }}`\n - Description of changes\n - Link to ticket: {{ id }}\n - Test instructions\n\nIf the ticket links a Linear issue, reference it in the PR body so Linear links the PR.\n\nFeature complete. Move ticket to completed after PR is merged.",
"allowed_tools": ["Bash", "Read"],
"review_type": "pr",
"on_reject": {
diff --git a/docs/collections/full/FEAT.md b/docs/collections/coder/FEATURE.md
similarity index 67%
rename from docs/collections/full/FEAT.md
rename to docs/collections/coder/FEATURE.md
index 10d13ae3..7c5d680b 100644
--- a/docs/collections/full/FEAT.md
+++ b/docs/collections/coder/FEATURE.md
@@ -9,7 +9,11 @@ branch: {{ branch }}
# Feature: {{ summary }}
-{{#if context }}
-## Context
-{{ context }}
+{{#if user_story }}
+## User Story
+{{ user_story }}
+{{/if}}
+{{#if customer }}
+## Customer
+{{ customer }}
{{/if}}
diff --git a/docs/collections/coder/IMPROVEMENT.json b/docs/collections/coder/IMPROVEMENT.json
new file mode 100644
index 00000000..959d5094
--- /dev/null
+++ b/docs/collections/coder/IMPROVEMENT.json
@@ -0,0 +1,120 @@
+{
+ "$schema": "../../schemas/issuetype_schema.json",
+ "key": "IMPROVEMENT",
+ "name": "Improvement",
+ "description": "Enhancement to existing behavior synced from the Linear Improvement label",
+ "mode": "autonomous",
+ "glyph": "^",
+ "color": "blue",
+ "project_required": true,
+ "agent_prompt": "Review this project and prepare to create an agent for improving existing functionality. The agent should read tickets from .tickets/, scope the smallest change that delivers the improvement, implement it following existing patterns, run tests and linting, and create PRs. Output ONLY the agent system prompt.",
+ "prompt": "You are improving existing functionality in the {{ project }} project.\n\nThis ticket may have been synced from Linear; the ticket body carries the source description and a link back to the Linear issue.\n\n## Motivation\n{{ motivation }}\n\nPrefer the smallest change that delivers the improvement. Do not expand scope.",
+ "fields": [
+ {
+ "name": "id",
+ "description": "Unique ticket identifier",
+ "type": "string",
+ "required": true,
+ "auto": "id",
+ "display_order": 0,
+ "user_editable": false
+ },
+ {
+ "name": "priority",
+ "description": "Ticket priority level",
+ "type": "enum",
+ "required": false,
+ "default": "P2-medium",
+ "options": ["P0-critical", "P1-high", "P2-medium", "P3-low"],
+ "display_order": 1
+ },
+ {
+ "name": "branch",
+ "description": "Git branch name",
+ "type": "string",
+ "required": true,
+ "auto": "branch",
+ "display_order": 2,
+ "user_editable": false
+ },
+ {
+ "name": "summary",
+ "description": "Name or summary of this improvement",
+ "type": "string",
+ "required": true,
+ "default": "",
+ "placeholder": "Brief description of the improvement",
+ "max_length": 120,
+ "display_order": 3
+ },
+ {
+ "name": "motivation",
+ "description": "What is inadequate today, and what does better look like?",
+ "type": "text",
+ "required": false,
+ "default": "",
+ "placeholder": "Current shortcoming and the expected improvement",
+ "display_order": 4
+ },
+ {
+ "name": "estimate",
+ "description": "Estimate points (from Linear)",
+ "type": "integer",
+ "required": false,
+ "display_order": 5
+ },
+ {
+ "name": "customer",
+ "description": "Requesting customer (from Linear)",
+ "type": "string",
+ "required": false,
+ "default": "",
+ "placeholder": "Customer name if applicable",
+ "display_order": 6
+ }
+ ],
+ "steps": [
+ {
+ "name": "plan",
+ "display_name": "Planning",
+ "outputs": ["plan"],
+ "prompt": "You are improving existing functionality. First, read the ticket and locate the current behavior in the codebase:\n1. Find the code that implements today's behavior\n2. Understand why it is inadequate ({{ motivation }})\n3. Identify the smallest change that delivers the improvement\n\nCreate a focused plan in `.tickets/plans/{{ id }}.md` with:\n- The current behavior and where it lives\n- The proposed change, scoped minimally - no scope creep\n- How existing tests must change, and what new coverage is needed\n- Any behavior changes callers/users will notice",
+ "allowed_tools": ["Read", "Glob", "Grep", "Write"],
+ "review_type": "plan",
+ "artifact_patterns": [".tickets/plans/{{ id }}.md"],
+ "on_reject": {
+ "goto_step": "plan",
+ "prompt": "Plan rejected: {{ rejection_reason }}\n\nRevise the plan based on feedback."
+ },
+ "next_step": "code"
+ },
+ {
+ "name": "code",
+ "display_name": "Coding",
+ "outputs": ["code"],
+ "prompt": "Implement the improvement per the plan in `.tickets/plans/{{ id }}.md`.\n\nGuidelines:\n- Change only what the plan scoped; resist adjacent cleanups\n- Follow existing code patterns and conventions\n- Preserve existing behavior outside the improvement\n- Run formatters after making changes",
+ "allowed_tools": ["Read", "Write", "Edit", "Glob", "Grep", "Bash"],
+ "next_step": "test"
+ },
+ {
+ "name": "test",
+ "display_name": "Testing",
+ "outputs": ["test", "code"],
+ "prompt": "Verify the improvement and guard against regressions.\n\n1. Update tests that asserted the old behavior\n2. Add tests demonstrating the improved behavior\n3. Run the project's full test suite\n4. Run the project's linter and formatter\n\nFix any failures before proceeding.",
+ "allowed_tools": ["Read", "Write", "Edit", "Bash"],
+ "next_step": "deploy"
+ },
+ {
+ "name": "deploy",
+ "display_name": "Deploying",
+ "outputs": ["pr"],
+ "prompt": "Create a pull request for the improvement:\n\n1. Commit all changes with a descriptive message\n2. Push the branch\n3. Create a PR with:\n - Clear title: `improve({{ project }}): {{ summary }}`\n - Before/after description of the behavior\n - Link to ticket: {{ id }}\n - Test instructions\n\nIf the ticket links a Linear issue, reference it in the PR body so Linear links the PR.\n\nImprovement complete. Move ticket to completed after PR is merged.",
+ "allowed_tools": ["Bash", "Read"],
+ "review_type": "pr",
+ "on_reject": {
+ "goto_step": "code",
+ "prompt": "Deploy rejected: {{ rejection_reason }}\n\nAddress feedback and revise the implementation."
+ }
+ }
+ ]
+}
diff --git a/docs/collections/coder/IMPROVEMENT.md b/docs/collections/coder/IMPROVEMENT.md
new file mode 100644
index 00000000..13b5e7ef
--- /dev/null
+++ b/docs/collections/coder/IMPROVEMENT.md
@@ -0,0 +1,19 @@
+---
+id: {{ id }}
+{{#if step }}step: {{ step }}
+{{/if}}status: {{ status }}
+created: {{ created_datetime }}
+branch: {{ branch }}
+{{#if priority }}priority: {{ priority }}
+{{/if}}---
+
+# Improvement: {{ summary }}
+
+{{#if motivation }}
+## Motivation
+{{ motivation }}
+{{/if}}
+{{#if customer }}
+## Customer
+{{ customer }}
+{{/if}}
diff --git a/docs/collections/coder/collection.json b/docs/collections/coder/collection.json
new file mode 100644
index 00000000..fd0c9d51
--- /dev/null
+++ b/docs/collections/coder/collection.json
@@ -0,0 +1,80 @@
+{
+ "schema_version": 1,
+ "id": "coder",
+ "name": "Coder",
+ "description": "Linear-synced engineering flow: Feature, Improvement, and Bug work delegated to coding agents.",
+ "version": "1.0.0",
+ "publisher": "untra",
+ "author": "untra",
+ "url": "https://github.com/untra/operator",
+ "license": "MIT",
+ "tags": [
+ "community",
+ "linear",
+ "kanban",
+ "engineering"
+ ],
+ "compatibility": null,
+ "tier": "community",
+ "icon_path": "icon.svg",
+ "created": "2026-08-01",
+ "updated": "2026-08-01",
+ "kanban_defaults": {
+ "suggested_type_mappings": {
+ "Bug": "BUG",
+ "Feature": "FEATURE",
+ "Improvement": "IMPROVEMENT"
+ }
+ },
+ "issue_types": [
+ {
+ "key": "FEATURE",
+ "schema_path": "FEATURE.json",
+ "schema_checksum": "1d8146f05bacf6db3c568eebb040c2082a3f64b71e7b6c2eb8d0895357ed99a4",
+ "template_path": "FEATURE.md",
+ "template_checksum": "57bd76a8423725e27520a89ed8704f47e7a620a5d6d8c044058f492311027786"
+ },
+ {
+ "key": "IMPROVEMENT",
+ "schema_path": "IMPROVEMENT.json",
+ "schema_checksum": "810c73ac51239e6f7327529b9b48ca0ba0522a0fdeadff76cdc6835d074ee440",
+ "template_path": "IMPROVEMENT.md",
+ "template_checksum": "9140c8c2ee7833c0158596a43f8e492cff24f5400631c161b5e8226699a7268a"
+ },
+ {
+ "key": "BUG",
+ "schema_path": "BUG.json",
+ "schema_checksum": "7f5b5d4682893d9f6ba4da2f461893bafa8e93d88eace3f5f068caf32589c37e",
+ "template_path": "BUG.md",
+ "template_checksum": "f03d4a2fc843553d42d281c6af9054348f42e0ebf11c0562e37c97a0b7261467"
+ }
+ ],
+ "workflow_hints": {
+ "loop_kind": "kanban_synced_single_pass",
+ "memory_surfaces": [
+ "ticket",
+ ".tickets/plans/{{ id }}.md"
+ ],
+ "review_gates": [
+ "plan_review",
+ "test_suite",
+ "pr_review"
+ ],
+ "external_tools": [
+ "git",
+ "gh",
+ "linear"
+ ],
+ "stop_conditions": [
+ "tests_green",
+ "pr_created"
+ ],
+ "runner_semantics": "prompt_driven"
+ },
+ "default_selected": [
+ "FEATURE",
+ "IMPROVEMENT",
+ "BUG"
+ ],
+ "checksum": "b677f89b72755cc2314622bb8148065527f83b7a31c83859b043f8bbb18bda38"
+}
diff --git a/docs/collections/coder/icon.svg b/docs/collections/coder/icon.svg
new file mode 100644
index 00000000..5356a1cb
--- /dev/null
+++ b/docs/collections/coder/icon.svg
@@ -0,0 +1 @@
+
diff --git a/docs/collections/dev_kanban/collection.json b/docs/collections/dev_kanban/collection.json
index 76d13a50..1f361b19 100644
--- a/docs/collections/dev_kanban/collection.json
+++ b/docs/collections/dev_kanban/collection.json
@@ -14,6 +14,11 @@
"dev"
],
"compatibility": null,
+ "tier": "official",
+ "icon_path": "icon.svg",
+ "created": "2026-01-08",
+ "updated": "2026-06-16",
+ "kanban_defaults": null,
"issue_types": [
{
"key": "TASK",
diff --git a/docs/collections/dev_kanban/icon.svg b/docs/collections/dev_kanban/icon.svg
new file mode 100644
index 00000000..13516744
--- /dev/null
+++ b/docs/collections/dev_kanban/icon.svg
@@ -0,0 +1 @@
+
diff --git a/docs/collections/devops_kanban/collection.json b/docs/collections/devops_kanban/collection.json
index 3866784d..3f88b247 100644
--- a/docs/collections/devops_kanban/collection.json
+++ b/docs/collections/devops_kanban/collection.json
@@ -14,6 +14,11 @@
"devops"
],
"compatibility": null,
+ "tier": "official",
+ "icon_path": "icon.svg",
+ "created": "2026-01-08",
+ "updated": "2026-06-16",
+ "kanban_defaults": null,
"issue_types": [
{
"key": "TASK",
diff --git a/docs/collections/devops_kanban/icon.svg b/docs/collections/devops_kanban/icon.svg
new file mode 100644
index 00000000..db59a314
--- /dev/null
+++ b/docs/collections/devops_kanban/icon.svg
@@ -0,0 +1 @@
+
diff --git a/docs/collections/elves_overnight/collection.json b/docs/collections/elves_overnight/collection.json
index 70c6661d..4c6490f7 100644
--- a/docs/collections/elves_overnight/collection.json
+++ b/docs/collections/elves_overnight/collection.json
@@ -15,6 +15,11 @@
"elves"
],
"compatibility": null,
+ "tier": "community",
+ "icon_path": "icon.svg",
+ "created": "2026-06-16",
+ "updated": "2026-07-01",
+ "kanban_defaults": null,
"issue_types": [
{
"key": "ELVSTAGE",
diff --git a/docs/collections/elves_overnight/icon.svg b/docs/collections/elves_overnight/icon.svg
new file mode 100644
index 00000000..0e288457
--- /dev/null
+++ b/docs/collections/elves_overnight/icon.svg
@@ -0,0 +1 @@
+
diff --git a/docs/collections/example_chores/CHORE.json b/docs/collections/example_chores/CHORE.json
new file mode 100644
index 00000000..5db5f457
--- /dev/null
+++ b/docs/collections/example_chores/CHORE.json
@@ -0,0 +1,45 @@
+{
+ "$schema": "https://operator.untra.io/schemas/issuetype.json",
+ "key": "CHORE",
+ "name": "Chore",
+ "description": "Small recurring maintenance task with a verification step",
+ "mode": "autonomous",
+ "glyph": "*",
+ "color": "cyan",
+ "project_required": true,
+ "fields": [
+ {
+ "name": "id",
+ "description": "Ticket identifier",
+ "type": "string",
+ "required": true,
+ "auto": "id",
+ "display_order": 0
+ },
+ {
+ "name": "summary",
+ "description": "One-line description of the chore",
+ "type": "string",
+ "required": false,
+ "placeholder": "e.g. rotate dependency lockfiles",
+ "display_order": 1
+ }
+ ],
+ "steps": [
+ {
+ "name": "execute",
+ "display_name": "Executing",
+ "outputs": ["code", "report"],
+ "prompt": "Complete this maintenance chore:\n\n1. Read the ticket summary and context\n2. Make the smallest change that completes the chore\n3. Note anything that should become a follow-up ticket\n",
+ "review_type": "none",
+ "next_step": "verify"
+ },
+ {
+ "name": "verify",
+ "display_name": "Verifying",
+ "outputs": ["report"],
+ "prompt": "Verify the chore is complete: run the project's test or lint command and summarize the result.\n",
+ "review_type": "none"
+ }
+ ]
+}
diff --git a/docs/collections/example_chores/CHORE.md b/docs/collections/example_chores/CHORE.md
new file mode 100644
index 00000000..ef1ac300
--- /dev/null
+++ b/docs/collections/example_chores/CHORE.md
@@ -0,0 +1,14 @@
+# Chore: {{ summary }}
+
+**Project**: {{ project }}
+**Created**: {{ date }}
+
+## Context
+
+Describe why this chore matters and any constraints.
+
+## Definition of Done
+
+- [ ] The change is made and minimal
+- [ ] Project checks pass
+- [ ] Follow-ups (if any) are filed as new tickets
diff --git a/docs/collections/example_chores/collection.json b/docs/collections/example_chores/collection.json
new file mode 100644
index 00000000..eb21c176
--- /dev/null
+++ b/docs/collections/example_chores/collection.json
@@ -0,0 +1,50 @@
+{
+ "schema_version": 1,
+ "id": "example_chores",
+ "name": "Example Chores",
+ "description": "Minimal example community collection demonstrating the shareable format.",
+ "version": "0.1.0",
+ "publisher": null,
+ "author": "untra",
+ "url": "https://github.com/untra/operator",
+ "license": "MIT",
+ "tags": [
+ "example",
+ "starter"
+ ],
+ "compatibility": null,
+ "tier": "community",
+ "icon_path": "icon.svg",
+ "created": "2026-07-01",
+ "updated": "2026-07-01",
+ "kanban_defaults": null,
+ "issue_types": [
+ {
+ "key": "CHORE",
+ "schema_path": "CHORE.json",
+ "schema_checksum": "feeabd2aef3de61dfd7b5760d58f104519cc5f8152718b0dfa1221da8c5852d7",
+ "template_path": "CHORE.md",
+ "template_checksum": "7e85067ba98ce97c0dd632704c744d2d7da60248051b1a0db7c18b524a018496"
+ }
+ ],
+ "workflow_hints": {
+ "loop_kind": "single_pass",
+ "memory_surfaces": [
+ "ticket"
+ ],
+ "review_gates": [
+ "test_suite"
+ ],
+ "external_tools": [
+ "git"
+ ],
+ "stop_conditions": [
+ "tests_green"
+ ],
+ "runner_semantics": "prompt_driven"
+ },
+ "default_selected": [
+ "CHORE"
+ ],
+ "checksum": "f16a9b3bf3e907358a73af2904e755cf42ba8179d8967a8130943e8c5042c157"
+}
diff --git a/docs/collections/example_chores/icon.svg b/docs/collections/example_chores/icon.svg
new file mode 100644
index 00000000..13c68dc8
--- /dev/null
+++ b/docs/collections/example_chores/icon.svg
@@ -0,0 +1 @@
+
diff --git a/docs/collections/full/ASSESS.json b/docs/collections/full/ASSESS.json
deleted file mode 100644
index 4b2c4671..00000000
--- a/docs/collections/full/ASSESS.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "$schema": "../../schemas/issuetype_schema.json",
- "key": "ASSESS",
- "name": "Project Assessment",
- "description": "Analyze project structure and generate project-context.json and catalog-info.yaml",
- "mode": "autonomous",
- "glyph": "~",
- "color": "magenta",
- "project_required": true,
- "agent_prompt": "Review this project to create an agent for project assessment. The agent analyzes project structure, detects the project Kind from file patterns (using the 25-Kind taxonomy), identifies commands/entry points/environment variables, and generates both project-context.json (for AI agents) and catalog-info.yaml (for project catalog). Output ONLY the agent system prompt.",
- "fields": [
- {
- "name": "id",
- "description": "Unique ticket identifier",
- "type": "string",
- "required": true,
- "auto": "id",
- "display_order": 0,
- "user_editable": false
- },
- {
- "name": "summary",
- "description": "Assessment description",
- "type": "string",
- "required": true,
- "default": "",
- "placeholder": "Assess project structure",
- "max_length": 120,
- "display_order": 1
- },
- {
- "name": "kind_override",
- "description": "Override detected Kind (optional)",
- "type": "string",
- "required": false,
- "default": "",
- "placeholder": "e.g., microservice, infrastructure",
- "display_order": 2
- }
- ],
- "steps": [
- {
- "name": "analyze",
- "display_name": "Analyzing",
- "outputs": ["report"],
- "jsonSchemaFile": ".tickets/schemas/project_analysis.schema.json",
- "prompt": "Analyze the project structure and output structured JSON conforming to the schema:\n\n1. **Kind Detection**: Match file patterns against the 25-Kind taxonomy:\n - Foundation: infrastructure, identity-access, config-policy, monorepo-meta\n - Standards: design-system, software-library, proto-sdk, blueprint, security-tooling, compliance-audit\n - Engines: ml-model, data-etl, microservice, api-gateway, ui-frontend, internal-tool\n - Ecosystem: build-tool, e2e-test, docs-site, playbook, cli-devtool\n - Noncurrent: reference-example, experiment-sandbox, archival-fork, test-data-fixtures\n\n2. **Languages/Frameworks/Databases**: Detect from manifest files (package.json, Cargo.toml, requirements.txt, go.mod), imports, and file extensions.\n\n3. **Commands**: Extract from:\n - package.json scripts (start, dev, test, build, lint)\n - Makefile targets\n - Cargo.toml [[bin]] sections\n - Scripts in bin/ or scripts/\n\n4. **Entry Points**: Identify key files:\n - binary_entry: src/main.rs, index.js, main.py\n - library_entry: src/lib.rs, lib/index.js\n - config: config/*.toml, .env.example\n - routes: src/routes.rs, routes/*.ts\n - main_component: src/App.tsx, src/App.vue\n\n5. **Environment Variables**: Scan .env.example, docker-compose.yml, config files for required env vars.\n\nIf kind_override is set, use that instead of auto-detection.",
- "allowed_tools": ["Read", "Glob", "Grep"],
- "next_step": "generate"
- },
- {
- "name": "generate",
- "display_name": "Generating",
- "outputs": ["code"],
- "prompt": "Generate output files from the analysis JSON:\n\n1. **Write `project-context.json`** (for AI agents):\n - Save the complete structured analysis JSON to project root\n - This is the primary output for AI consumption\n\n2. **Write `catalog-info.yaml`** (for project catalog):\n ```yaml\n apiVersion: backstage.io/v1alpha1\n kind: Component\n metadata:\n name: {{ project }}\n description: \n annotations:\n backstage.io/techdocs-ref: dir:.\n tags:\n - \n - \n spec:\n type: \n lifecycle: production\n owner: \n ```\n\n3. **Document assessment** in `.tickets/assessments/{{ id }}.md`:\n - Kind detected with confidence score\n - Key technologies found\n - Commands available\n - Entry points identified",
- "allowed_tools": ["Read", "Write", "Edit"],
- "review_type": "plan",
- "on_reject": {
- "goto_step": "analyze",
- "prompt": "Re-analyze the project with feedback: {{ rejection_reason }}"
- }
- }
- ]
-}
diff --git a/docs/collections/full/ASSESS.md b/docs/collections/full/ASSESS.md
deleted file mode 100644
index 4772d288..00000000
--- a/docs/collections/full/ASSESS.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-id: {{ id }}
-{{#if step }}step: {{ step }}
-{{/if}}status: {{ status }}
-created: {{ created_datetime }}
-{{#if kind_override }}kind_override: {{ kind_override }}
-{{/if}}---
-
-# Assessment: {{ summary }}
-
-{{#if kind_override }}
-## Kind Override
-{{ kind_override }}
-{{/if}}
diff --git a/docs/collections/full/FIX.md b/docs/collections/full/FIX.md
deleted file mode 100644
index e23158ff..00000000
--- a/docs/collections/full/FIX.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-id: {{ id }}
-{{#if step }}step: {{ step }}
-{{/if}}status: {{ status }}
-created: {{ created_datetime }}
-branch: {{ branch }}
-{{#if priority }}priority: {{ priority }}
-{{/if}}{{#if severity }}severity: {{ severity }}
-{{/if}}{{#if fix_type }}fix_type: {{ fix_type }}
-{{/if}}{{#if parent }}parent: {{ parent }}
-{{/if}}---
-
-# Fix: {{ summary }}
-
-{{#if context }}
-## Context
-{{ context }}
-{{/if}}
diff --git a/docs/collections/full/INIT.json b/docs/collections/full/INIT.json
deleted file mode 100644
index 1c2bf388..00000000
--- a/docs/collections/full/INIT.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
- "$schema": "../../schemas/issuetype_schema.json",
- "key": "INIT",
- "name": "Workspace Init",
- "description": "Initialize workspace structure",
- "mode": "paired",
- "glyph": "%",
- "color": "green",
- "project_required": false,
- "agent_prompt": "Review this workspace to create an agent for workspace initialization. The agent scaffolds the workspace directory structure in .tickets/operator/workspace/, configures project locations and authentication, and verifies tool installation. It works in paired mode with the operator for configuration decisions. Output ONLY the agent system prompt.",
- "fields": [
- {
- "name": "id",
- "description": "Unique ticket identifier",
- "type": "string",
- "required": true,
- "auto": "id",
- "display_order": 0,
- "user_editable": false
- },
- {
- "name": "workspace",
- "description": "Workspace root path",
- "type": "string",
- "required": true,
- "default": "",
- "placeholder": "Path to workspace root",
- "display_order": 1
- },
- {
- "name": "branding_name",
- "description": "Custom branding name",
- "type": "string",
- "required": false,
- "default": "",
- "placeholder": "e.g., My Company Portal",
- "display_order": 2
- },
- {
- "name": "summary",
- "description": "Initialization description",
- "type": "string",
- "required": true,
- "default": "",
- "placeholder": "Initialize workspace",
- "max_length": 120,
- "display_order": 3
- }
- ],
- "steps": [
- {
- "name": "scaffold",
- "display_name": "Scaffolding",
- "outputs": ["code"],
- "prompt": "Create the workspace directory structure:\n\n1. Create `.tickets/operator/workspace/` directory\n2. Generate workspace configuration files\n3. Create standard directory structure\n4. Set up branding directory with defaults\n\nAsk operator for branding preferences if not specified.",
- "allowed_tools": ["Read", "Write", "Bash"],
- "next_step": "configure"
- },
- {
- "name": "configure",
- "display_name": "Configuring",
- "outputs": ["code"],
- "prompt": "Configure workspace for local development:\n\n1. Generate workspace configuration with:\n - File-based catalog locations\n - Local database (SQLite)\n2. Scan workspace for existing catalog-info.yaml files\n3. Add all discovered locations to config\n4. Configure branding if branding_name is set\n\nReview configuration with operator before proceeding.",
- "allowed_tools": ["Read", "Write", "Glob"],
- "review_type": "plan",
- "on_reject": {
- "goto_step": "configure",
- "prompt": "Revise configuration based on feedback: {{ rejection_reason }}"
- },
- "next_step": "verify"
- },
- {
- "name": "verify",
- "display_name": "Verifying",
- "outputs": ["report"],
- "prompt": "Verify the workspace setup:\n\n1. Verify configuration is valid\n2. Check all referenced projects exist\n3. Document setup in `.tickets/operator/workspace/README.md`\n\nReport any issues that need manual resolution.",
- "allowed_tools": ["Read", "Write", "Bash"],
- "review_type": "plan",
- "on_reject": {
- "goto_step": "scaffold",
- "prompt": "Setup verification failed. Re-scaffold with feedback: {{ rejection_reason }}"
- }
- }
- ]
-}
diff --git a/docs/collections/full/INIT.md b/docs/collections/full/INIT.md
deleted file mode 100644
index 05ef2b5d..00000000
--- a/docs/collections/full/INIT.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-id: {{ id }}
-{{#if step }}step: {{ step }}
-{{/if}}workspace: {{ workspace }}
-{{#if branding_name }}branding_name: {{ branding_name }}
-{{/if}}status: {{ status }}
-created: {{ created_datetime }}
----
-
-# Workspace Init: {{ summary }}
-
-## Workspace
-{{ workspace }}
-
-{{#if branding_name }}
-## Branding
-{{ branding_name }}
-{{/if}}
diff --git a/docs/collections/full/INV.json b/docs/collections/full/INV.json
deleted file mode 100644
index 480e502b..00000000
--- a/docs/collections/full/INV.json
+++ /dev/null
@@ -1,137 +0,0 @@
-{
- "$schema": "../../schemas/issuetype_schema.json",
- "key": "INV",
- "name": "Investigation",
- "description": "Incident investigation ticket (paired mode)",
- "mode": "paired",
- "glyph": "!",
- "color": "yellow",
- "project_required": false,
- "agent_prompt": "Review this project and prepare to create an agent for incident investigations. The agent triages issues, investigates root causes, coordinates remediation, and documents postmortems. It works in paired mode with the operator. Output ONLY the agent system prompt.",
- "fields": [
- {
- "name": "id",
- "description": "Unique ticket identifier",
- "type": "string",
- "required": true,
- "auto": "id",
- "display_order": 0,
- "user_editable": false
- },
- {
- "name": "scope",
- "description": "Affected scope/project",
- "type": "enum",
- "required": false,
- "default": "global",
- "options": ["global", "adminsvc", "apisvc", "gamesvc", "g", "hushsvc", "uzersvc", "outboundsvc", "www", "iac", "proto", "e2e", "operator"],
- "display_order": 1
- },
- {
- "name": "severity",
- "description": "Incident severity",
- "type": "enum",
- "required": false,
- "default": "S1-major",
- "options": ["S0-outage", "S1-major", "S2-minor"],
- "display_order": 2
- },
- {
- "name": "source",
- "description": "How the incident was detected",
- "type": "enum",
- "required": false,
- "default": "monitoring",
- "options": ["alert", "user-report", "monitoring", "deploy-failure", "test-failure"],
- "display_order": 3
- },
- {
- "name": "summary",
- "description": "named summary of the failure investigation",
- "type": "string",
- "required": true,
- "default": "",
- "placeholder": "Brief description of the observed failure",
- "max_length": 120,
- "display_order": 4
- },
- {
- "name": "observed_behavior",
- "description": "What is happening? Include error messages, logs",
- "type": "text",
- "required": false,
- "default": "",
- "placeholder": "Error messages, log excerpts, metrics",
- "display_order": 5
- },
- {
- "name": "expected_behavior",
- "description": "What should be happening instead?",
- "type": "text",
- "required": false,
- "default": "",
- "placeholder": "Expected behavior under normal conditions",
- "display_order": 6
- },
- {
- "name": "impact",
- "description": "Users/services affected",
- "type": "string",
- "required": false,
- "default": "",
- "placeholder": "Affected users, services, or systems",
- "display_order": 7
- }
- ],
- "steps": [
- {
- "name": "triage",
- "display_name": "Triage",
- "outputs": ["report"],
- "prompt": "Triage the incident:\n\n1. Confirm the issue is real and ongoing\n2. Assess severity and impact\n3. Identify affected systems\n4. Begin documenting in `.tickets/incidents/{{ id }}.md`\n\nWork with the operator to gather initial information.",
- "allowed_tools": ["Read", "Glob", "Grep", "Bash", "Write"],
- "next_step": "investigate"
- },
- {
- "name": "investigate",
- "display_name": "Investigating",
- "outputs": ["report"],
- "prompt": "Investigate the root cause:\n\n1. Search logs and metrics for anomalies\n2. Trace the error path through the code\n3. Identify recent changes that might be related\n4. Form hypotheses and test them\n5. Update `.tickets/incidents/{{ id }}.md` with findings",
- "allowed_tools": ["Read", "Glob", "Grep", "Bash", "Write"],
- "next_step": "remediate"
- },
- {
- "name": "remediate",
- "display_name": "Remediating",
- "outputs": ["code", "ticket"],
- "prompt": "Determine remediation:\n\n1. If a quick fix is possible, implement it\n2. If a hotfix is needed, create a FIX ticket\n3. If a rollback is needed, coordinate with the operator\n4. Document the resolution in the incident report",
- "allowed_tools": ["Read", "Write", "Edit", "Bash"],
- "review_type": "plan",
- "on_reject": {
- "goto_step": "investigate",
- "prompt": "More investigation needed. Continue searching for the root cause."
- },
- "next_step": "postmortem"
- },
- {
- "name": "postmortem",
- "display_name": "Postmortem",
- "outputs": ["report", "ticket"],
- "prompt": "Complete the postmortem:\n\n1. Finalize the incident report with:\n - Timeline of events\n - Root cause analysis\n - Remediation taken\n - Lessons learned\n2. Create follow-up tickets for preventive measures",
- "allowed_tools": ["Read", "Write", "Bash"],
- "review_type": "plan",
- "on_reject": {
- "goto_step": "postmortem",
- "prompt": "Postmortem needs more detail. Expand the analysis."
- },
- "next_step": "done"
- },
- {
- "name": "done",
- "display_name": "Complete",
- "outputs": ["review"],
- "prompt": "Investigation complete. Move ticket to completed.",
- "allowed_tools": ["Bash"]
- }
- ]
-}
diff --git a/docs/collections/full/INV.md b/docs/collections/full/INV.md
deleted file mode 100644
index b03380c9..00000000
--- a/docs/collections/full/INV.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-id: {{ id }}
-{{#if step }}step: {{ step }}
-{{/if}}{{#if scope }}scope: {{ scope }}
-{{/if}}status: {{ status }}
-created: {{ created_datetime }}
-{{#if severity }}severity: {{ severity }}
-{{/if}}{{#if source }}source: {{ source }}
-{{/if}}---
-
-# Investigation: {{ summary }}
-
-{{#if observed_behavior }}
-## Observed Behavior
-{{ observed_behavior }}
-{{/if}}
-
-{{#if expected_behavior }}
-## Expected Behavior
-{{ expected_behavior }}
-{{/if}}
-
-{{#if impact }}
-## Impact
-{{ impact }}
-{{/if}}
-
-## Timeline
-| Time | Event |
-|------|-------|
-| {{ created_datetime }} | Investigation opened |
-
-## Findings
-
diff --git a/docs/collections/full/SPIKE.json b/docs/collections/full/SPIKE.json
deleted file mode 100644
index a4577402..00000000
--- a/docs/collections/full/SPIKE.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "$schema": "../../schemas/issuetype_schema.json",
- "key": "SPIKE",
- "name": "Spike",
- "description": "Research or exploration ticket (paired mode)",
- "mode": "paired",
- "glyph": "?",
- "color": "blue",
- "project_required": false,
- "agent_prompt": "Review this project and prepare to create an agent for research spikes. The agent works in paired mode, explores the codebase, researches external docs, and documents findings. It should ask questions when uncertain. Output ONLY the agent system prompt.",
- "fields": [
- {
- "name": "id",
- "description": "Unique ticket identifier",
- "type": "string",
- "required": true,
- "auto": "id",
- "display_order": 0,
- "user_editable": false
- },
- {
- "name": "scope",
- "description": "Scope of the spike",
- "type": "enum",
- "required": false,
- "default": "global",
- "options": ["global", "adminsvc", "apisvc", "gamesvc", "g", "hushsvc", "uzersvc", "outboundsvc", "www", "iac", "proto", "e2e", "operator"],
- "display_order": 1
- },
- {
- "name": "priority",
- "description": "Ticket priority level",
- "type": "enum",
- "required": false,
- "default": "P2-medium",
- "options": ["P0-critical", "P1-high", "P2-medium", "P3-low"],
- "display_order": 2
- },
- {
- "name": "summary",
- "description": "Research question or topic",
- "type": "string",
- "required": true,
- "default": "",
- "placeholder": "What needs to be researched or explored?",
- "max_length": 120,
- "display_order": 3
- },
- {
- "name": "user_story",
- "description": "Why is this spike needed? What decision does it inform?",
- "type": "text",
- "required": false,
- "default": "",
- "placeholder": "Background context and what decisions depend on this research",
- "display_order": 4
- },
- {
- "name": "success_criteria",
- "description": "How will we know the spike is complete?",
- "type": "text",
- "required": false,
- "default": "",
- "placeholder": "Questions to answer, deliverables expected",
- "display_order": 5
- }
- ],
- "steps": [
- {
- "name": "explore",
- "display_name": "Exploration",
- "outputs": ["report"],
- "prompt": "This is a research spike. Work with the operator to explore:\n\n1. Read and understand the research question\n2. Search the codebase for relevant patterns\n3. Research external documentation if needed\n4. Discuss findings with the operator\n\nDocument discoveries in `.tickets/spikes/{{ id }}.md`",
- "allowed_tools": ["Read", "Glob", "Grep", "WebFetch", "WebSearch", "Write"],
- "next_step": "summarize"
- },
- {
- "name": "summarize",
- "display_name": "Summarizing",
- "outputs": ["report", "ticket"],
- "prompt": "Summarize findings from the spike:\n\n1. Update `.tickets/spikes/{{ id }}.md` with:\n - Key findings\n - Recommendations\n - Trade-offs identified\n - Open questions\n2. If follow-up work is identified, create ticket(s)",
- "allowed_tools": ["Read", "Write", "Bash"],
- "review_type": "plan",
- "on_reject": {
- "goto_step": "explore",
- "prompt": "More research is needed. Continue exploring with the operator."
- },
- "next_step": "done"
- },
- {
- "name": "done",
- "display_name": "Complete",
- "outputs": ["review"],
- "prompt": "Spike complete. Move ticket to completed.",
- "allowed_tools": ["Bash"]
- }
- ]
-}
diff --git a/docs/collections/full/SPIKE.md b/docs/collections/full/SPIKE.md
deleted file mode 100644
index bfe6f136..00000000
--- a/docs/collections/full/SPIKE.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-id: {{ id }}
-{{#if step }}step: {{ step }}
-{{/if}}{{#if scope }}scope: {{ scope }}
-{{/if}}status: {{ status }}
-created: {{ created_datetime }}
-{{#if priority }}priority: {{ priority }}
-{{/if}}---
-
-# Spike: {{ summary }}
-
-{{#if context }}
-## Context
-{{ context }}
-{{/if}}
-
-{{#if success_criteria }}
-## Success Criteria
-{{ success_criteria }}
-{{/if}}
-
-## Conversation Log
-### Session: {{ created_date }}
-
-## Findings
-
diff --git a/docs/collections/full/SYNC.json b/docs/collections/full/SYNC.json
deleted file mode 100644
index 519cd3b5..00000000
--- a/docs/collections/full/SYNC.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- "$schema": "../../schemas/issuetype_schema.json",
- "key": "SYNC",
- "name": "Catalog Sync",
- "description": "Refresh catalog entries from projects",
- "mode": "autonomous",
- "glyph": "@",
- "color": "blue",
- "project_required": false,
- "agent_prompt": "Review this workspace to create an agent for catalog synchronization. The agent discovers all projects with catalog-info.yaml files, validates them against the catalog schema, checks for inconsistencies, and updates catalog entries as needed. It can run across the entire workspace or target specific projects. Output ONLY the agent system prompt.",
- "fields": [
- {
- "name": "id",
- "description": "Unique ticket identifier",
- "type": "string",
- "required": true,
- "auto": "id",
- "display_order": 0,
- "user_editable": false
- },
- {
- "name": "scope",
- "description": "Sync scope",
- "type": "enum",
- "required": false,
- "default": "all",
- "options": ["all", "changed", "project"],
- "display_order": 1
- },
- {
- "name": "summary",
- "description": "Sync description",
- "type": "string",
- "required": true,
- "default": "",
- "placeholder": "Sync catalog entries",
- "max_length": 120,
- "display_order": 2
- }
- ],
- "steps": [
- {
- "name": "scan",
- "display_name": "Scanning",
- "outputs": ["report"],
- "prompt": "Discover all catalog entries in the workspace:\n\n1. Find all catalog-info.yaml files in projects\n2. Parse each file and validate structure\n3. Build a dependency graph from relations\n4. Identify:\n - New entries (not in catalog)\n - Changed entries (modified since last sync)\n - Removed entries (catalog-info.yaml deleted)\n5. Document findings in `.tickets/syncs/{{ id }}.md`",
- "allowed_tools": ["Read", "Glob", "Grep", "Write"],
- "next_step": "validate"
- },
- {
- "name": "validate",
- "display_name": "Validating",
- "outputs": ["report"],
- "prompt": "Validate all catalog entries:\n\n1. Check each catalog-info.yaml against schema\n2. Verify all referenced entities exist\n3. Check for circular dependencies\n4. Validate owner references\n5. Report any validation errors\n\nUpdate `.tickets/syncs/{{ id }}.md` with validation results.",
- "allowed_tools": ["Read", "Write"],
- "next_step": "update"
- },
- {
- "name": "update",
- "display_name": "Updating",
- "outputs": ["report"],
- "prompt": "Update the project catalog:\n\n1. If catalog server is running, trigger catalog refresh\n2. If file-based, update the locations config\n3. Log all changes made\n4. Verify catalog is consistent after update\n\nComplete the sync report in `.tickets/syncs/{{ id }}.md`.",
- "allowed_tools": ["Read", "Write", "Bash"],
- "review_type": "plan",
- "on_reject": {
- "goto_step": "validate",
- "prompt": "Re-validate with feedback: {{ rejection_reason }}"
- }
- }
- ]
-}
diff --git a/docs/collections/full/SYNC.md b/docs/collections/full/SYNC.md
deleted file mode 100644
index 6838583b..00000000
--- a/docs/collections/full/SYNC.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-id: {{ id }}
-{{#if step }}step: {{ step }}
-{{/if}}scope: {{ scope }}
-status: {{ status }}
-created: {{ created_datetime }}
----
-
-# Catalog Sync: {{ summary }}
-
-## Scope
-{{ scope }}
diff --git a/docs/collections/full/TASK.json b/docs/collections/full/TASK.json
deleted file mode 100644
index 04b95bd2..00000000
--- a/docs/collections/full/TASK.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "$schema": "../../schemas/issuetype_schema.json",
- "key": "TASK",
- "name": "Task",
- "description": "Focused task that executes one specific thing",
- "mode": "autonomous",
- "glyph": ">",
- "color": "cyan",
- "project_required": false,
- "fields": [
- {
- "name": "id",
- "description": "Unique ticket identifier",
- "type": "string",
- "required": true,
- "auto": "id",
- "display_order": 0,
- "user_editable": false
- },
- {
- "name": "priority",
- "description": "Ticket priority level",
- "type": "enum",
- "required": false,
- "default": "P2-medium",
- "options": ["P0-critical", "P1-high", "P2-medium", "P3-low"],
- "display_order": 1
- },
- {
- "name": "summary",
- "description": "One-line description of the task",
- "type": "string",
- "required": true,
- "default": "",
- "placeholder": "Brief description of the task",
- "max_length": 120,
- "display_order": 2
- },
- {
- "name": "description",
- "description": "Detailed description of the task",
- "type": "text",
- "required": true,
- "default": "",
- "placeholder": "Full description of what needs to be done",
- "display_order": 3
- },
- {
- "name": "points",
- "description": "Story points estimate",
- "type": "integer",
- "required": false,
- "default": "0",
- "display_order": 4
- },
- {
- "name": "user_story",
- "description": "User story or background context",
- "type": "text",
- "required": false,
- "default": "",
- "placeholder": "As a USER, I want to X, so I can Y",
- "display_order": 5
- }
- ],
- "steps": [
- {
- "name": "execute",
- "display_name": "Executing",
- "outputs": ["code", "report"],
- "prompt": "Execute this task:\n\n1. Read the ticket summary and context\n2. Explore the codebase as needed\n3. Complete the task as specified\n4. Document what was done\n\nThis is a focused task - complete it directly without creating follow-up tickets or plans.",
- "allowed_tools": ["Read", "Write", "Edit", "Glob", "Grep", "Bash"]
- }
- ]
-}
diff --git a/docs/collections/full/TASK.md b/docs/collections/full/TASK.md
deleted file mode 100644
index b764c240..00000000
--- a/docs/collections/full/TASK.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-id: {{ id }}
-{{#if step }}step: {{ step }}
-{{/if}}status: {{ status }}
-created: {{ created_datetime }}
-{{#if priority }}priority: {{ priority }}
-{{/if}}{{#if points }}points: {{ points }}
-{{/if}}---
-
-# Task: {{ summary }}
-
-## Description
-{{ description }}
-
-{{#if user_story }}
-## User Story
-{{ user_story }}
-{{/if}}
-
-{{#if acceptance_criteria }}
-## Acceptance Criteria
-{{ acceptance_criteria }}
-{{/if}}
-
-## Plan
-*Plan will be written to `.tickets/plans/{{ id }}.md`*
diff --git a/docs/collections/full/collection.json b/docs/collections/full/collection.json
deleted file mode 100644
index 521155bb..00000000
--- a/docs/collections/full/collection.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
- "schema_version": 1,
- "id": "full",
- "name": "Full",
- "description": "Full workflow: all issue types combined",
- "version": "1.0.0",
- "publisher": "untra",
- "author": "Operator!",
- "url": "https://github.com/untra/operator",
- "license": "MIT",
- "tags": [
- "builtin"
- ],
- "compatibility": null,
- "issue_types": [
- {
- "key": "TASK",
- "schema_path": "TASK.json",
- "schema_checksum": "f654229454da050ca038c273cc74884c2dbe68f09b293eee3764f23d6771b939",
- "template_path": "TASK.md",
- "template_checksum": "7a71bf692588af1d1ac5d9192edd64316353ada616e22019dfff7683ab5d09c4"
- },
- {
- "key": "FEAT",
- "schema_path": "FEAT.json",
- "schema_checksum": "f647a5aaec7514f3dfbaad70bc757e3360e49ba7e35ce496e98dec010ea9e51b",
- "template_path": "FEAT.md",
- "template_checksum": "fbc7e17641d8e796dad14c09fe20ffcbbdbdb8f58199b0d29d9e9729b51b4d5a"
- },
- {
- "key": "FIX",
- "schema_path": "FIX.json",
- "schema_checksum": "4deafa08b2dcf1c94462d7079574be05d2efd6ff0abb6036b8fde955dca0e0a1",
- "template_path": "FIX.md",
- "template_checksum": "5237e1faf9b2c49d80fc9efff5a0d3e184f86c4fa5a34ff4dfed26ee883856bf"
- },
- {
- "key": "SPIKE",
- "schema_path": "SPIKE.json",
- "schema_checksum": "1f69f05190fdff5545371c042c388e276accbbb50179ce65365f17dac042c0b5",
- "template_path": "SPIKE.md",
- "template_checksum": "030d37b1b4b3b8a26db62bd590a61fb5b9e01d5a39be6ab771bd56e31179f2c4"
- },
- {
- "key": "INV",
- "schema_path": "INV.json",
- "schema_checksum": "42129e41c6c735adb47061a7d99478a1e4ed9ca5ca9f42b3c300c4a833f9265b",
- "template_path": "INV.md",
- "template_checksum": "65ef45c01d30b93f9d81b830896f20fe4eb9645e82d8e16ea1bd77ac4f359050"
- },
- {
- "key": "ASSESS",
- "schema_path": "ASSESS.json",
- "schema_checksum": "63d218368c58df22606fbd654920edeb304ebc1bc7282501be38ae14027aa9e1",
- "template_path": "ASSESS.md",
- "template_checksum": "e2fb41d771ccf37af6189cdc0ef9b2752d3e1ddb1fa193f0264fbbdd432e7e0f"
- },
- {
- "key": "SYNC",
- "schema_path": "SYNC.json",
- "schema_checksum": "6e52fb05db6e09cd723becb8ffe0388957c639b39fb81efe38d7e9cb8d725e55",
- "template_path": "SYNC.md",
- "template_checksum": "fc5cf44f553720b44ef328c560155fda137102cee28d60505b289d35e45d79cf"
- },
- {
- "key": "INIT",
- "schema_path": "INIT.json",
- "schema_checksum": "bd7387742f9d81e49dcbe05cf25d3db0544e2f48843fb855df881d7ab094a0d6",
- "template_path": "INIT.md",
- "template_checksum": "ff54445fb446a8ba8155e00259ebf44860c2e8d1865df6943ceec648fe3650e8"
- }
- ],
- "workflow_hints": null,
- "default_selected": [
- "TASK",
- "FEAT",
- "FIX",
- "SPIKE",
- "INV",
- "ASSESS",
- "SYNC",
- "INIT"
- ],
- "checksum": "e1f9940d1c3f84b26ec6e574bc4f4804d2f9e6dc64298344ef3c06ec9dabbb77"
-}
diff --git a/docs/collections/index.json b/docs/collections/index.json
index d410a91c..5e9fa533 100644
--- a/docs/collections/index.json
+++ b/docs/collections/index.json
@@ -11,7 +11,9 @@
"builtin"
],
"manifest_path": "simple/collection.json",
- "checksum": "fce81369f98e00ee6fe35194076055b59f4882d8d1613a914bbce660593a05b4"
+ "checksum": "355275423b6acfa32690263fe566ae11641b406db2802c48ac95afdf5733ae0e",
+ "tier": "official",
+ "docs_path": "/workflows/simple/"
},
{
"id": "dev_kanban",
@@ -24,7 +26,9 @@
"dev"
],
"manifest_path": "dev_kanban/collection.json",
- "checksum": "87460062d63068e9e96f6ee628cc466bec6951c0b766f338178b66cb5ac1d23f"
+ "checksum": "62de8ec80b4355bf598df21ab11fabf9c4eb96b0a59b0cb9b188666ab70fa7f0",
+ "tier": "official",
+ "docs_path": "/workflows/dev_kanban/"
},
{
"id": "devops_kanban",
@@ -37,7 +41,9 @@
"devops"
],
"manifest_path": "devops_kanban/collection.json",
- "checksum": "068c5112a615ccc4f9a1c11e0b90c1a193b07e5b07565100880750f1624edaa4"
+ "checksum": "a22d7aabb3f038e9fec83a2559b4f2aead1499abc12419678387a2e47124db1a",
+ "tier": "official",
+ "docs_path": "/workflows/devops_kanban/"
},
{
"id": "operator",
@@ -49,18 +55,9 @@
"automation"
],
"manifest_path": "operator/collection.json",
- "checksum": "9a5aa2ac773bd4e445cb951f870b7e78ff3e0002be9a66bba05c14e9abe9c4f3"
- },
- {
- "id": "full",
- "name": "Full",
- "description": "Full workflow: all issue types combined",
- "version": "1.0.0",
- "tags": [
- "builtin"
- ],
- "manifest_path": "full/collection.json",
- "checksum": "305830707c108a825bd5aab14aaf9e489e0d7b286e36c77269ad0da94420f2d4"
+ "checksum": "af7b34cd0103edd1b3d4d47ca26e9721f7374b4b8d3d94d77b23dc8de19bcf71",
+ "tier": "official",
+ "docs_path": "/workflows/operator/"
},
{
"id": "ralph_loop",
@@ -74,7 +71,9 @@
"ralph"
],
"manifest_path": "ralph_loop/collection.json",
- "checksum": "f37e1379c1ffea6208d25add591daa468b680c2a796b04fc490c0a4e30f96c39"
+ "checksum": "09276da66290f1faf69bc658a050c2f166e831510ac90800e59654f62aee4da4",
+ "tier": "community",
+ "docs_path": "/workflows/ralph_loop/"
},
{
"id": "jr_orchestration",
@@ -88,7 +87,9 @@
"jr"
],
"manifest_path": "jr_orchestration/collection.json",
- "checksum": "e89a9ec49af83f5c431fc95e0418943d7aedc3fd087b5b05ee12b339007c0f39"
+ "checksum": "7deebf57f6542592c30cd633577cdb6ebcee1227dab9adcf9cc0980e155eeaea",
+ "tier": "community",
+ "docs_path": "/workflows/jr_orchestration/"
},
{
"id": "elves_overnight",
@@ -102,7 +103,39 @@
"elves"
],
"manifest_path": "elves_overnight/collection.json",
- "checksum": "1078479804ba0d581bff29d7e153904dee0d46cfb41d4f05841891814a9f62eb"
+ "checksum": "c005292f4779fab887c23bcaf5095cd19ad5aebba221d1ddf41b3895e33143cf",
+ "tier": "community",
+ "docs_path": "/workflows/elves_overnight/"
+ },
+ {
+ "id": "coder",
+ "name": "Coder",
+ "description": "Linear-synced engineering flow: Feature, Improvement, and Bug work delegated to coding agents.",
+ "version": "1.0.0",
+ "tags": [
+ "community",
+ "linear",
+ "kanban",
+ "engineering"
+ ],
+ "manifest_path": "coder/collection.json",
+ "checksum": "27d0ec62188589d54326a913128217b14431b810e8280923d9bf2c4193207284",
+ "tier": "community",
+ "docs_path": "/workflows/coder/"
+ },
+ {
+ "id": "example_chores",
+ "name": "Example Chores",
+ "description": "Minimal example community collection demonstrating the shareable format.",
+ "version": "0.1.0",
+ "tags": [
+ "example",
+ "starter"
+ ],
+ "manifest_path": "example_chores/collection.json",
+ "checksum": "648c10ee77d24be1c2589538663ef4ff30173f74b91fcaa4b4b12adaa90eed46",
+ "tier": "community",
+ "docs_path": "/workflows/example_chores/"
}
]
}
diff --git a/docs/collections/jr_orchestration/collection.json b/docs/collections/jr_orchestration/collection.json
index 889dfba2..fbc78e18 100644
--- a/docs/collections/jr_orchestration/collection.json
+++ b/docs/collections/jr_orchestration/collection.json
@@ -15,6 +15,11 @@
"jr"
],
"compatibility": null,
+ "tier": "community",
+ "icon_path": "icon.svg",
+ "created": "2026-06-16",
+ "updated": "2026-07-01",
+ "kanban_defaults": null,
"issue_types": [
{
"key": "JRPLAN",
diff --git a/docs/collections/jr_orchestration/icon.svg b/docs/collections/jr_orchestration/icon.svg
new file mode 100644
index 00000000..2ebdb4bb
--- /dev/null
+++ b/docs/collections/jr_orchestration/icon.svg
@@ -0,0 +1 @@
+
diff --git a/src/collections/operator/AGENT-SETUP.json b/docs/collections/operator/AGENT_SETUP.json
similarity index 97%
rename from src/collections/operator/AGENT-SETUP.json
rename to docs/collections/operator/AGENT_SETUP.json
index 3826b811..0ff04e9b 100644
--- a/src/collections/operator/AGENT-SETUP.json
+++ b/docs/collections/operator/AGENT_SETUP.json
@@ -1,6 +1,6 @@
{
"$schema": "../../schemas/issuetype_schema.json",
- "key": "AGENT-SETUP",
+ "key": "AGENT_SETUP",
"name": "Agent Setup",
"description": "Set up Claude agent configuration for a project",
"mode": "paired",
@@ -32,7 +32,7 @@
"name": "agent_tool",
"description": "Target agent tool (claude, aider, etc.)",
"type": "enum",
- "values": ["claude", "aider", "gemini"],
+ "options": ["claude", "aider", "gemini"],
"required": true,
"default": "claude",
"display_order": 2
diff --git a/docs/collections/operator/AGENT-SETUP.md b/docs/collections/operator/AGENT_SETUP.md
similarity index 100%
rename from docs/collections/operator/AGENT-SETUP.md
rename to docs/collections/operator/AGENT_SETUP.md
diff --git a/src/collections/operator/PROJECT-INIT.json b/docs/collections/operator/PROJECT_INIT.json
similarity index 98%
rename from src/collections/operator/PROJECT-INIT.json
rename to docs/collections/operator/PROJECT_INIT.json
index 66c72848..b9f5aafb 100644
--- a/src/collections/operator/PROJECT-INIT.json
+++ b/docs/collections/operator/PROJECT_INIT.json
@@ -1,6 +1,6 @@
{
"$schema": "../../schemas/issuetype_schema.json",
- "key": "PROJECT-INIT",
+ "key": "PROJECT_INIT",
"name": "Project Initialization",
"description": "Initialize project with Operator conventions",
"mode": "autonomous",
diff --git a/docs/collections/operator/PROJECT-INIT.md b/docs/collections/operator/PROJECT_INIT.md
similarity index 100%
rename from docs/collections/operator/PROJECT-INIT.md
rename to docs/collections/operator/PROJECT_INIT.md
diff --git a/docs/collections/operator/collection.json b/docs/collections/operator/collection.json
index bfc8425f..4dfe0365 100644
--- a/docs/collections/operator/collection.json
+++ b/docs/collections/operator/collection.json
@@ -13,6 +13,11 @@
"automation"
],
"compatibility": null,
+ "tier": "official",
+ "icon_path": "icon.svg",
+ "created": "2026-01-08",
+ "updated": "2026-07-01",
+ "kanban_defaults": null,
"issue_types": [
{
"key": "ASSESS",
@@ -36,25 +41,42 @@
"template_checksum": "ff54445fb446a8ba8155e00259ebf44860c2e8d1865df6943ceec648fe3650e8"
},
{
- "key": "AGENT-SETUP",
- "schema_path": "AGENT-SETUP.json",
- "schema_checksum": "c611e58617b180838b286ec0907ef11d17e25581f56699cedef4d31c1223b15a",
- "template_path": "AGENT-SETUP.md",
+ "key": "AGENT_SETUP",
+ "schema_path": "AGENT_SETUP.json",
+ "schema_checksum": "6f934f8a688058d85453cf97c39a79a83f71ddce2a1493b9fcfe441ded485d5e",
+ "template_path": "AGENT_SETUP.md",
"template_checksum": "528f9437434e5ed8f8ca2f8e09c3acb04d021e8fa2fbb978cb6aed5c005aa8f7"
},
{
- "key": "PROJECT-INIT",
- "schema_path": "PROJECT-INIT.json",
- "schema_checksum": "0fa43b3dbb839b0a440c2e702a9fd499ebd172bfcaaa4266a20aed7db7c90072",
- "template_path": "PROJECT-INIT.md",
+ "key": "PROJECT_INIT",
+ "schema_path": "PROJECT_INIT.json",
+ "schema_checksum": "3d942d60f658e477043ae294ed8006e5d7d4964771c47470c409ce4ab114b684",
+ "template_path": "PROJECT_INIT.md",
"template_checksum": "767a9a6481908826809222e87a36c840f759047170b0ff9d917ffa2846a19805"
}
],
- "workflow_hints": null,
+ "workflow_hints": {
+ "loop_kind": "single_pass",
+ "memory_surfaces": [
+ "ticket",
+ "catalog-info.yaml",
+ ".claude/agents/"
+ ],
+ "review_gates": [
+ "human"
+ ],
+ "external_tools": [
+ "git"
+ ],
+ "stop_conditions": [
+ "setup_artifacts_written"
+ ],
+ "runner_semantics": "prompt_driven"
+ },
"default_selected": [
"ASSESS",
"SYNC",
"INIT"
],
- "checksum": "4f8f40dde1b85d01d5da929ff4329ea126ffbf9da94c5e5de60154101d1881bd"
+ "checksum": "ec34f16fbf1571e7662b85074f857f19656ae704569a5be083e49d1c5f741069"
}
diff --git a/docs/collections/operator/icon.svg b/docs/collections/operator/icon.svg
new file mode 100644
index 00000000..7ce0d33f
--- /dev/null
+++ b/docs/collections/operator/icon.svg
@@ -0,0 +1 @@
+
diff --git a/docs/collections/ralph_loop/collection.json b/docs/collections/ralph_loop/collection.json
index b75a4d14..f5f05ad4 100644
--- a/docs/collections/ralph_loop/collection.json
+++ b/docs/collections/ralph_loop/collection.json
@@ -15,6 +15,11 @@
"ralph"
],
"compatibility": null,
+ "tier": "community",
+ "icon_path": "icon.svg",
+ "created": "2026-06-16",
+ "updated": "2026-07-01",
+ "kanban_defaults": null,
"issue_types": [
{
"key": "PRD",
diff --git a/docs/collections/ralph_loop/icon.svg b/docs/collections/ralph_loop/icon.svg
new file mode 100644
index 00000000..55e80009
--- /dev/null
+++ b/docs/collections/ralph_loop/icon.svg
@@ -0,0 +1 @@
+
diff --git a/docs/collections/schema.json b/docs/collections/schema.json
index d889f9dc..c0826f6c 100644
--- a/docs/collections/schema.json
+++ b/docs/collections/schema.json
@@ -21,6 +21,38 @@
"url": { "type": ["string", "null"], "description": "Link to the collection's source (GitHub repo or project page)." },
"license": { "type": ["string", "null"], "description": "SPDX license id." },
"tags": { "type": "array", "items": { "type": "string" } },
+ "tier": {
+ "type": "string",
+ "enum": ["official", "community"],
+ "default": "official",
+ "description": "Provenance tier: who authored and maintains the collection. Orthogonal to distribution (curated community-authored collections may ship embedded)."
+ },
+ "icon_path": {
+ "type": ["string", "null"],
+ "description": "Bare filename of the collection's SVG icon, next to the manifest. Must satisfy the Simple Icons shape (24x24 viewBox, single path, no fill/stroke so it inherits currentColor). Deliberately not checksummed: presentational, never executed. Required for community-tier collections."
+ },
+ "created": {
+ "type": ["string", "null"],
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
+ "description": "ISO-8601 date (YYYY-MM-DD) the collection was first published."
+ },
+ "updated": {
+ "type": ["string", "null"],
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
+ "description": "ISO-8601 date (YYYY-MM-DD) of the last substantive revision."
+ },
+ "kanban_defaults": {
+ "type": ["object", "null"],
+ "description": "Descriptive kanban onboarding defaults. v1 is metadata only: suggestions seed the onboarding mapping UI but do not drive sync behavior.",
+ "additionalProperties": false,
+ "properties": {
+ "suggested_type_mappings": {
+ "type": "object",
+ "additionalProperties": { "type": "string" },
+ "description": "Suggested provider issue-type NAME -> collection issuetype key."
+ }
+ }
+ },
"compatibility": {
"type": ["object", "null"],
"additionalProperties": false,
diff --git a/docs/collections/search.json b/docs/collections/search.json
new file mode 100644
index 00000000..2341a0e2
--- /dev/null
+++ b/docs/collections/search.json
@@ -0,0 +1,592 @@
+{
+ "schema_version": 1,
+ "collections": [
+ {
+ "id": "simple",
+ "name": "Simple",
+ "description": "Simple workflow with TASK only",
+ "version": "1.0.0",
+ "tier": "official",
+ "author": "Operator!",
+ "publisher": "untra",
+ "url": "https://github.com/untra/operator",
+ "license": "MIT",
+ "tags": [
+ "builtin"
+ ],
+ "created": "2026-01-08",
+ "updated": "2026-07-01",
+ "icon_path": "simple/icon.svg",
+ "docs_path": "/workflows/simple/",
+ "manifest_path": "simple/collection.json",
+ "issue_type_count": 1,
+ "issue_types": [
+ {
+ "key": "TASK",
+ "name": "Task",
+ "mode": "autonomous",
+ "glyph": ">",
+ "step_count": 1,
+ "schema_path": "TASK.json"
+ }
+ ],
+ "loop_kind": "single_pass",
+ "review_gates": [],
+ "stop_conditions": [
+ "task_complete"
+ ],
+ "memory_surfaces": [
+ "ticket"
+ ],
+ "search_text": "autonomous builtin mit official only operator simple single_pass task untra with workflow"
+ },
+ {
+ "id": "dev_kanban",
+ "name": "Dev Kanban",
+ "description": "Developer kanban with TASK, FEAT, FIX",
+ "version": "1.0.0",
+ "tier": "official",
+ "author": "Operator!",
+ "publisher": "untra",
+ "url": "https://github.com/untra/operator",
+ "license": "MIT",
+ "tags": [
+ "builtin",
+ "kanban",
+ "dev"
+ ],
+ "created": "2026-01-08",
+ "updated": "2026-06-16",
+ "icon_path": "dev_kanban/icon.svg",
+ "docs_path": "/workflows/dev_kanban/",
+ "manifest_path": "dev_kanban/collection.json",
+ "issue_type_count": 3,
+ "issue_types": [
+ {
+ "key": "TASK",
+ "name": "Task",
+ "mode": "autonomous",
+ "glyph": ">",
+ "step_count": 1,
+ "schema_path": "TASK.json"
+ },
+ {
+ "key": "FEAT",
+ "name": "Feature",
+ "mode": "autonomous",
+ "glyph": "*",
+ "step_count": 5,
+ "schema_path": "FEAT.json"
+ },
+ {
+ "key": "FIX",
+ "name": "Fix",
+ "mode": "autonomous",
+ "glyph": "#",
+ "step_count": 5,
+ "schema_path": "FIX.json"
+ }
+ ],
+ "loop_kind": "single_pass",
+ "review_gates": [
+ "test_suite"
+ ],
+ "stop_conditions": [
+ "tests_green"
+ ],
+ "memory_surfaces": [
+ "ticket"
+ ],
+ "search_text": "autonomous builtin dev dev_kanban developer feat feature fix kanban mit official operator single_pass task test_suite untra with"
+ },
+ {
+ "id": "devops_kanban",
+ "name": "DevOps Kanban",
+ "description": "DevOps kanban with TASK, FEAT, FIX, SPIKE, INV",
+ "version": "1.0.0",
+ "tier": "official",
+ "author": "Operator!",
+ "publisher": "untra",
+ "url": "https://github.com/untra/operator",
+ "license": "MIT",
+ "tags": [
+ "builtin",
+ "kanban",
+ "devops"
+ ],
+ "created": "2026-01-08",
+ "updated": "2026-06-16",
+ "icon_path": "devops_kanban/icon.svg",
+ "docs_path": "/workflows/devops_kanban/",
+ "manifest_path": "devops_kanban/collection.json",
+ "issue_type_count": 5,
+ "issue_types": [
+ {
+ "key": "TASK",
+ "name": "Task",
+ "mode": "autonomous",
+ "glyph": ">",
+ "step_count": 1,
+ "schema_path": "TASK.json"
+ },
+ {
+ "key": "FEAT",
+ "name": "Feature",
+ "mode": "autonomous",
+ "glyph": "*",
+ "step_count": 5,
+ "schema_path": "FEAT.json"
+ },
+ {
+ "key": "FIX",
+ "name": "Fix",
+ "mode": "autonomous",
+ "glyph": "#",
+ "step_count": 5,
+ "schema_path": "FIX.json"
+ },
+ {
+ "key": "SPIKE",
+ "name": "Spike",
+ "mode": "paired",
+ "glyph": "?",
+ "step_count": 3,
+ "schema_path": "SPIKE.json"
+ },
+ {
+ "key": "INV",
+ "name": "Investigation",
+ "mode": "paired",
+ "glyph": "!",
+ "step_count": 5,
+ "schema_path": "INV.json"
+ }
+ ],
+ "loop_kind": "review_loop",
+ "review_gates": [
+ "human",
+ "test_suite"
+ ],
+ "stop_conditions": [
+ "tests_green",
+ "review_approved"
+ ],
+ "memory_surfaces": [
+ "ticket",
+ "scratchpad"
+ ],
+ "search_text": "autonomous builtin devops devops_kanban feat feature fix human inv investigation kanban mit official operator paired review_loop spike task test_suite untra with"
+ },
+ {
+ "id": "operator",
+ "name": "Operator",
+ "description": "Operator automation tasks: ASSESS, SYNC, INIT",
+ "version": "1.0.0",
+ "tier": "official",
+ "author": "Operator!",
+ "publisher": "untra",
+ "url": "https://github.com/untra/operator",
+ "license": "MIT",
+ "tags": [
+ "builtin",
+ "automation"
+ ],
+ "created": "2026-01-08",
+ "updated": "2026-07-01",
+ "icon_path": "operator/icon.svg",
+ "docs_path": "/workflows/operator/",
+ "manifest_path": "operator/collection.json",
+ "issue_type_count": 5,
+ "issue_types": [
+ {
+ "key": "ASSESS",
+ "name": "Project Assessment",
+ "mode": "autonomous",
+ "glyph": "~",
+ "step_count": 2,
+ "schema_path": "ASSESS.json"
+ },
+ {
+ "key": "SYNC",
+ "name": "Catalog Sync",
+ "mode": "autonomous",
+ "glyph": "@",
+ "step_count": 3,
+ "schema_path": "SYNC.json"
+ },
+ {
+ "key": "INIT",
+ "name": "Workspace Init",
+ "mode": "paired",
+ "glyph": "%",
+ "step_count": 3,
+ "schema_path": "INIT.json"
+ },
+ {
+ "key": "AGENT_SETUP",
+ "name": "Agent Setup",
+ "mode": "paired",
+ "glyph": "@",
+ "step_count": 3,
+ "schema_path": "AGENT_SETUP.json"
+ },
+ {
+ "key": "PROJECT_INIT",
+ "name": "Project Initialization",
+ "mode": "autonomous",
+ "glyph": "*",
+ "step_count": 2,
+ "schema_path": "PROJECT_INIT.json"
+ }
+ ],
+ "loop_kind": "single_pass",
+ "review_gates": [
+ "human"
+ ],
+ "stop_conditions": [
+ "setup_artifacts_written"
+ ],
+ "memory_surfaces": [
+ "ticket",
+ "catalog-info.yaml",
+ ".claude/agents/"
+ ],
+ "search_text": "agent agent_setup assess assessment automation autonomous builtin catalog human init initialization mit official operator paired project project_init setup single_pass sync tasks untra workspace"
+ },
+ {
+ "id": "ralph_loop",
+ "name": "Ralph Loop",
+ "description": "PRD-to-story loop for completing one right-sized story per fresh agent context.",
+ "version": "1.0.0",
+ "tier": "community",
+ "author": "snarktank",
+ "publisher": "untra",
+ "url": "https://github.com/snarktank/ralph",
+ "license": "MIT",
+ "tags": [
+ "agentic-loop",
+ "prd",
+ "stories",
+ "ralph"
+ ],
+ "created": "2026-06-16",
+ "updated": "2026-07-01",
+ "icon_path": "ralph_loop/icon.svg",
+ "docs_path": "/workflows/ralph_loop/",
+ "manifest_path": "ralph_loop/collection.json",
+ "issue_type_count": 3,
+ "issue_types": [
+ {
+ "key": "PRD",
+ "name": "Product Requirements Document",
+ "mode": "paired",
+ "glyph": "P",
+ "step_count": 4,
+ "schema_path": "PRD.json"
+ },
+ {
+ "key": "STORY",
+ "name": "Ralph Story",
+ "mode": "autonomous",
+ "glyph": "S",
+ "step_count": 5,
+ "schema_path": "STORY.json"
+ },
+ {
+ "key": "RLOOP",
+ "name": "Ralph Loop Coordinator",
+ "mode": "paired",
+ "glyph": "R",
+ "step_count": 4,
+ "schema_path": "RLOOP.json"
+ }
+ ],
+ "loop_kind": "fresh_context_story_loop",
+ "review_gates": [
+ "plan_review",
+ "test_suite",
+ "story_completion_check"
+ ],
+ "stop_conditions": [
+ "all stories have passes=true",
+ "blocked story documented",
+ "quality gates fail repeatedly",
+ "max_iterations reached (advisory; outer story loop is operator-queue-driven)"
+ ],
+ "memory_surfaces": [
+ ".tickets/workflows/{{ id }}/prd.json",
+ ".tickets/workflows/{{ id }}/progress.txt",
+ "AGENTS.md"
+ ],
+ "search_text": "agent agentic-loop autonomous community completing context coordinator document for fresh fresh_context_story_loop loop mit one paired per plan_review prd prd-to-story product ralph ralph_loop requirements right-sized rloop snarktank stories story story_completion_check test_suite untra"
+ },
+ {
+ "id": "jr_orchestration",
+ "name": "JR Orchestration",
+ "description": "Feature/task orchestration with coder, reviewer, architect, and rebase work units.",
+ "version": "1.0.0",
+ "tier": "community",
+ "author": "snapwich",
+ "publisher": "untra",
+ "url": "https://github.com/snapwich/jr",
+ "license": "MIT",
+ "tags": [
+ "agentic-loop",
+ "feature-graph",
+ "review",
+ "jr"
+ ],
+ "created": "2026-06-16",
+ "updated": "2026-07-01",
+ "icon_path": "jr_orchestration/icon.svg",
+ "docs_path": "/workflows/jr_orchestration/",
+ "manifest_path": "jr_orchestration/collection.json",
+ "issue_type_count": 5,
+ "issue_types": [
+ {
+ "key": "JRPLAN",
+ "name": "JR Plan",
+ "mode": "paired",
+ "glyph": "J",
+ "step_count": 4,
+ "schema_path": "JRPLAN.json"
+ },
+ {
+ "key": "JRFEAT",
+ "name": "JR Feature",
+ "mode": "paired",
+ "glyph": "F",
+ "step_count": 4,
+ "schema_path": "JRFEAT.json"
+ },
+ {
+ "key": "JRTASK",
+ "name": "JR Task",
+ "mode": "autonomous",
+ "glyph": "T",
+ "step_count": 5,
+ "schema_path": "JRTASK.json"
+ },
+ {
+ "key": "JRREV",
+ "name": "JR Review",
+ "mode": "paired",
+ "glyph": "V",
+ "step_count": 4,
+ "schema_path": "JRREV.json"
+ },
+ {
+ "key": "JRREBASE",
+ "name": "JR Rebase",
+ "mode": "autonomous",
+ "glyph": "B",
+ "step_count": 4,
+ "schema_path": "JRREBASE.json"
+ }
+ ],
+ "loop_kind": "feature_task_review_graph",
+ "review_gates": [
+ "code_review",
+ "architect_review",
+ "human_pr_review"
+ ],
+ "stop_conditions": [
+ "feature PR ready for human review",
+ "review changes requested",
+ "blocked dependency documented",
+ "review escalated to human after repeated changes (operator stops; no auto-handoff)"
+ ],
+ "memory_surfaces": [
+ ".tickets/jr/{{ id }}/plan.md",
+ ".tickets/jr/{{ feature_id }}/handoff.md",
+ "ticket parent/dependency notes"
+ ],
+ "search_text": "agentic-loop and architect architect_review autonomous code_review coder community feature feature-graph feature/task feature_task_review_graph human_pr_review jr jr_orchestration jrfeat jrplan jrrebase jrrev jrtask mit orchestration paired plan rebase review reviewer snapwich task units untra with work"
+ },
+ {
+ "id": "elves_overnight",
+ "name": "Elves Overnight",
+ "description": "Long-running staged batch workflow with durable memory, validation, PR review, and reporting.",
+ "version": "1.0.0",
+ "tier": "community",
+ "author": "Aigora",
+ "publisher": "untra",
+ "url": "https://github.com/aigorahub/elves",
+ "license": "MIT",
+ "tags": [
+ "agentic-loop",
+ "overnight",
+ "batch",
+ "elves"
+ ],
+ "created": "2026-06-16",
+ "updated": "2026-07-01",
+ "icon_path": "elves_overnight/icon.svg",
+ "docs_path": "/workflows/elves_overnight/",
+ "manifest_path": "elves_overnight/collection.json",
+ "issue_type_count": 4,
+ "issue_types": [
+ {
+ "key": "ELVSTAGE",
+ "name": "Elves Stage",
+ "mode": "paired",
+ "glyph": "E",
+ "step_count": 4,
+ "schema_path": "ELVSTAGE.json"
+ },
+ {
+ "key": "ELVBATCH",
+ "name": "Elves Batch",
+ "mode": "autonomous",
+ "glyph": "B",
+ "step_count": 9,
+ "schema_path": "ELVBATCH.json"
+ },
+ {
+ "key": "LANDPR",
+ "name": "Land Pull Request",
+ "mode": "paired",
+ "glyph": "L",
+ "step_count": 6,
+ "schema_path": "LANDPR.json"
+ },
+ {
+ "key": "ELVRPT",
+ "name": "Elves Report",
+ "mode": "paired",
+ "glyph": "R",
+ "step_count": 3,
+ "schema_path": "ELVRPT.json"
+ }
+ ],
+ "loop_kind": "staged_long_running_batch_loop",
+ "review_gates": [
+ "stage_review",
+ "batch_validation",
+ "fresh_review",
+ "judge_verdict",
+ "human_land_gate"
+ ],
+ "stop_conditions": [
+ "batch complete and checkpointed",
+ "validation cannot be repaired safely",
+ "PR has unresolved requested changes",
+ "time/risk budget exhausted"
+ ],
+ "memory_surfaces": [
+ "docs/elves/survival-guide.md",
+ "docs/elves/execution-log.md",
+ "docs/elves/learnings.md",
+ ".elves-session.json",
+ "PR comments and checks"
+ ],
+ "search_text": "agentic-loop aigora and autonomous batch batch_validation community durable elvbatch elves elves_overnight elvrpt elvstage fresh_review human_land_gate judge_verdict land landpr long-running memory mit overnight paired pr pull report reporting request review stage stage_review staged staged_long_running_batch_loop untra validation with workflow"
+ },
+ {
+ "id": "coder",
+ "name": "Coder",
+ "description": "Linear-synced engineering flow: Feature, Improvement, and Bug work delegated to coding agents.",
+ "version": "1.0.0",
+ "tier": "community",
+ "author": "untra",
+ "publisher": "untra",
+ "url": "https://github.com/untra/operator",
+ "license": "MIT",
+ "tags": [
+ "community",
+ "linear",
+ "kanban",
+ "engineering"
+ ],
+ "created": "2026-08-01",
+ "updated": "2026-08-01",
+ "icon_path": "coder/icon.svg",
+ "docs_path": "/workflows/coder/",
+ "manifest_path": "coder/collection.json",
+ "issue_type_count": 3,
+ "issue_types": [
+ {
+ "key": "FEATURE",
+ "name": "Feature",
+ "mode": "autonomous",
+ "glyph": "+",
+ "step_count": 5,
+ "schema_path": "FEATURE.json"
+ },
+ {
+ "key": "IMPROVEMENT",
+ "name": "Improvement",
+ "mode": "autonomous",
+ "glyph": "^",
+ "step_count": 4,
+ "schema_path": "IMPROVEMENT.json"
+ },
+ {
+ "key": "BUG",
+ "name": "Bug",
+ "mode": "autonomous",
+ "glyph": "x",
+ "step_count": 5,
+ "schema_path": "BUG.json"
+ }
+ ],
+ "loop_kind": "kanban_synced_single_pass",
+ "review_gates": [
+ "plan_review",
+ "test_suite",
+ "pr_review"
+ ],
+ "stop_conditions": [
+ "tests_green",
+ "pr_created"
+ ],
+ "memory_surfaces": [
+ "ticket",
+ ".tickets/plans/{{ id }}.md"
+ ],
+ "search_text": "agents and autonomous bug coder coding community delegated engineering feature flow improvement kanban kanban_synced_single_pass linear linear-synced mit plan_review pr_review test_suite to untra work"
+ },
+ {
+ "id": "example_chores",
+ "name": "Example Chores",
+ "description": "Minimal example community collection demonstrating the shareable format.",
+ "version": "0.1.0",
+ "tier": "community",
+ "author": "untra",
+ "publisher": null,
+ "url": "https://github.com/untra/operator",
+ "license": "MIT",
+ "tags": [
+ "example",
+ "starter"
+ ],
+ "created": "2026-07-01",
+ "updated": "2026-07-01",
+ "icon_path": "example_chores/icon.svg",
+ "docs_path": "/workflows/example_chores/",
+ "manifest_path": "example_chores/collection.json",
+ "issue_type_count": 1,
+ "issue_types": [
+ {
+ "key": "CHORE",
+ "name": "Chore",
+ "mode": "autonomous",
+ "glyph": "*",
+ "step_count": 2,
+ "schema_path": "CHORE.json"
+ }
+ ],
+ "loop_kind": "single_pass",
+ "review_gates": [
+ "test_suite"
+ ],
+ "stop_conditions": [
+ "tests_green"
+ ],
+ "memory_surfaces": [
+ "ticket"
+ ],
+ "search_text": "autonomous chore chores collection community demonstrating example example_chores format minimal mit shareable single_pass starter test_suite the untra"
+ }
+ ]
+}
diff --git a/docs/collections/simple/collection.json b/docs/collections/simple/collection.json
index 79d68938..b5d80e68 100644
--- a/docs/collections/simple/collection.json
+++ b/docs/collections/simple/collection.json
@@ -12,6 +12,11 @@
"builtin"
],
"compatibility": null,
+ "tier": "official",
+ "icon_path": "icon.svg",
+ "created": "2026-01-08",
+ "updated": "2026-07-01",
+ "kanban_defaults": null,
"issue_types": [
{
"key": "TASK",
@@ -21,7 +26,18 @@
"template_checksum": "7a71bf692588af1d1ac5d9192edd64316353ada616e22019dfff7683ab5d09c4"
}
],
- "workflow_hints": null,
+ "workflow_hints": {
+ "loop_kind": "single_pass",
+ "memory_surfaces": [
+ "ticket"
+ ],
+ "review_gates": [],
+ "external_tools": [],
+ "stop_conditions": [
+ "task_complete"
+ ],
+ "runner_semantics": "prompt_driven"
+ },
"default_selected": [
"TASK"
],
diff --git a/docs/collections/simple/icon.svg b/docs/collections/simple/icon.svg
new file mode 100644
index 00000000..35bac239
--- /dev/null
+++ b/docs/collections/simple/icon.svg
@@ -0,0 +1 @@
+
diff --git a/docs/design-system/index.md b/docs/design-system/index.md
index 375812de..22d49edf 100644
--- a/docs/design-system/index.md
+++ b/docs/design-system/index.md
@@ -65,7 +65,7 @@ identically.
| **Docs site** (Jekyll) | `docs/assets/css/main.css` | Links `tokens.css`; style with `var(--...)`, never raw hex. |
| **Embedded SPA** (Vite/React) | `ui/src/index.css` + `*.module.css` | Imports `tokens.css`; uses semantic tokens, never raw hex. |
| **Ratatui TUI** | `src/ui/*.rs` | Terminal can't render hex — map a semantic **role to ANSI** (danger→Red, success→Green, warning→Yellow, focus→Cyan). |
-| **VS Code webview** (MUI) | `vscode-extension/webview-ui/` | Defers to the VS Code host theme; brand only as accents via `OPERATOR_BRAND`. Never overrides the editor theme. |
+| **VS Code webview** | `vscode-extension/webview-ui/` | Defers to the VS Code host theme via raw `var(--vscode-*)` custom properties (`styles/webview.css`); brand only as `--op-*` accents. Never overrides the editor theme. No MUI/CSS-in-JS. |
## Concept icons (codicons)
@@ -118,6 +118,46 @@ was resolved as kanban→`layout`, projects→`project`.
> the font/CSS **code** is MIT, © Microsoft. The webfont is vendored under
> `docs/assets/` and bundled into the SPA via `@vscode/codicons`.
+## Brand & collection icons (SVG)
+
+Codicons cover concepts. Everything else — provider logos, collection glyphs — is a hand-shipped SVG, and every one of them follows the **Operator icon standard**: a single monochrome `` on a 24×24 canvas carrying no color or
+size of its own.
+
+That shape is what makes one file work on all four surfaces at once. The docs
+site inlines collection icons directly into generated HTML, the SPA loads them
+through `
`, and both themes recolor them from context.
+
+| Rule | Why |
+|------|-----|
+| `viewBox="0 0 24 24"` | One coordinate space, so icons are interchangeable and align optically when mixed |
+| `role="img"` + exactly one `` | The glyph is content, not decoration; assistive tech needs a name |
+| Exactly one `` | A single shape can be recolored, masked, or inlined as a unit |
+| No other elements | `` depends on per-surface fonts; ``/`