From 5505ec8cef008398b4d86f79d5a935b48eeaf418 Mon Sep 17 00:00:00 2001 From: Kurtis Jantzen Date: Thu, 10 Sep 2026 14:52:41 -0700 Subject: [PATCH 1/2] Teach JSON-default CLI workflows and regenerate skill documentation --- AGENTS.md | 15 ++++- CONTRIBUTING.md | 14 ++++ plugins/screenrig/CONTRIBUTING.md | 14 ++++ plugins/screenrig/skills/screenrig/SKILL.md | 17 +++-- .../screenrig/references/applications.md | 20 +++--- .../skills/screenrig/references/commands.md | 9 ++- .../skills/screenrig/references/compose.md | 14 ++-- .../screenrig/references/installation.md | 20 ++++-- .../skills/screenrig/references/media.md | 18 ++--- .../skills/screenrig/references/operations.md | 39 +++++------ .../skills/screenrig/references/playlists.md | 10 +-- scripts/build-plugin.py | 67 ++++++++++++++++--- scripts/test-docs-only.py | 63 +++++++++++++++++ scripts/validate-plugin.py | 4 +- skills/screenrig/SKILL.md | 17 +++-- skills/screenrig/references/applications.md | 20 +++--- skills/screenrig/references/commands.md | 9 ++- skills/screenrig/references/compose.md | 14 ++-- skills/screenrig/references/installation.md | 20 ++++-- skills/screenrig/references/media.md | 18 ++--- skills/screenrig/references/operations.md | 39 +++++------ skills/screenrig/references/playlists.md | 10 +-- 22 files changed, 326 insertions(+), 145 deletions(-) create mode 100644 scripts/test-docs-only.py diff --git a/AGENTS.md b/AGENTS.md index 0926dd49..6a35ab08 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -34,6 +34,10 @@ does not require that file for standalone contribution. - Never edit `plugins/screenrig/` independently. Change canonical inputs and regenerate. +- For documentation-only updates, `scripts/build-plugin.py --docs-only` + refreshes canonical public files and skills in an existing bundle. Check with + `--docs-only --check`. It preserves the CLI, manifests and provenance; full + artifact generation and validation are still required before release. - After packing, write `components.lock.json` as provenance of that tarball. Do not refetch a pinned CLI SHA. - Keep Codex and Claude marketplace metadata, generated manifests, public @@ -55,12 +59,16 @@ marketplace listing unless the user asks. marketplace commands, with Grok `--trust` named and `GROK_PLUGIN_ROOT` lookup. - After install, prepend `$SCREENRIG_PLUGIN_ROOT/skills/screenrig/scripts` to - `PATH` once, then run `screenrig --json version`, + `PATH` once, then run `screenrig version`, `screenrig-plugin-freshness --json`, `doctor`, then content work. Do not export `SR`. Do not teach `npm i -g screenrig`. - Teach implemented account enrollment, connection and Player pairing in the operating skill, without making them the marketplace sales pitch. -- Keep `--json` envelopes. Never teach a token flag or pasted bearer. +- Operational commands use JSON envelopes by default with the JSON-default CLI; + `--json` remains compatible and `--human` opts into manual text output. Help + stays readable unless `--json` is explicit. Do not combine the output flags. + Keep explicit `--json` for the separate freshness helper and scripts that + must remain compatible with older bundles. Never teach a token flag or pasted bearer. - Never write MCP. `validate-plugin.py` rejects MCP manifests. - Keep the skill operational: launcher, first-use account state, supported task paths, errors and verification. Put detailed command families in references. @@ -79,11 +87,12 @@ host paths, no local listener service, no internal tooling names. ```sh python3 scripts/check-public-repo.py -plugins/screenrig/skills/screenrig/scripts/screenrig --json version +plugins/screenrig/skills/screenrig/scripts/screenrig version python3 scripts/build-plugin.py --check --cli-artifact python3 scripts/validate-plugin.py --cli-artifact python3 scripts/test-skill-commands.py python3 scripts/test-plugin-freshness.py +python3 scripts/test-docs-only.py ``` These gates do not prove marketplace installation, live API use, native diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5713e9a5..4fdf0634 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -15,3 +15,17 @@ belong here. The source and generated skill must travel with the same CLI bundle Skill validation checks command availability, references, launcher/version flow, error handling and secret boundaries. It does not require marketing sentences. + +The canonical skill's operational examples target JSON-default CLI output. +`--json` stays compatible, `--human` selects manual text, and help remains +readable by default. Runtime helpers retain explicit `--json` for +compatibility; the freshness helper itself still requires it. Normal skill +examples use the default, including version bootstrap. + +For documentation-only work, `python3 scripts/build-plugin.py --docs-only` +refreshes canonical public files and skills in the existing generated bundle. +Verify those copies with `python3 scripts/build-plugin.py --docs-only --check`. +This preserves the bundled CLI, manifests and artifact provenance; it does not +establish that the executable supports newly documented behavior. Before +release, run the full build and validation against the CLI artifact containing +the documented changes. diff --git a/plugins/screenrig/CONTRIBUTING.md b/plugins/screenrig/CONTRIBUTING.md index 5713e9a5..4fdf0634 100644 --- a/plugins/screenrig/CONTRIBUTING.md +++ b/plugins/screenrig/CONTRIBUTING.md @@ -15,3 +15,17 @@ belong here. The source and generated skill must travel with the same CLI bundle Skill validation checks command availability, references, launcher/version flow, error handling and secret boundaries. It does not require marketing sentences. + +The canonical skill's operational examples target JSON-default CLI output. +`--json` stays compatible, `--human` selects manual text, and help remains +readable by default. Runtime helpers retain explicit `--json` for +compatibility; the freshness helper itself still requires it. Normal skill +examples use the default, including version bootstrap. + +For documentation-only work, `python3 scripts/build-plugin.py --docs-only` +refreshes canonical public files and skills in the existing generated bundle. +Verify those copies with `python3 scripts/build-plugin.py --docs-only --check`. +This preserves the bundled CLI, manifests and artifact provenance; it does not +establish that the executable supports newly documented behavior. Before +release, run the full build and validation against the CLI artifact containing +the documented changes. diff --git a/plugins/screenrig/skills/screenrig/SKILL.md b/plugins/screenrig/skills/screenrig/SKILL.md index 1f5dc433..c41356e7 100644 --- a/plugins/screenrig/skills/screenrig/SKILL.md +++ b/plugins/screenrig/skills/screenrig/SKILL.md @@ -18,7 +18,7 @@ launcher on this shell's PATH. Never substitute a global or source-checkout bina SCREENRIG_PLUGIN_ROOT="${GROK_PLUGIN_ROOT:-${CODEX_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT:-${PLUGIN_ROOT:-}}}}" if [ -n "$SCREENRIG_PLUGIN_ROOT" ]; then PATH="$SCREENRIG_PLUGIN_ROOT/skills/screenrig/scripts:$PATH" - screenrig --json version + screenrig version fi ``` @@ -31,7 +31,7 @@ Require a successful version envelope, then run: ```bash screenrig-plugin-freshness --json -screenrig --json doctor +screenrig doctor ``` For freshness, `keep` means continue, `refresh` means update the plugin using the @@ -49,7 +49,7 @@ For a new account, obtain the user's contact email and use the supported explici step: ```bash -screenrig --json agent enroll --email ADDRESS +screenrig agent enroll --email ADDRESS ``` Use the user's actual address. For an existing account, use `agent connect` and @@ -62,8 +62,8 @@ shows a setup code, use `screen pair CODE` with that code. A missing screen is n reason to assign to another screen or invent an identifier. ```bash -screenrig --json screen list -screenrig --json screen show SCREEN_ID +screenrig screen list +screenrig screen show SCREEN_ID ``` ## Choose the content path @@ -110,7 +110,12 @@ provides a compact reference for supported operations. ## Responses, retries and secrets -Use `--json`. Branch on `ok`, `error.status`, `error.code` and `warnings[].code`, +Operational commands return JSON envelopes by default; `--json` remains a +compatible explicit choice. Use `--human` only for manual inspection, never +together with `--json`. Help and bare command groups are readable by default; +`--json --help` returns structured help. Progress stays on stderr; parse stdout +separately. `events follow` emits one JSON envelope per line (NDJSON). +Branch on `ok`, `error.status`, `error.code` and `warnings[].code`, not prose. Follow an applicable `error.next.command` without inventing flags. On a revision conflict, refetch and reconcile the intended change. After an ambiguous write, retry with the same idempotency key and same request, not a new write. diff --git a/plugins/screenrig/skills/screenrig/references/applications.md b/plugins/screenrig/skills/screenrig/references/applications.md index f2d5d73b..19cd9f97 100644 --- a/plugins/screenrig/skills/screenrig/references/applications.md +++ b/plugins/screenrig/skills/screenrig/references/applications.md @@ -17,7 +17,7 @@ reaches `window.screenrig` at runtime with no build step and no dependency to install. ```bash -screenrig --json app upload ./lobby-board --name "Lobby board" +screenrig app upload ./lobby-board --name "Lobby board" ``` `app upload` waits for the publication operation by default. Read three fields @@ -35,8 +35,8 @@ first immutable release. To repair or improve the same app, read its current revision with `app show`, then publish a new release: ```bash -screenrig --json app show app_EXAMPLE -screenrig --json app update app_EXAMPLE ./lobby-board --if-match 3 +screenrig app show app_EXAMPLE +screenrig app update app_EXAMPLE ./lobby-board --if-match 3 ``` `app update` preserves application identity, name, and application K/V. It uses @@ -115,9 +115,9 @@ must carry `controller: true`. Do not set `controller` on a `duration` or ### 4. Create the playlist and assign it to a screen ```bash -screenrig --json playlist create ./lobby-board.json -screenrig --json screen list -screenrig --json screen assign scr_EXAMPLE --playlist-id pl_EXAMPLE --if-match 3 +screenrig playlist create ./lobby-board.json +screenrig screen list +screenrig screen assign scr_EXAMPLE --playlist-id pl_EXAMPLE --if-match 3 ``` Take `--playlist-id` from `data.id` of the `playlist create` result. Take @@ -142,10 +142,10 @@ blocks on a WebP. Do not print pixels. Application K/V is binary-safe. Use exactly one value mode. ```bash -screenrig --json kv set --application-id app_EXAMPLE lobby --json-value '{"open":true}' -screenrig --json kv get --application-id app_EXAMPLE lobby -screenrig --json kv list --application-id app_EXAMPLE -screenrig --json kv delete --application-id app_EXAMPLE lobby --if-match REVISION +screenrig kv set --application-id app_EXAMPLE lobby --json-value '{"open":true}' +screenrig kv get --application-id app_EXAMPLE lobby +screenrig kv list --application-id app_EXAMPLE +screenrig kv delete --application-id app_EXAMPLE lobby --if-match REVISION ``` `kv get` returns the stored bytes only as `data.value_base64`, including when diff --git a/plugins/screenrig/skills/screenrig/references/commands.md b/plugins/screenrig/skills/screenrig/references/commands.md index dcae5f1c..e35a0b50 100644 --- a/plugins/screenrig/skills/screenrig/references/commands.md +++ b/plugins/screenrig/skills/screenrig/references/commands.md @@ -81,8 +81,13 @@ doctor [--repair-config] version ``` -Global flags go before the command: `--json`, `--api-url URL`, `--config -PATH`, `--request-id ID`, `--idempotency-key KEY`, and `--timeout MS`. +Operational commands default to JSON envelopes. `--json` remains supported; +`--human` selects text and conflicts with `--json`. Help and bare command groups +remain readable by default; use `screenrig --json --help` for structured help. +`events follow` emits NDJSON. Progress goes to stderr, separately from stdout. + +Global flags include `--json`, `--human`, `--api-url URL`, `--config PATH`, +`--request-id ID`, `--idempotency-key KEY`, and `--timeout MS`. On `revision_conflict`, fetch the resource, reapply the intended change, and retry with the returned revision. On an ambiguous transport failure, reuse the diff --git a/plugins/screenrig/skills/screenrig/references/compose.md b/plugins/screenrig/skills/screenrig/references/compose.md index 61f0489f..9e209f13 100644 --- a/plugins/screenrig/skills/screenrig/references/compose.md +++ b/plugins/screenrig/skills/screenrig/references/compose.md @@ -26,13 +26,13 @@ before `compose render` so the directory name is the human handle. Default `generic_filename` warning will not rename on upload. ```bash -screenrig --json compose catalog -screenrig --json compose render ./exec-intro.json --output ./exec-intro +screenrig compose catalog +screenrig compose render ./exec-intro.json --output ./exec-intro # read ./exec-intro/manifest.json and the region PNGs # agent reads the PNGs with vision; do not cat pixels into chat # iterate the JSON and re-render -screenrig --json media upload ./exec-intro/left.png --tag TAG -screenrig --json media list --tag TAG --primitive image +screenrig media upload ./exec-intro/left.png --tag TAG +screenrig media list --tag TAG --primitive image # playlist page: image primitives at the manifest rects, or one combined image # many files: media upload-batch ./images.json --state ./upload-state.json ``` @@ -182,8 +182,8 @@ file is enough. `compose batch` adds a contact sheet and `--only ID`. ``` ```bash -screenrig --json compose render ./deck.json --output ./rendered --target-width 3840 --target-height 2160 --safe-area -screenrig --json compose batch ./deck.json --output ./rendered --target-width 3840 --target-height 2160 --safe-area +screenrig compose render ./deck.json --output ./rendered --target-width 3840 --target-height 2160 --safe-area +screenrig compose batch ./deck.json --output ./rendered --target-width 3840 --target-height 2160 --safe-area ``` `compose batch` accepts 1 to 2000 pages and returns ordered page results, @@ -207,7 +207,7 @@ Validate the separate wire playlist locally before expensive upload/publication work, and again after replacing draft references with accepted resource IDs: ```bash -screenrig --json playlist validate ./playlist.json +screenrig playlist validate ./playlist.json ``` This uses backend-generated schema and semantics, including application diff --git a/plugins/screenrig/skills/screenrig/references/installation.md b/plugins/screenrig/skills/screenrig/references/installation.md index 79c45ab3..8c28c64a 100644 --- a/plugins/screenrig/skills/screenrig/references/installation.md +++ b/plugins/screenrig/skills/screenrig/references/installation.md @@ -42,7 +42,7 @@ package. SCREENRIG_PLUGIN_ROOT="${GROK_PLUGIN_ROOT:-${CODEX_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT:-${PLUGIN_ROOT:-}}}}" if [ -n "$SCREENRIG_PLUGIN_ROOT" ]; then PATH="$SCREENRIG_PLUGIN_ROOT/skills/screenrig/scripts:$PATH" - screenrig --json version + screenrig version fi ``` @@ -50,7 +50,7 @@ An empty root means use the lookup below before running the CLI; do not add `/skills/screenrig/scripts` to PATH. The plugin launcher is scoped to this shell session, so a new shell may need the same root lookup and PATH setup. -Require a successful screenRIG JSON envelope from `--json version` before any +Require a successful screenRIG JSON envelope from `version` before any other command. If `SCREENRIG_PLUGIN_ROOT` is empty after installation, recover it without @@ -64,7 +64,7 @@ entry whose `pluginId` is `screenrig@screenrig`, and use its `source.path`. 4. For Grok, run `grok plugin list` and use the installed screenRIG plugin path, then export it as `GROK_PLUGIN_ROOT` for this session. 5. Prepend `/skills/screenrig/scripts` to `PATH` and run -`screenrig --json version`. Require a successful screenRIG JSON envelope +`screenrig version`. Require a successful screenRIG JSON envelope before the requested command. Do not export `SR`. If there is no matching entry, run the exact canonical marketplace add/install @@ -73,8 +73,14 @@ report the failing runtime command and the canonical repository URL to the user. Do not substitute a globally installed command or download an executable. -Use `--json` for agent work. Branch on `ok`, `error.status`, and `error.code`; -do not parse prose. +Operational commands use JSON by default. If an older installed bundle returns +prose, add `--json` until the plugin is updated. The separate +`screenrig-plugin-freshness` helper still requires `--json`. + +Use `--human` only for manual text output; it cannot be combined with `--json`. +Help and bare command groups are readable by default, with structured discovery +available through `--json --help`. Branch on `ok`, `error.status`, and +`error.code`; do not parse prose. Keep stdout separate from progress on stderr. ## Detect and refresh @@ -83,7 +89,7 @@ installed plugin and bundled CLI to the published plugin version on GitHub `main`. Skill text and the bundled CLI travel together. Do not PATH-swap in a local checkout. Do not `npm i -g screenrig`. Do not install a global package. -After PATH prepend and a successful `screenrig --json version`, run: +After PATH prepend and a successful `screenrig version`, run: ```bash screenrig-plugin-freshness --json @@ -125,4 +131,4 @@ If a probed update command is missing, re-run the exact canonical marketplace add and install commands above. Grok install must keep `--trust`. Refresh updates skill text and the bundled CLI together. After refresh, re-resolve the plugin root, prepend scripts to PATH, and require a successful -`screenrig --json version` envelope before any other command. +`screenrig version` envelope before any other command. diff --git a/plugins/screenrig/skills/screenrig/references/media.md b/plugins/screenrig/skills/screenrig/references/media.md index 8f19ade3..a8af6bfb 100644 --- a/plugins/screenrig/skills/screenrig/references/media.md +++ b/plugins/screenrig/skills/screenrig/references/media.md @@ -5,7 +5,7 @@ Use the authoring choice in the main skill before opening this reference. ## Generate a finished still Use the task selection in the main skill. Choose the intended aspect ratio from -`screenrig --json screen show SCREEN_ID` or the user's supplied dimensions before +`screenrig screen show SCREEN_ID` or the user's supplied dimensions before generation. If the screen has no observation, confirm its orientation. Fit and cropping are deliberate choices; a source image's aspect need not match a canvas when the design intentionally contains or crops it. @@ -29,7 +29,7 @@ Use a consistent campaign style rather than forcing variation on every page. For example, a fictional bookshop announcement: ```bash -screenrig --json media generate --aspect-ratio 16:9 --quality medium --tag AuthorNight --prompt "Landscape 16:9 event poster artwork for fictional Example Books. Full bleed. Two-colour risograph style: paper white, teal and coral. Exact copy: 'Author Night', 'Guest Author reads from Sample Title', 'Thursday 24 September, 7 pm', 'Free entry', 'Fictional Example Books, Main Hall'. Large readable headline, clear time and location, open-book illustration. Artwork only, no display device or additional text." +screenrig media generate --aspect-ratio 16:9 --quality medium --tag AuthorNight --prompt "Landscape 16:9 event poster artwork for fictional Example Books. Full bleed. Two-colour risograph style: paper white, teal and coral. Exact copy: 'Author Night', 'Guest Author reads from Sample Title', 'Thursday 24 September, 7 pm', 'Free entry', 'Fictional Example Books, Main Hall'. Large readable headline, clear time and location, open-book illustration. Artwork only, no display device or additional text." ``` Read [visual design](composition.md) when establishing a layout or reviewing a @@ -60,8 +60,8 @@ as a hang, and allow at least three minutes in any wrapper that imposes a timeout of its own. Do not pass `--timeout` on generate. The CLI budgets 150 s for this call by -default, above the server's own budget, so plain `screenrig --json media -generate …` completes at `high`. Under `--json` the command writes one +default, above the server's own budget, so plain `screenrig media +generate …` completes at `high`. With default JSON output the command writes one `media_generate_started` line to stderr before it blocks, carrying `quality`, `typical_seconds`, and `timeout_ms` and never the prompt; `--no-progress` suppresses it. The success envelope reports `elapsed_ms` beside `media_id`. @@ -109,7 +109,7 @@ regenerating, not by composing a correction over the top. Never print the downloaded bytes. ```bash -screenrig --json media download med_EXAMPLE --output ./burger-board.webp +screenrig media download med_EXAMPLE --output ./burger-board.webp ``` `--output` is a file path, not a directory; the default is `./.` in @@ -126,7 +126,7 @@ using a generated picture, not text layered over a generated poster. ## Doctor ```bash -screenrig --json doctor +screenrig doctor ``` Read `data.status` and `data.checks`. Each check is `pass`, `warn`, or `fail`. @@ -237,7 +237,7 @@ local bytes. Items already present with a `media_id` are reported as `resumed`. Do not share one state file across accounts. ```bash -screenrig --json media upload-batch ./images.json --state ./upload-state.json +screenrig media upload-batch ./images.json --state ./upload-state.json ``` The envelope carries `data.items[]`, one row per item that reached the @@ -247,6 +247,6 @@ a batch no longer needs a follow-up `media list --tag` to learn what it created. `data.failed[]` carries the items that did not land, with their problem code and status. -Run `doctor --json` for local diagnostics. Use -`doctor --repair-config --json` only to repair an existing credential file +Run `doctor` for local diagnostics. Use +`doctor --repair-config` only to repair an existing credential file whose permissions are too broad. diff --git a/plugins/screenrig/skills/screenrig/references/operations.md b/plugins/screenrig/skills/screenrig/references/operations.md index 23d5bbf0..b1dff90e 100644 --- a/plugins/screenrig/skills/screenrig/references/operations.md +++ b/plugins/screenrig/skills/screenrig/references/operations.md @@ -3,15 +3,15 @@ ## Screens ```bash -screenrig --json screen list -screenrig --json screen show scr_EXAMPLE -screenrig --json screen update scr_EXAMPLE --name "Lobby" --playlist-id pl_EXAMPLE --if-match REVISION -screenrig --json screen assign scr_EXAMPLE --playlist-id pl_EXAMPLE --if-match REVISION -screenrig --json screen set-timezone scr_EXAMPLE --timezone America/Los_Angeles --if-match REVISION -screenrig --json screen archive scr_EXAMPLE --if-match REVISION -screenrig --json screen unarchive scr_EXAMPLE --if-match REVISION -screenrig --json screen toast scr_EXAMPLE --text "Updated lobby loop" --level info -screenrig --json screen screenshot scr_EXAMPLE --output ./lobby.webp +screenrig screen list +screenrig screen show scr_EXAMPLE +screenrig screen update scr_EXAMPLE --name "Lobby" --playlist-id pl_EXAMPLE --if-match REVISION +screenrig screen assign scr_EXAMPLE --playlist-id pl_EXAMPLE --if-match REVISION +screenrig screen set-timezone scr_EXAMPLE --timezone America/Los_Angeles --if-match REVISION +screenrig screen archive scr_EXAMPLE --if-match REVISION +screenrig screen unarchive scr_EXAMPLE --if-match REVISION +screenrig screen toast scr_EXAMPLE --text "Updated lobby loop" --level info +screenrig screen screenshot scr_EXAMPLE --output ./lobby.webp ``` `screen list` omits archived screens. `screen list --state archived` lists @@ -52,10 +52,10 @@ value must be an object. screenRIG does not read or use it and never sends it to players. ```bash -screenrig --json comment set screen scr_EXAMPLE --json-value '{"note":"lobby hours"}' -screenrig --json comment show screen scr_EXAMPLE -screenrig --json comment set playlist pl_EXAMPLE --page poster --file ./note.json -screenrig --json comment delete screen scr_EXAMPLE +screenrig comment set screen scr_EXAMPLE --json-value '{"note":"lobby hours"}' +screenrig comment show screen scr_EXAMPLE +screenrig comment set playlist pl_EXAMPLE --page poster --file ./note.json +screenrig comment delete screen scr_EXAMPLE ``` `--json-value` is a JSON object. `--file` reads a JSON object from disk. @@ -64,9 +64,10 @@ Unset show is `{ "comments": null }`. ## Events -Human `events list` and `events follow` print one logfmt line per event. -`--json events list` is one JSON page envelope. `--json events follow` is a -JSON stream of envelopes. +`events list` returns one JSON page envelope by default. `events follow` emits +NDJSON: one JSON envelope per line. An empty follow emits an envelope with +`data.items: []`. `--human events list` and `--human events follow` select one +logfmt line per event for manual inspection. `--json` remains compatible. An `application.event` line leads its details with `code` and `primitive_id`, the id of the primitive that emitted it. @@ -97,10 +98,10 @@ supplied cursor. ## Feedback ```bash -screenrig --json feedback bug "Playlist stalls after assign" \ +screenrig feedback bug "Playlist stalls after assign" \ --body-file ./report.md --command "screen assign" -screenrig --json feedback feature "Add a dry-run flag" --body "Preview a change first." -screenrig --json feedback list [--kind bug|feature] +screenrig feedback feature "Add a dry-run flag" --body "Preview a change first." +screenrig feedback list [--kind bug|feature] ``` `--body` is inline text. `--body-file` reads a file. A title is at most 120 diff --git a/plugins/screenrig/skills/screenrig/references/playlists.md b/plugins/screenrig/skills/screenrig/references/playlists.md index 7b71077d..57e9056c 100644 --- a/plugins/screenrig/skills/screenrig/references/playlists.md +++ b/plugins/screenrig/skills/screenrig/references/playlists.md @@ -301,7 +301,7 @@ owns it. `{"days": ["fri"], "start": "22:00", "end": "02:00"}` runs Friday 22:00 through Saturday 02:00. ```bash -screenrig --json screen set-timezone scr_EXAMPLE --timezone America/Los_Angeles --if-match 3 +screenrig screen set-timezone scr_EXAMPLE --timezone America/Los_Angeles --if-match 3 ``` `--timezone` is an IANA identifier such as `America/Los_Angeles` or @@ -314,9 +314,9 @@ Use a `screenrig.playlist-bundle/v1` directory to move one playlist and every referenced image or video rendition together. ```bash -screenrig --json playlist export pl_EXAMPLE --output ./lobby-bundle -screenrig --json playlist import ./lobby-bundle -screenrig --json playlist import ./lobby-bundle --update pl_TARGET --if-match REVISION +screenrig playlist export pl_EXAMPLE --output ./lobby-bundle +screenrig playlist import ./lobby-bundle +screenrig playlist import ./lobby-bundle --update pl_TARGET --if-match REVISION ``` The export destination must not exist. The bundle contains @@ -332,5 +332,5 @@ that problem's `error.next` names the two ways forward. `--name NAME` (1 to Updating requires both `--update` and the current `--if-match` revision. ```bash -screenrig --json playlist import ./lobby-bundle --name "Lobby loop (copy)" +screenrig playlist import ./lobby-bundle --name "Lobby loop (copy)" ``` diff --git a/scripts/build-plugin.py b/scripts/build-plugin.py index d5877b46..eb6c5913 100755 --- a/scripts/build-plugin.py +++ b/scripts/build-plugin.py @@ -379,6 +379,23 @@ def verify_generated_launcher(plugin_root: Path) -> None: raise BuildError("generated plugin launcher did not run the bundled CLI with clean offline output") +def copy_docs(plugin_root: Path) -> None: + """Refresh canonical public files and skills without changing CLI provenance.""" + public_root = PUBLIC_ROOT if PUBLIC_ROOT.is_dir() else ROOT + plugin_root.mkdir(parents=True, exist_ok=True) + for relative in PUBLIC_FILES: + source = public_root / relative + if not source.is_file(): + raise BuildError(f"public plugin root file is missing: {relative}") + destination = plugin_root / relative + destination.parent.mkdir(parents=True, exist_ok=True) + shutil.copy2(source, destination) + skill_target = plugin_root / "skills" / PLUGIN_NAME + if skill_target.exists(): + shutil.rmtree(skill_target) + shutil.copytree(SKILL, skill_target) + + def build( output: Path, cli_artifact: Path | None = None, @@ -392,16 +409,7 @@ def build( raise BuildError("build/plugin.json name must be screenrig") release_version = version() plugin_root = output / PLUGIN_NAME - public_root = PUBLIC_ROOT if PUBLIC_ROOT.is_dir() else ROOT - plugin_root.mkdir(parents=True, exist_ok=True) - for relative in PUBLIC_FILES: - source = public_root / relative - if not source.is_file(): - raise BuildError(f"public plugin root file is missing: {relative}") - destination = plugin_root / relative - destination.parent.mkdir(parents=True, exist_ok=True) - shutil.copy2(source, destination) - shutil.copytree(SKILL, plugin_root / "skills" / PLUGIN_NAME) + copy_docs(plugin_root) cli_root = plugin_root / "cli" with cli_input(cli_artifact, write_lock=write_lock, cli_commit=cli_commit, check=check) as ( @@ -446,9 +454,26 @@ def compare(expected: Path, actual: Path) -> list[str]: return changes +def compare_docs(expected: Path, actual: Path) -> list[str]: + changes = compare(expected / "skills" / PLUGIN_NAME, actual / "skills" / PLUGIN_NAME) + for relative in PUBLIC_FILES: + source, target = expected / relative, actual / relative + if not target.is_file(): + changes.append(f"missing {relative}") + elif not filecmp.cmp(source, target, shallow=False): + changes.append(f"changed {relative}") + elif file_mode(source) != file_mode(target): + changes.append(f"mode {relative}") + return changes + + def main() -> int: parser = argparse.ArgumentParser() parser.add_argument("--check", action="store_true") + parser.add_argument( + "--docs-only", action="store_true", + help="refresh canonical public files and skills in an existing bundle; preserve CLI, manifests and provenance", + ) parser.add_argument("--cli-artifact", type=Path, help="tarball packed from sibling ../cli or current screenrig/cli main") parser.add_argument( "--write-lock", @@ -460,6 +485,9 @@ def main() -> int: help="commit that produced the packed tarball, recorded as provenance only", ) args = parser.parse_args() + if args.docs_only and (args.cli_artifact or args.write_lock or args.cli_commit): + print("build-plugin: --docs-only cannot be combined with CLI artifact or provenance options", file=sys.stderr) + return 2 if args.write_lock and args.check: print("build-plugin: --write-lock cannot be combined with --check", file=sys.stderr) return 2 @@ -467,6 +495,25 @@ def main() -> int: print("build-plugin: --cli-commit must be a 40-character lowercase SHA-1", file=sys.stderr) return 2 try: + if args.docs_only: + target = PLUGINS / PLUGIN_NAME + if not (target / "cli" / "package.json").is_file(): + raise BuildError("--docs-only requires an existing generated CLI bundle") + if args.check: + with tempfile.TemporaryDirectory(prefix="screenrig-plugin-docs-") as temp: + expected = Path(temp) / PLUGIN_NAME + copy_docs(expected) + changes = compare_docs(expected, target) + if changes: + print("generated ScreenRig plugin docs are stale:", file=sys.stderr) + for change in changes: + print(f" {change}", file=sys.stderr) + return 1 + print("generated ScreenRig plugin docs are current; CLI bundle not checked") + return 0 + copy_docs(target) + print("updated ScreenRig plugin docs; CLI bundle and provenance unchanged") + return 0 if args.check: with tempfile.TemporaryDirectory(prefix="screenrig-plugin-") as temp: expected = Path(temp) / "plugins" diff --git a/scripts/test-docs-only.py b/scripts/test-docs-only.py new file mode 100644 index 00000000..bfb60eed --- /dev/null +++ b/scripts/test-docs-only.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python3 +"""Verify documentation refresh preserves executable bytes and provenance.""" + +from __future__ import annotations + +import contextlib +import importlib.util +import io +from pathlib import Path +import sys +import tempfile +from unittest.mock import patch + +ROOT = Path(__file__).resolve().parent.parent +spec = importlib.util.spec_from_file_location("build_plugin", ROOT / "scripts/build-plugin.py") +assert spec and spec.loader +builder = importlib.util.module_from_spec(spec) +spec.loader.exec_module(builder) + + +def run(*args: str) -> int: + with patch.object(sys, "argv", ["build-plugin.py", *args]): + with contextlib.redirect_stdout(io.StringIO()), contextlib.redirect_stderr(io.StringIO()): + return builder.main() + + +def main() -> None: + with tempfile.TemporaryDirectory(prefix="screenrig-docs-only-test-") as temporary: + root = Path(temporary) + plugins = root / "plugins" + target = plugins / "screenrig" + protected = { + target / "cli/package.json": b'{"version":"26.09.1"}\n', + target / "cli/dist/bin.js": b'// preserved executable\n', + target / ".codex-plugin/plugin.json": b'{"version":"26.09.1"}\n', + target / ".claude-plugin/plugin.json": b'{"version":"26.09.1"}\n', + root / "components.lock.json": b'{"provenance":"preserved"}\n', + } + for path, content in protected.items(): + path.parent.mkdir(parents=True, exist_ok=True) + path.write_bytes(content) + executable = target / "cli/dist/bin.js" + executable.chmod(0o755) + stale = target / "skills/screenrig/references/obsolete.md" + stale.parent.mkdir(parents=True) + stale.write_text("obsolete generated documentation\n") + with patch.object(builder, "PLUGINS", plugins), patch.object(builder, "LOCK_PATH", root / "components.lock.json"): + assert run("--docs-only", "--check") == 1 + assert run("--docs-only") == 0 + assert not stale.exists() + assert run("--docs-only", "--check") == 0 + for path, content in protected.items(): + assert path.read_bytes() == content, f"changed protected file: {path}" + assert executable.stat().st_mode & 0o777 == 0o755 + for options in (("--cli-artifact", "unused.tgz"), ("--write-lock",), ("--cli-commit", "a" * 40)): + assert run("--docs-only", *options) == 2 + (target / "cli/package.json").unlink() + assert run("--docs-only") == 2 + print("documentation-only generation checks passed") + + +if __name__ == "__main__": + main() diff --git a/scripts/validate-plugin.py b/scripts/validate-plugin.py index f401db7c..e006b60b 100755 --- a/scripts/validate-plugin.py +++ b/scripts/validate-plugin.py @@ -370,8 +370,8 @@ def check_no_alternate_surfaces(cli_source: Path | None) -> None: audit_paths.extend(cli_source / relative for relative in CLI_SOURCE_FILES) required_marketplace = { "README.md": ["https://screenrig.ai/docs/start/", "SECURITY.md", "Node.js 20.11"], - "skills/screenrig/SKILL.md": ["screenrig --json version", "screenrig-plugin-freshness --json", - "screenrig --json doctor", "not_enrolled", "agent enroll", "--if-match", + "skills/screenrig/SKILL.md": ["screenrig version", "screenrig-plugin-freshness --json", + "screenrig doctor", "not_enrolled", "agent enroll", "--if-match", "payment_required", "idempotency", "references/commands.md"], } for relative, facts in required_marketplace.items(): diff --git a/skills/screenrig/SKILL.md b/skills/screenrig/SKILL.md index 1f5dc433..c41356e7 100644 --- a/skills/screenrig/SKILL.md +++ b/skills/screenrig/SKILL.md @@ -18,7 +18,7 @@ launcher on this shell's PATH. Never substitute a global or source-checkout bina SCREENRIG_PLUGIN_ROOT="${GROK_PLUGIN_ROOT:-${CODEX_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT:-${PLUGIN_ROOT:-}}}}" if [ -n "$SCREENRIG_PLUGIN_ROOT" ]; then PATH="$SCREENRIG_PLUGIN_ROOT/skills/screenrig/scripts:$PATH" - screenrig --json version + screenrig version fi ``` @@ -31,7 +31,7 @@ Require a successful version envelope, then run: ```bash screenrig-plugin-freshness --json -screenrig --json doctor +screenrig doctor ``` For freshness, `keep` means continue, `refresh` means update the plugin using the @@ -49,7 +49,7 @@ For a new account, obtain the user's contact email and use the supported explici step: ```bash -screenrig --json agent enroll --email ADDRESS +screenrig agent enroll --email ADDRESS ``` Use the user's actual address. For an existing account, use `agent connect` and @@ -62,8 +62,8 @@ shows a setup code, use `screen pair CODE` with that code. A missing screen is n reason to assign to another screen or invent an identifier. ```bash -screenrig --json screen list -screenrig --json screen show SCREEN_ID +screenrig screen list +screenrig screen show SCREEN_ID ``` ## Choose the content path @@ -110,7 +110,12 @@ provides a compact reference for supported operations. ## Responses, retries and secrets -Use `--json`. Branch on `ok`, `error.status`, `error.code` and `warnings[].code`, +Operational commands return JSON envelopes by default; `--json` remains a +compatible explicit choice. Use `--human` only for manual inspection, never +together with `--json`. Help and bare command groups are readable by default; +`--json --help` returns structured help. Progress stays on stderr; parse stdout +separately. `events follow` emits one JSON envelope per line (NDJSON). +Branch on `ok`, `error.status`, `error.code` and `warnings[].code`, not prose. Follow an applicable `error.next.command` without inventing flags. On a revision conflict, refetch and reconcile the intended change. After an ambiguous write, retry with the same idempotency key and same request, not a new write. diff --git a/skills/screenrig/references/applications.md b/skills/screenrig/references/applications.md index f2d5d73b..19cd9f97 100644 --- a/skills/screenrig/references/applications.md +++ b/skills/screenrig/references/applications.md @@ -17,7 +17,7 @@ reaches `window.screenrig` at runtime with no build step and no dependency to install. ```bash -screenrig --json app upload ./lobby-board --name "Lobby board" +screenrig app upload ./lobby-board --name "Lobby board" ``` `app upload` waits for the publication operation by default. Read three fields @@ -35,8 +35,8 @@ first immutable release. To repair or improve the same app, read its current revision with `app show`, then publish a new release: ```bash -screenrig --json app show app_EXAMPLE -screenrig --json app update app_EXAMPLE ./lobby-board --if-match 3 +screenrig app show app_EXAMPLE +screenrig app update app_EXAMPLE ./lobby-board --if-match 3 ``` `app update` preserves application identity, name, and application K/V. It uses @@ -115,9 +115,9 @@ must carry `controller: true`. Do not set `controller` on a `duration` or ### 4. Create the playlist and assign it to a screen ```bash -screenrig --json playlist create ./lobby-board.json -screenrig --json screen list -screenrig --json screen assign scr_EXAMPLE --playlist-id pl_EXAMPLE --if-match 3 +screenrig playlist create ./lobby-board.json +screenrig screen list +screenrig screen assign scr_EXAMPLE --playlist-id pl_EXAMPLE --if-match 3 ``` Take `--playlist-id` from `data.id` of the `playlist create` result. Take @@ -142,10 +142,10 @@ blocks on a WebP. Do not print pixels. Application K/V is binary-safe. Use exactly one value mode. ```bash -screenrig --json kv set --application-id app_EXAMPLE lobby --json-value '{"open":true}' -screenrig --json kv get --application-id app_EXAMPLE lobby -screenrig --json kv list --application-id app_EXAMPLE -screenrig --json kv delete --application-id app_EXAMPLE lobby --if-match REVISION +screenrig kv set --application-id app_EXAMPLE lobby --json-value '{"open":true}' +screenrig kv get --application-id app_EXAMPLE lobby +screenrig kv list --application-id app_EXAMPLE +screenrig kv delete --application-id app_EXAMPLE lobby --if-match REVISION ``` `kv get` returns the stored bytes only as `data.value_base64`, including when diff --git a/skills/screenrig/references/commands.md b/skills/screenrig/references/commands.md index dcae5f1c..e35a0b50 100644 --- a/skills/screenrig/references/commands.md +++ b/skills/screenrig/references/commands.md @@ -81,8 +81,13 @@ doctor [--repair-config] version ``` -Global flags go before the command: `--json`, `--api-url URL`, `--config -PATH`, `--request-id ID`, `--idempotency-key KEY`, and `--timeout MS`. +Operational commands default to JSON envelopes. `--json` remains supported; +`--human` selects text and conflicts with `--json`. Help and bare command groups +remain readable by default; use `screenrig --json --help` for structured help. +`events follow` emits NDJSON. Progress goes to stderr, separately from stdout. + +Global flags include `--json`, `--human`, `--api-url URL`, `--config PATH`, +`--request-id ID`, `--idempotency-key KEY`, and `--timeout MS`. On `revision_conflict`, fetch the resource, reapply the intended change, and retry with the returned revision. On an ambiguous transport failure, reuse the diff --git a/skills/screenrig/references/compose.md b/skills/screenrig/references/compose.md index 61f0489f..9e209f13 100644 --- a/skills/screenrig/references/compose.md +++ b/skills/screenrig/references/compose.md @@ -26,13 +26,13 @@ before `compose render` so the directory name is the human handle. Default `generic_filename` warning will not rename on upload. ```bash -screenrig --json compose catalog -screenrig --json compose render ./exec-intro.json --output ./exec-intro +screenrig compose catalog +screenrig compose render ./exec-intro.json --output ./exec-intro # read ./exec-intro/manifest.json and the region PNGs # agent reads the PNGs with vision; do not cat pixels into chat # iterate the JSON and re-render -screenrig --json media upload ./exec-intro/left.png --tag TAG -screenrig --json media list --tag TAG --primitive image +screenrig media upload ./exec-intro/left.png --tag TAG +screenrig media list --tag TAG --primitive image # playlist page: image primitives at the manifest rects, or one combined image # many files: media upload-batch ./images.json --state ./upload-state.json ``` @@ -182,8 +182,8 @@ file is enough. `compose batch` adds a contact sheet and `--only ID`. ``` ```bash -screenrig --json compose render ./deck.json --output ./rendered --target-width 3840 --target-height 2160 --safe-area -screenrig --json compose batch ./deck.json --output ./rendered --target-width 3840 --target-height 2160 --safe-area +screenrig compose render ./deck.json --output ./rendered --target-width 3840 --target-height 2160 --safe-area +screenrig compose batch ./deck.json --output ./rendered --target-width 3840 --target-height 2160 --safe-area ``` `compose batch` accepts 1 to 2000 pages and returns ordered page results, @@ -207,7 +207,7 @@ Validate the separate wire playlist locally before expensive upload/publication work, and again after replacing draft references with accepted resource IDs: ```bash -screenrig --json playlist validate ./playlist.json +screenrig playlist validate ./playlist.json ``` This uses backend-generated schema and semantics, including application diff --git a/skills/screenrig/references/installation.md b/skills/screenrig/references/installation.md index 79c45ab3..8c28c64a 100644 --- a/skills/screenrig/references/installation.md +++ b/skills/screenrig/references/installation.md @@ -42,7 +42,7 @@ package. SCREENRIG_PLUGIN_ROOT="${GROK_PLUGIN_ROOT:-${CODEX_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT:-${PLUGIN_ROOT:-}}}}" if [ -n "$SCREENRIG_PLUGIN_ROOT" ]; then PATH="$SCREENRIG_PLUGIN_ROOT/skills/screenrig/scripts:$PATH" - screenrig --json version + screenrig version fi ``` @@ -50,7 +50,7 @@ An empty root means use the lookup below before running the CLI; do not add `/skills/screenrig/scripts` to PATH. The plugin launcher is scoped to this shell session, so a new shell may need the same root lookup and PATH setup. -Require a successful screenRIG JSON envelope from `--json version` before any +Require a successful screenRIG JSON envelope from `version` before any other command. If `SCREENRIG_PLUGIN_ROOT` is empty after installation, recover it without @@ -64,7 +64,7 @@ entry whose `pluginId` is `screenrig@screenrig`, and use its `source.path`. 4. For Grok, run `grok plugin list` and use the installed screenRIG plugin path, then export it as `GROK_PLUGIN_ROOT` for this session. 5. Prepend `/skills/screenrig/scripts` to `PATH` and run -`screenrig --json version`. Require a successful screenRIG JSON envelope +`screenrig version`. Require a successful screenRIG JSON envelope before the requested command. Do not export `SR`. If there is no matching entry, run the exact canonical marketplace add/install @@ -73,8 +73,14 @@ report the failing runtime command and the canonical repository URL to the user. Do not substitute a globally installed command or download an executable. -Use `--json` for agent work. Branch on `ok`, `error.status`, and `error.code`; -do not parse prose. +Operational commands use JSON by default. If an older installed bundle returns +prose, add `--json` until the plugin is updated. The separate +`screenrig-plugin-freshness` helper still requires `--json`. + +Use `--human` only for manual text output; it cannot be combined with `--json`. +Help and bare command groups are readable by default, with structured discovery +available through `--json --help`. Branch on `ok`, `error.status`, and +`error.code`; do not parse prose. Keep stdout separate from progress on stderr. ## Detect and refresh @@ -83,7 +89,7 @@ installed plugin and bundled CLI to the published plugin version on GitHub `main`. Skill text and the bundled CLI travel together. Do not PATH-swap in a local checkout. Do not `npm i -g screenrig`. Do not install a global package. -After PATH prepend and a successful `screenrig --json version`, run: +After PATH prepend and a successful `screenrig version`, run: ```bash screenrig-plugin-freshness --json @@ -125,4 +131,4 @@ If a probed update command is missing, re-run the exact canonical marketplace add and install commands above. Grok install must keep `--trust`. Refresh updates skill text and the bundled CLI together. After refresh, re-resolve the plugin root, prepend scripts to PATH, and require a successful -`screenrig --json version` envelope before any other command. +`screenrig version` envelope before any other command. diff --git a/skills/screenrig/references/media.md b/skills/screenrig/references/media.md index 8f19ade3..a8af6bfb 100644 --- a/skills/screenrig/references/media.md +++ b/skills/screenrig/references/media.md @@ -5,7 +5,7 @@ Use the authoring choice in the main skill before opening this reference. ## Generate a finished still Use the task selection in the main skill. Choose the intended aspect ratio from -`screenrig --json screen show SCREEN_ID` or the user's supplied dimensions before +`screenrig screen show SCREEN_ID` or the user's supplied dimensions before generation. If the screen has no observation, confirm its orientation. Fit and cropping are deliberate choices; a source image's aspect need not match a canvas when the design intentionally contains or crops it. @@ -29,7 +29,7 @@ Use a consistent campaign style rather than forcing variation on every page. For example, a fictional bookshop announcement: ```bash -screenrig --json media generate --aspect-ratio 16:9 --quality medium --tag AuthorNight --prompt "Landscape 16:9 event poster artwork for fictional Example Books. Full bleed. Two-colour risograph style: paper white, teal and coral. Exact copy: 'Author Night', 'Guest Author reads from Sample Title', 'Thursday 24 September, 7 pm', 'Free entry', 'Fictional Example Books, Main Hall'. Large readable headline, clear time and location, open-book illustration. Artwork only, no display device or additional text." +screenrig media generate --aspect-ratio 16:9 --quality medium --tag AuthorNight --prompt "Landscape 16:9 event poster artwork for fictional Example Books. Full bleed. Two-colour risograph style: paper white, teal and coral. Exact copy: 'Author Night', 'Guest Author reads from Sample Title', 'Thursday 24 September, 7 pm', 'Free entry', 'Fictional Example Books, Main Hall'. Large readable headline, clear time and location, open-book illustration. Artwork only, no display device or additional text." ``` Read [visual design](composition.md) when establishing a layout or reviewing a @@ -60,8 +60,8 @@ as a hang, and allow at least three minutes in any wrapper that imposes a timeout of its own. Do not pass `--timeout` on generate. The CLI budgets 150 s for this call by -default, above the server's own budget, so plain `screenrig --json media -generate …` completes at `high`. Under `--json` the command writes one +default, above the server's own budget, so plain `screenrig media +generate …` completes at `high`. With default JSON output the command writes one `media_generate_started` line to stderr before it blocks, carrying `quality`, `typical_seconds`, and `timeout_ms` and never the prompt; `--no-progress` suppresses it. The success envelope reports `elapsed_ms` beside `media_id`. @@ -109,7 +109,7 @@ regenerating, not by composing a correction over the top. Never print the downloaded bytes. ```bash -screenrig --json media download med_EXAMPLE --output ./burger-board.webp +screenrig media download med_EXAMPLE --output ./burger-board.webp ``` `--output` is a file path, not a directory; the default is `./.` in @@ -126,7 +126,7 @@ using a generated picture, not text layered over a generated poster. ## Doctor ```bash -screenrig --json doctor +screenrig doctor ``` Read `data.status` and `data.checks`. Each check is `pass`, `warn`, or `fail`. @@ -237,7 +237,7 @@ local bytes. Items already present with a `media_id` are reported as `resumed`. Do not share one state file across accounts. ```bash -screenrig --json media upload-batch ./images.json --state ./upload-state.json +screenrig media upload-batch ./images.json --state ./upload-state.json ``` The envelope carries `data.items[]`, one row per item that reached the @@ -247,6 +247,6 @@ a batch no longer needs a follow-up `media list --tag` to learn what it created. `data.failed[]` carries the items that did not land, with their problem code and status. -Run `doctor --json` for local diagnostics. Use -`doctor --repair-config --json` only to repair an existing credential file +Run `doctor` for local diagnostics. Use +`doctor --repair-config` only to repair an existing credential file whose permissions are too broad. diff --git a/skills/screenrig/references/operations.md b/skills/screenrig/references/operations.md index 23d5bbf0..b1dff90e 100644 --- a/skills/screenrig/references/operations.md +++ b/skills/screenrig/references/operations.md @@ -3,15 +3,15 @@ ## Screens ```bash -screenrig --json screen list -screenrig --json screen show scr_EXAMPLE -screenrig --json screen update scr_EXAMPLE --name "Lobby" --playlist-id pl_EXAMPLE --if-match REVISION -screenrig --json screen assign scr_EXAMPLE --playlist-id pl_EXAMPLE --if-match REVISION -screenrig --json screen set-timezone scr_EXAMPLE --timezone America/Los_Angeles --if-match REVISION -screenrig --json screen archive scr_EXAMPLE --if-match REVISION -screenrig --json screen unarchive scr_EXAMPLE --if-match REVISION -screenrig --json screen toast scr_EXAMPLE --text "Updated lobby loop" --level info -screenrig --json screen screenshot scr_EXAMPLE --output ./lobby.webp +screenrig screen list +screenrig screen show scr_EXAMPLE +screenrig screen update scr_EXAMPLE --name "Lobby" --playlist-id pl_EXAMPLE --if-match REVISION +screenrig screen assign scr_EXAMPLE --playlist-id pl_EXAMPLE --if-match REVISION +screenrig screen set-timezone scr_EXAMPLE --timezone America/Los_Angeles --if-match REVISION +screenrig screen archive scr_EXAMPLE --if-match REVISION +screenrig screen unarchive scr_EXAMPLE --if-match REVISION +screenrig screen toast scr_EXAMPLE --text "Updated lobby loop" --level info +screenrig screen screenshot scr_EXAMPLE --output ./lobby.webp ``` `screen list` omits archived screens. `screen list --state archived` lists @@ -52,10 +52,10 @@ value must be an object. screenRIG does not read or use it and never sends it to players. ```bash -screenrig --json comment set screen scr_EXAMPLE --json-value '{"note":"lobby hours"}' -screenrig --json comment show screen scr_EXAMPLE -screenrig --json comment set playlist pl_EXAMPLE --page poster --file ./note.json -screenrig --json comment delete screen scr_EXAMPLE +screenrig comment set screen scr_EXAMPLE --json-value '{"note":"lobby hours"}' +screenrig comment show screen scr_EXAMPLE +screenrig comment set playlist pl_EXAMPLE --page poster --file ./note.json +screenrig comment delete screen scr_EXAMPLE ``` `--json-value` is a JSON object. `--file` reads a JSON object from disk. @@ -64,9 +64,10 @@ Unset show is `{ "comments": null }`. ## Events -Human `events list` and `events follow` print one logfmt line per event. -`--json events list` is one JSON page envelope. `--json events follow` is a -JSON stream of envelopes. +`events list` returns one JSON page envelope by default. `events follow` emits +NDJSON: one JSON envelope per line. An empty follow emits an envelope with +`data.items: []`. `--human events list` and `--human events follow` select one +logfmt line per event for manual inspection. `--json` remains compatible. An `application.event` line leads its details with `code` and `primitive_id`, the id of the primitive that emitted it. @@ -97,10 +98,10 @@ supplied cursor. ## Feedback ```bash -screenrig --json feedback bug "Playlist stalls after assign" \ +screenrig feedback bug "Playlist stalls after assign" \ --body-file ./report.md --command "screen assign" -screenrig --json feedback feature "Add a dry-run flag" --body "Preview a change first." -screenrig --json feedback list [--kind bug|feature] +screenrig feedback feature "Add a dry-run flag" --body "Preview a change first." +screenrig feedback list [--kind bug|feature] ``` `--body` is inline text. `--body-file` reads a file. A title is at most 120 diff --git a/skills/screenrig/references/playlists.md b/skills/screenrig/references/playlists.md index 7b71077d..57e9056c 100644 --- a/skills/screenrig/references/playlists.md +++ b/skills/screenrig/references/playlists.md @@ -301,7 +301,7 @@ owns it. `{"days": ["fri"], "start": "22:00", "end": "02:00"}` runs Friday 22:00 through Saturday 02:00. ```bash -screenrig --json screen set-timezone scr_EXAMPLE --timezone America/Los_Angeles --if-match 3 +screenrig screen set-timezone scr_EXAMPLE --timezone America/Los_Angeles --if-match 3 ``` `--timezone` is an IANA identifier such as `America/Los_Angeles` or @@ -314,9 +314,9 @@ Use a `screenrig.playlist-bundle/v1` directory to move one playlist and every referenced image or video rendition together. ```bash -screenrig --json playlist export pl_EXAMPLE --output ./lobby-bundle -screenrig --json playlist import ./lobby-bundle -screenrig --json playlist import ./lobby-bundle --update pl_TARGET --if-match REVISION +screenrig playlist export pl_EXAMPLE --output ./lobby-bundle +screenrig playlist import ./lobby-bundle +screenrig playlist import ./lobby-bundle --update pl_TARGET --if-match REVISION ``` The export destination must not exist. The bundle contains @@ -332,5 +332,5 @@ that problem's `error.next` names the two ways forward. `--name NAME` (1 to Updating requires both `--update` and the current `--if-match` revision. ```bash -screenrig --json playlist import ./lobby-bundle --name "Lobby loop (copy)" +screenrig playlist import ./lobby-bundle --name "Lobby loop (copy)" ``` From 0fc93f028554bd8620a65b4b4c5d75c4673fd43a Mon Sep 17 00:00:00 2001 From: Kurtis Jantzen Date: Thu, 10 Sep 2026 15:07:32 -0700 Subject: [PATCH 2/2] Bundle published JSON-default CLI and update provenance --- components.lock.json | 4 +- plugins/screenrig/cli/README.md | 32 +- .../cli/assets/playlist-write.schema.json | 2 +- .../screenrig/cli/assets/screenrig.runtime.js | 1674 ++++++++++++++++- .../screenrig/cli/dist/adapters/protocol.d.ts | 2 +- .../cli/dist/adapters/protocol.d.ts.map | 2 +- plugins/screenrig/cli/dist/argv.d.ts | 14 +- plugins/screenrig/cli/dist/argv.d.ts.map | 2 +- plugins/screenrig/cli/dist/argv.js | 50 +- plugins/screenrig/cli/dist/argv.js.map | 2 +- .../cli/dist/cli-commands/account.d.ts | 4 + .../cli/dist/cli-commands/account.d.ts.map | 1 + .../cli/dist/cli-commands/account.js | 9 + .../cli/dist/cli-commands/account.js.map | 1 + .../cli/dist/cli-commands/agent.d.ts | 4 + .../cli/dist/cli-commands/agent.d.ts.map | 1 + .../screenrig/cli/dist/cli-commands/agent.js | 21 + .../cli/dist/cli-commands/agent.js.map | 1 + .../screenrig/cli/dist/cli-commands/app.d.ts | 4 + .../cli/dist/cli-commands/app.d.ts.map | 1 + .../screenrig/cli/dist/cli-commands/app.js | 28 + .../cli/dist/cli-commands/app.js.map | 1 + .../cli/dist/cli-commands/browser.d.ts | 4 + .../cli/dist/cli-commands/browser.d.ts.map | 1 + .../cli/dist/cli-commands/browser.js | 9 + .../cli/dist/cli-commands/browser.js.map | 1 + .../cli/dist/cli-commands/comment.d.ts | 4 + .../cli/dist/cli-commands/comment.d.ts.map | 1 + .../cli/dist/cli-commands/comment.js | 34 + .../cli/dist/cli-commands/comment.js.map | 1 + .../cli/dist/cli-commands/compose.d.ts | 4 + .../cli/dist/cli-commands/compose.d.ts.map | 1 + .../cli/dist/cli-commands/compose.js | 38 + .../cli/dist/cli-commands/compose.js.map | 1 + .../cli/dist/cli-commands/dashboard.d.ts | 4 + .../cli/dist/cli-commands/dashboard.d.ts.map | 1 + .../cli/dist/cli-commands/dashboard.js | 7 + .../cli/dist/cli-commands/dashboard.js.map | 1 + .../cli/dist/cli-commands/doctor.d.ts | 4 + .../cli/dist/cli-commands/doctor.d.ts.map | 1 + .../screenrig/cli/dist/cli-commands/doctor.js | 7 + .../cli/dist/cli-commands/doctor.js.map | 1 + .../cli/dist/cli-commands/events.d.ts | 4 + .../cli/dist/cli-commands/events.d.ts.map | 1 + .../screenrig/cli/dist/cli-commands/events.js | 16 + .../cli/dist/cli-commands/events.js.map | 1 + .../cli/dist/cli-commands/feedback.d.ts | 4 + .../cli/dist/cli-commands/feedback.d.ts.map | 1 + .../cli/dist/cli-commands/feedback.js | 23 + .../cli/dist/cli-commands/feedback.js.map | 1 + .../cli/dist/cli-commands/globals.d.ts | 3 + .../cli/dist/cli-commands/globals.d.ts.map | 1 + .../cli/dist/cli-commands/globals.js | 15 + .../cli/dist/cli-commands/globals.js.map | 1 + .../cli/dist/cli-commands/index.d.ts | 4 + .../cli/dist/cli-commands/index.d.ts.map | 1 + .../screenrig/cli/dist/cli-commands/index.js | 39 + .../cli/dist/cli-commands/index.js.map | 1 + .../screenrig/cli/dist/cli-commands/kv.d.ts | 4 + .../cli/dist/cli-commands/kv.d.ts.map | 1 + plugins/screenrig/cli/dist/cli-commands/kv.js | 28 + .../screenrig/cli/dist/cli-commands/kv.js.map | 1 + .../cli/dist/cli-commands/media.d.ts | 4 + .../cli/dist/cli-commands/media.d.ts.map | 1 + .../screenrig/cli/dist/cli-commands/media.js | 66 + .../cli/dist/cli-commands/media.js.map | 1 + .../cli/dist/cli-commands/notes.d.ts | 5 + .../cli/dist/cli-commands/notes.d.ts.map | 1 + .../screenrig/cli/dist/cli-commands/notes.js | 10 + .../cli/dist/cli-commands/notes.js.map | 1 + .../cli/dist/cli-commands/operations.d.ts | 4 + .../cli/dist/cli-commands/operations.d.ts.map | 1 + .../cli/dist/cli-commands/operations.js | 16 + .../cli/dist/cli-commands/operations.js.map | 1 + .../cli/dist/cli-commands/options.d.ts | 6 + .../cli/dist/cli-commands/options.d.ts.map | 1 + .../cli/dist/cli-commands/options.js | 43 + .../cli/dist/cli-commands/options.js.map | 1 + .../cli/dist/cli-commands/playback.d.ts | 4 + .../cli/dist/cli-commands/playback.d.ts.map | 1 + .../cli/dist/cli-commands/playback.js | 10 + .../cli/dist/cli-commands/playback.js.map | 1 + .../cli/dist/cli-commands/playlist.d.ts | 4 + .../cli/dist/cli-commands/playlist.d.ts.map | 1 + .../cli/dist/cli-commands/playlist.js | 57 + .../cli/dist/cli-commands/playlist.js.map | 1 + .../cli/dist/cli-commands/screen.d.ts | 4 + .../cli/dist/cli-commands/screen.d.ts.map | 1 + .../screenrig/cli/dist/cli-commands/screen.js | 65 + .../cli/dist/cli-commands/screen.js.map | 1 + .../cli/dist/cli-commands/types.d.ts | 3 + .../cli/dist/cli-commands/types.d.ts.map | 1 + .../screenrig/cli/dist/cli-commands/types.js | 2 + .../cli/dist/cli-commands/types.js.map | 1 + .../cli/dist/cli-commands/version.d.ts | 4 + .../cli/dist/cli-commands/version.d.ts.map | 1 + .../cli/dist/cli-commands/version.js | 6 + .../cli/dist/cli-commands/version.js.map | 1 + plugins/screenrig/cli/dist/cli-errors.d.ts | 4 + .../screenrig/cli/dist/cli-errors.d.ts.map | 1 + plugins/screenrig/cli/dist/cli-errors.js | 48 + plugins/screenrig/cli/dist/cli-errors.js.map | 1 + plugins/screenrig/cli/dist/command-input.d.ts | 10 + .../screenrig/cli/dist/command-input.d.ts.map | 1 + plugins/screenrig/cli/dist/command-input.js | 16 + .../screenrig/cli/dist/command-input.js.map | 1 + plugins/screenrig/cli/dist/command-path.d.ts | 7 + .../screenrig/cli/dist/command-path.d.ts.map | 1 + plugins/screenrig/cli/dist/command-path.js | 27 + .../screenrig/cli/dist/command-path.js.map | 1 + plugins/screenrig/cli/dist/command-spec.d.ts | 11 - .../screenrig/cli/dist/command-spec.d.ts.map | 1 - plugins/screenrig/cli/dist/command-spec.js | 71 - .../screenrig/cli/dist/command-spec.js.map | 1 - plugins/screenrig/cli/dist/command-tree.d.ts | 13 +- .../screenrig/cli/dist/command-tree.d.ts.map | 2 +- plugins/screenrig/cli/dist/command-tree.js | 269 +-- .../screenrig/cli/dist/command-tree.js.map | 2 +- plugins/screenrig/cli/dist/commands.d.ts | 74 +- plugins/screenrig/cli/dist/commands.d.ts.map | 2 +- plugins/screenrig/cli/dist/commands.js | 1463 +++++++------- plugins/screenrig/cli/dist/commands.js.map | 2 +- plugins/screenrig/cli/dist/help-text.d.ts | 3 - plugins/screenrig/cli/dist/help-text.d.ts.map | 2 +- plugins/screenrig/cli/dist/help-text.js | 48 - plugins/screenrig/cli/dist/help-text.js.map | 2 +- plugins/screenrig/cli/dist/help.d.ts | 1 - plugins/screenrig/cli/dist/help.d.ts.map | 2 +- plugins/screenrig/cli/dist/help.js | 6 +- plugins/screenrig/cli/dist/help.js.map | 2 +- plugins/screenrig/cli/dist/main.d.ts.map | 2 +- plugins/screenrig/cli/dist/main.js | 21 +- plugins/screenrig/cli/dist/main.js.map | 2 +- plugins/screenrig/cli/dist/media-upload.js | 2 +- .../screenrig/cli/dist/media-upload.js.map | 2 +- plugins/screenrig/cli/dist/pack/limits.js | 2 +- plugins/screenrig/cli/dist/pack/limits.js.map | 2 +- plugins/screenrig/cli/dist/playlist-bundle.js | 2 +- .../screenrig/cli/dist/playlist-bundle.js.map | 2 +- .../screenrig/cli/dist/playlist-templates.js | 10 +- .../cli/dist/playlist-templates.js.map | 2 +- plugins/screenrig/cli/dist/problems.js | 4 +- plugins/screenrig/cli/dist/problems.js.map | 2 +- plugins/screenrig/cli/dist/program.d.ts | 5 + plugins/screenrig/cli/dist/program.d.ts.map | 1 + plugins/screenrig/cli/dist/program.js | 30 + plugins/screenrig/cli/dist/program.js.map | 1 + 147 files changed, 3436 insertions(+), 1217 deletions(-) create mode 100644 plugins/screenrig/cli/dist/cli-commands/account.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/account.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/account.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/account.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/agent.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/agent.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/agent.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/agent.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/app.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/app.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/app.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/app.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/browser.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/browser.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/browser.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/browser.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/comment.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/comment.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/comment.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/comment.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/compose.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/compose.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/compose.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/compose.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/dashboard.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/dashboard.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/dashboard.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/dashboard.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/doctor.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/doctor.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/doctor.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/doctor.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/events.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/events.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/events.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/events.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/feedback.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/feedback.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/feedback.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/feedback.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/globals.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/globals.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/globals.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/globals.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/index.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/index.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/index.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/index.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/kv.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/kv.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/kv.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/kv.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/media.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/media.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/media.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/media.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/notes.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/notes.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/notes.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/notes.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/operations.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/operations.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/operations.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/operations.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/options.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/options.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/options.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/options.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/playback.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/playback.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/playback.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/playback.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/playlist.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/playlist.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/playlist.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/playlist.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/screen.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/screen.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/screen.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/screen.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/types.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/types.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/types.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/types.js.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/version.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-commands/version.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-commands/version.js create mode 100644 plugins/screenrig/cli/dist/cli-commands/version.js.map create mode 100644 plugins/screenrig/cli/dist/cli-errors.d.ts create mode 100644 plugins/screenrig/cli/dist/cli-errors.d.ts.map create mode 100644 plugins/screenrig/cli/dist/cli-errors.js create mode 100644 plugins/screenrig/cli/dist/cli-errors.js.map create mode 100644 plugins/screenrig/cli/dist/command-input.d.ts create mode 100644 plugins/screenrig/cli/dist/command-input.d.ts.map create mode 100644 plugins/screenrig/cli/dist/command-input.js create mode 100644 plugins/screenrig/cli/dist/command-input.js.map create mode 100644 plugins/screenrig/cli/dist/command-path.d.ts create mode 100644 plugins/screenrig/cli/dist/command-path.d.ts.map create mode 100644 plugins/screenrig/cli/dist/command-path.js create mode 100644 plugins/screenrig/cli/dist/command-path.js.map delete mode 100644 plugins/screenrig/cli/dist/command-spec.d.ts delete mode 100644 plugins/screenrig/cli/dist/command-spec.d.ts.map delete mode 100644 plugins/screenrig/cli/dist/command-spec.js delete mode 100644 plugins/screenrig/cli/dist/command-spec.js.map create mode 100644 plugins/screenrig/cli/dist/program.d.ts create mode 100644 plugins/screenrig/cli/dist/program.d.ts.map create mode 100644 plugins/screenrig/cli/dist/program.js create mode 100644 plugins/screenrig/cli/dist/program.js.map diff --git a/components.lock.json b/components.lock.json index a9a63d86..bc8640c3 100644 --- a/components.lock.json +++ b/components.lock.json @@ -3,10 +3,10 @@ "state": "resolved", "cli": { "repository": "screenrig/cli", - "commit": "6b85d88e478b827cb3d8ba453a17625ff14b74ca", + "commit": "d007df89b308e391584e5731c4c53e2fe20bf273", "artifact": { "file": "screenrig-cli.tgz", - "sha256": "bee8279b52401f006c0b69fae8b7aaace1ae7b6764d425d81c83b2069c25dc9c" + "sha256": "0f7a7dbd685c34461840e706660ebcee98cddfbc510e86089cca7611e8e5475c" } } } diff --git a/plugins/screenrig/cli/README.md b/plugins/screenrig/cli/README.md index b990ce68..5a5cc1d0 100644 --- a/plugins/screenrig/cli/README.md +++ b/plugins/screenrig/cli/README.md @@ -17,11 +17,11 @@ published. ```sh npm install --global screenrig@ -screenrig --json version +screenrig version ``` Node.js 20.11 or newer is required. `media upload` additionally requires ffmpeg -and ffprobe; the other commands do not. Run `screenrig --json doctor` to inspect +and ffprobe; the other commands do not. Run `screenrig doctor` to inspect the optional media toolchain before an upload. This global package is the official developer-shell distribution. It is not the @@ -29,8 +29,17 @@ agent install. Do not substitute it for the plugin launcher. ## What it does -Commands return JSON envelopes an agent can branch on. Customer surface is -content (`app`, `media`, `compose`), playlists, and screens. Full reference: +Operational commands return JSON envelopes by default, including errors with +nonzero exit codes. `--json` remains accepted for compatibility. Use `--human` +for explicit human-readable output; it cannot be combined with `--json`. +Output format never changes based on terminal detection. Progress goes to stderr; +`events follow` writes NDJSON (one envelope per line) without a trailing summary. +An empty follow session returns one envelope with `data.items: []`. + +Help, including bare command groups, stays human-readable by default; use +`--json --help` for structured discovery. Authoring files remain JSON. + +The customer surface is content (`app`, `media`, `compose`), playlists, and screens. Full reference: [https://screenrig.ai/docs/cli.md](https://screenrig.ai/docs/cli.md). Discover commands progressively with `screenrig --help`, `screenrig screen --help`, @@ -79,10 +88,17 @@ command. ## Develop -Commander 14 owns argument parsing, command selection, and help rendering while -supporting Node 20.11. The command tree feeds both human and JSON help. The adapter -keeps parser diagnostics inside the CLI error envelope and only forwards explicit -options to handlers, including the existing `no-*` boolean flags. +Commander 14 supports Node 20.11 and owns parsing, command selection, and help. +Add commands in `src/cli-commands/`: each group registers native Commander commands +with their arguments, options, descriptions, validation hooks, and bound handlers. +There is no separate command schema or path-based dispatcher. Shared option +parsers live beside these modules; human and JSON help read the registered tree. + +`src/program.ts` awaits Commander actions with `parseAsync`. The output boundary +keeps one CLI envelope per invocation, and shared handler setup handles config, +authentication, and logging. Only explicitly supplied options reach handlers, +including the existing `no-*` switches. `parseArgv` is an inspection helper for +tests; execution runs through Commander actions. ```sh npm ci diff --git a/plugins/screenrig/cli/assets/playlist-write.schema.json b/plugins/screenrig/cli/assets/playlist-write.schema.json index e52f979f..24d3eec7 100644 --- a/plugins/screenrig/cli/assets/playlist-write.schema.json +++ b/plugins/screenrig/cli/assets/playlist-write.schema.json @@ -1,5 +1,5 @@ { - "$comment": "Generated by screenrig-protocol-gen from api/openapi.yaml; sha256=4b059546fdce814b076959e18746bb88d855bc1d34fbe4dff2aee4fc484a0fe0. Shape validation only; run canonical playlist-write-semantics.ts next. Reference resolution and DNS remain server checks.", + "$comment": "Generated by screenrig-protocol-gen from api/openapi.yaml; sha256=442ef347a74607015f8a67c0efedd2630226c41b8b1db555ff1a55b3c46dbb02. Shape validation only; run canonical playlist-write-semantics.ts next. Reference resolution and DNS remain server checks.", "$defs": { "CanvasBackground": { "description": "Solid canonical uppercase #RRGGBBAA, or a top-to-bottom linear gradient.", diff --git a/plugins/screenrig/cli/assets/screenrig.runtime.js b/plugins/screenrig/cli/assets/screenrig.runtime.js index ab5e1566..29b95778 100644 --- a/plugins/screenrig/cli/assets/screenrig.runtime.js +++ b/plugins/screenrig/cli/assets/screenrig.runtime.js @@ -1,5 +1,1676 @@ "use strict"; (() => { + // node_modules/modern-screenshot/dist/index.mjs + var _P = "p".charCodeAt(0); + var _H = "H".charCodeAt(0); + var _Y = "Y".charCodeAt(0); + var _S = "s".charCodeAt(0); + var PREFIX = "[modern-screenshot]"; + var IN_BROWSER = typeof window !== "undefined"; + var SUPPORT_WEB_WORKER = IN_BROWSER && "Worker" in window; + var SUPPORT_ATOB = IN_BROWSER && "atob" in window; + var SUPPORT_BTOA = IN_BROWSER && "btoa" in window; + var USER_AGENT = IN_BROWSER ? window.navigator?.userAgent : ""; + var IN_CHROME = USER_AGENT.includes("Chrome"); + var IN_SAFARI = USER_AGENT.includes("AppleWebKit") && !IN_CHROME; + var IN_FIREFOX = USER_AGENT.includes("Firefox"); + var isContext = (value) => value && "__CONTEXT__" in value; + var isCssFontFaceRule = (rule) => rule.constructor.name === "CSSFontFaceRule"; + var isCSSImportRule = (rule) => rule.constructor.name === "CSSImportRule"; + var isLayerBlockRule = (rule) => rule.constructor.name === "CSSLayerBlockRule"; + var isElementNode = (node) => node.nodeType === 1; + var isSVGElementNode = (node) => typeof node.className === "object"; + var isSVGImageElementNode = (node) => node.tagName === "image"; + var isSVGUseElementNode = (node) => node.tagName === "use"; + var isHTMLElementNode = (node) => isElementNode(node) && typeof node.style !== "undefined" && !isSVGElementNode(node); + var isCommentNode = (node) => node.nodeType === 8; + var isTextNode = (node) => node.nodeType === 3; + var isImageElement = (node) => node.tagName === "IMG"; + var isVideoElement = (node) => node.tagName === "VIDEO"; + var isCanvasElement = (node) => node.tagName === "CANVAS"; + var isTextareaElement = (node) => node.tagName === "TEXTAREA"; + var isInputElement = (node) => node.tagName === "INPUT"; + var isStyleElement = (node) => node.tagName === "STYLE"; + var isScriptElement = (node) => node.tagName === "SCRIPT"; + var isSelectElement = (node) => node.tagName === "SELECT"; + var isSlotElement = (node) => node.tagName === "SLOT"; + var isIFrameElement = (node) => node.tagName === "IFRAME"; + var consoleWarn = (...args) => console.warn(PREFIX, ...args); + function supportWebp(ownerDocument) { + const canvas = ownerDocument?.createElement?.("canvas"); + if (canvas) { + canvas.height = canvas.width = 1; + } + return Boolean(canvas) && "toDataURL" in canvas && Boolean(canvas.toDataURL("image/webp").includes("image/webp")); + } + var isDataUrl = (url) => url.startsWith("data:"); + function resolveUrl(url, baseUrl) { + if (url.match(/^[a-z]+:\/\//i)) + return url; + if (IN_BROWSER && url.match(/^\/\//)) + return window.location.protocol + url; + if (url.match(/^[a-z]+:/i)) + return url; + if (!IN_BROWSER) + return url; + const doc = getDocument().implementation.createHTMLDocument(); + const base = doc.createElement("base"); + const a = doc.createElement("a"); + doc.head.appendChild(base); + doc.body.appendChild(a); + if (baseUrl) + base.href = baseUrl; + a.href = url; + return a.href; + } + function getDocument(target) { + return (target && isElementNode(target) ? target?.ownerDocument : target) ?? window.document; + } + var XMLNS = "http://www.w3.org/2000/svg"; + function createSvg(width, height, ownerDocument) { + const svg = getDocument(ownerDocument).createElementNS(XMLNS, "svg"); + svg.setAttributeNS(null, "width", width.toString()); + svg.setAttributeNS(null, "height", height.toString()); + svg.setAttributeNS(null, "viewBox", `0 0 ${width} ${height}`); + return svg; + } + function svgToDataUrl(svg, removeControlCharacter) { + let xhtml = new XMLSerializer().serializeToString(svg); + if (removeControlCharacter) { + xhtml = xhtml.replace(/[\u0000-\u0008\v\f\u000E-\u001F\uD800-\uDFFF\uFFFE\uFFFF]/gu, ""); + } + return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(xhtml)}`; + } + function readBlob(blob, type) { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = () => resolve(reader.result); + reader.onerror = () => reject(reader.error); + reader.onabort = () => reject(new Error(`Failed read blob to ${type}`)); + if (type === "dataUrl") { + reader.readAsDataURL(blob); + } else if (type === "arrayBuffer") { + reader.readAsArrayBuffer(blob); + } + }); + } + var blobToDataUrl = (blob) => readBlob(blob, "dataUrl"); + function createImage(url, ownerDocument) { + const img = getDocument(ownerDocument).createElement("img"); + img.decoding = "sync"; + img.loading = "eager"; + img.src = url; + return img; + } + function loadMedia(media, options) { + return new Promise((resolve) => { + const { timeout, ownerDocument, onError: userOnError, onWarn } = options ?? {}; + const node = typeof media === "string" ? createImage(media, getDocument(ownerDocument)) : media; + let timer = null; + let removeEventListeners = null; + function onResolve() { + resolve(node); + timer && clearTimeout(timer); + removeEventListeners?.(); + } + if (timeout) { + timer = setTimeout(onResolve, timeout); + } + if (isVideoElement(node)) { + const currentSrc = node.currentSrc || node.src; + if (!currentSrc) { + if (node.poster) { + return loadMedia(node.poster, options).then(resolve); + } + return onResolve(); + } + if (node.readyState >= 2) { + return onResolve(); + } + const onLoadeddata = onResolve; + const onError = (error) => { + onWarn?.( + "Failed video load", + currentSrc, + error + ); + userOnError?.(error); + onResolve(); + }; + removeEventListeners = () => { + node.removeEventListener("loadeddata", onLoadeddata); + node.removeEventListener("error", onError); + }; + node.addEventListener("loadeddata", onLoadeddata, { once: true }); + node.addEventListener("error", onError, { once: true }); + } else { + const currentSrc = isSVGImageElementNode(node) ? node.href.baseVal : node.currentSrc || node.src; + if (!currentSrc) { + return onResolve(); + } + const onLoad = async () => { + if (isImageElement(node) && "decode" in node) { + try { + await node.decode(); + } catch (error) { + onWarn?.( + "Failed to decode image, trying to render anyway", + node.dataset.originalSrc || currentSrc, + error + ); + } + } + onResolve(); + }; + const onError = (error) => { + onWarn?.( + "Failed image load", + node.dataset.originalSrc || currentSrc, + error + ); + onResolve(); + }; + if (isImageElement(node) && node.complete) { + return onLoad(); + } + removeEventListeners = () => { + node.removeEventListener("load", onLoad); + node.removeEventListener("error", onError); + }; + node.addEventListener("load", onLoad, { once: true }); + node.addEventListener("error", onError, { once: true }); + } + }); + } + async function waitUntilLoad(node, options) { + if (isHTMLElementNode(node)) { + if (isImageElement(node) || isVideoElement(node)) { + await loadMedia(node, options); + } else { + await Promise.all( + ["img", "video"].flatMap((selectors) => { + return Array.from(node.querySelectorAll(selectors)).map((el) => loadMedia(el, options)); + }) + ); + } + } + } + var uuid = /* @__PURE__ */ (function uuid2() { + let counter = 0; + const random = () => `0000${(Math.random() * 36 ** 4 << 0).toString(36)}`.slice(-4); + return () => { + counter += 1; + return `u${random()}${counter}`; + }; + })(); + function splitFontFamily(fontFamily) { + return fontFamily?.split(",").map((val) => val.trim().replace(/"|'/g, "").toLowerCase()).filter(Boolean); + } + var uid = 0; + function createLogger(debug) { + const prefix = `${PREFIX}[#${uid}]`; + uid++; + return { + // eslint-disable-next-line no-console + time: (label) => debug && console.time(`${prefix} ${label}`), + // eslint-disable-next-line no-console + timeEnd: (label) => debug && console.timeEnd(`${prefix} ${label}`), + warn: (...args) => debug && consoleWarn(...args) + }; + } + function getDefaultRequestInit(bypassingCache) { + return { + cache: bypassingCache ? "no-cache" : "force-cache" + }; + } + async function orCreateContext(node, options) { + return isContext(node) ? node : createContext(node, { ...options, autoDestruct: true }); + } + async function createContext(node, options) { + const { scale = 1, workerUrl, workerNumber = 1 } = options || {}; + const debug = Boolean(options?.debug); + const features = options?.features ?? true; + const ownerDocument = node.ownerDocument ?? (IN_BROWSER ? window.document : void 0); + const ownerWindow = node.ownerDocument?.defaultView ?? (IN_BROWSER ? window : void 0); + const requests = /* @__PURE__ */ new Map(); + const context = { + // Options + width: 0, + height: 0, + quality: 1, + type: "image/png", + scale, + backgroundColor: null, + style: null, + filter: null, + maximumCanvasSize: 0, + timeout: 3e4, + progress: null, + debug, + fetch: { + requestInit: getDefaultRequestInit(options?.fetch?.bypassingCache), + placeholderImage: "data:image/png;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", + bypassingCache: false, + ...options?.fetch + }, + fetchFn: null, + font: {}, + drawImageInterval: 100, + workerUrl: null, + workerNumber, + onCloneEachNode: null, + onCloneNode: null, + onEmbedNode: null, + onCreateForeignObjectSvg: null, + includeStyleProperties: null, + autoDestruct: false, + ...options, + // InternalContext + __CONTEXT__: true, + log: createLogger(debug), + node, + ownerDocument, + ownerWindow, + dpi: scale === 1 ? null : 96 * scale, + svgStyleElement: createStyleElement(ownerDocument), + svgDefsElement: ownerDocument?.createElementNS(XMLNS, "defs"), + svgStyles: /* @__PURE__ */ new Map(), + defaultComputedStyles: /* @__PURE__ */ new Map(), + workers: [ + ...Array.from({ + length: SUPPORT_WEB_WORKER && workerUrl && workerNumber ? workerNumber : 0 + }) + ].map(() => { + try { + const worker = new Worker(workerUrl); + worker.onmessage = async (event) => { + const { url, result } = event.data; + if (result) { + requests.get(url)?.resolve?.(result); + } else { + requests.get(url)?.reject?.(new Error(`Error receiving message from worker: ${url}`)); + } + }; + worker.onmessageerror = (event) => { + const { url } = event.data; + requests.get(url)?.reject?.(new Error(`Error receiving message from worker: ${url}`)); + }; + return worker; + } catch (error) { + context.log.warn("Failed to new Worker", error); + return null; + } + }).filter(Boolean), + fontFamilies: /* @__PURE__ */ new Map(), + fontCssTexts: /* @__PURE__ */ new Map(), + acceptOfImage: `${[ + supportWebp(ownerDocument) && "image/webp", + "image/svg+xml", + "image/*", + "*/*" + ].filter(Boolean).join(",")};q=0.8`, + requests, + drawImageCount: 0, + tasks: [], + features, + isEnable: (key) => { + if (key === "restoreScrollPosition") { + return typeof features === "boolean" ? false : features[key] ?? false; + } + if (typeof features === "boolean") { + return features; + } + return features[key] ?? true; + }, + shadowRoots: [] + }; + context.log.time("wait until load"); + await waitUntilLoad(node, { timeout: context.timeout, onWarn: context.log.warn }); + context.log.timeEnd("wait until load"); + const { width, height } = resolveBoundingBox(node, context); + context.width = width; + context.height = height; + return context; + } + function createStyleElement(ownerDocument) { + if (!ownerDocument) + return void 0; + const style = ownerDocument.createElement("style"); + const cssText = style.ownerDocument.createTextNode(` +.______background-clip--text { + background-clip: text; + -webkit-background-clip: text; +} +`); + style.appendChild(cssText); + return style; + } + function resolveBoundingBox(node, context) { + let { width, height } = context; + if (isElementNode(node) && (!width || !height)) { + const box = node.getBoundingClientRect(); + width = width || box.width || Number(node.getAttribute("width")) || 0; + height = height || box.height || Number(node.getAttribute("height")) || 0; + } + return { width, height }; + } + async function imageToCanvas(image, context) { + const { + log, + timeout, + drawImageCount, + drawImageInterval + } = context; + log.time("image to canvas"); + const loaded = await loadMedia(image, { timeout, onWarn: context.log.warn }); + const { canvas, context2d } = createCanvas(image.ownerDocument, context); + const drawImage = () => { + try { + context2d?.drawImage(loaded, 0, 0, canvas.width, canvas.height); + } catch (error) { + context.log.warn("Failed to drawImage", error); + } + }; + drawImage(); + if (context.isEnable("fixSvgXmlDecode")) { + for (let i = 0; i < drawImageCount; i++) { + await new Promise((resolve) => { + setTimeout(() => { + context2d?.clearRect(0, 0, canvas.width, canvas.height); + drawImage(); + resolve(); + }, i + drawImageInterval); + }); + } + } + context.drawImageCount = 0; + log.timeEnd("image to canvas"); + return canvas; + } + function createCanvas(ownerDocument, context) { + const { width, height, scale, backgroundColor, maximumCanvasSize: max } = context; + const canvas = ownerDocument.createElement("canvas"); + canvas.width = Math.floor(width * scale); + canvas.height = Math.floor(height * scale); + canvas.style.width = `${width}px`; + canvas.style.height = `${height}px`; + if (max) { + if (canvas.width > max || canvas.height > max) { + if (canvas.width > max && canvas.height > max) { + if (canvas.width > canvas.height) { + canvas.height *= max / canvas.width; + canvas.width = max; + } else { + canvas.width *= max / canvas.height; + canvas.height = max; + } + } else if (canvas.width > max) { + canvas.height *= max / canvas.width; + canvas.width = max; + } else { + canvas.width *= max / canvas.height; + canvas.height = max; + } + } + } + const context2d = canvas.getContext("2d"); + if (context2d && backgroundColor) { + context2d.fillStyle = backgroundColor; + context2d.fillRect(0, 0, canvas.width, canvas.height); + } + return { canvas, context2d }; + } + function cloneCanvas(canvas, context) { + if (canvas.ownerDocument) { + try { + const dataURL = canvas.toDataURL(); + if (dataURL !== "data:,") { + return createImage(dataURL, canvas.ownerDocument); + } + } catch (error) { + context.log.warn("Failed to clone canvas", error); + } + } + const cloned = canvas.cloneNode(false); + const ctx = canvas.getContext("2d"); + const clonedCtx = cloned.getContext("2d"); + try { + if (ctx && clonedCtx) { + clonedCtx.putImageData( + ctx.getImageData(0, 0, canvas.width, canvas.height), + 0, + 0 + ); + } + return cloned; + } catch (error) { + context.log.warn("Failed to clone canvas", error); + } + return cloned; + } + function cloneIframe(iframe, context) { + try { + if (iframe?.contentDocument?.documentElement) { + return cloneNode(iframe.contentDocument.documentElement, context); + } + } catch (error) { + context.log.warn("Failed to clone iframe", error); + } + return iframe.cloneNode(false); + } + function cloneImage(image) { + const cloned = image.cloneNode(false); + if (image.currentSrc && image.currentSrc !== image.src) { + cloned.src = image.currentSrc; + cloned.srcset = ""; + } + if (cloned.loading === "lazy") { + cloned.loading = "eager"; + } + return cloned; + } + async function cloneVideo(video, context) { + if (video.ownerDocument && !video.currentSrc && video.poster) { + return createImage(video.poster, video.ownerDocument); + } + const cloned = video.cloneNode(false); + cloned.crossOrigin = "anonymous"; + if (video.currentSrc && video.currentSrc !== video.src) { + cloned.src = video.currentSrc; + } + const ownerDocument = cloned.ownerDocument; + if (ownerDocument) { + let canPlay = true; + await loadMedia(cloned, { onError: () => canPlay = false, onWarn: context.log.warn }); + if (!canPlay) { + if (video.poster) { + return createImage(video.poster, video.ownerDocument); + } + return cloned; + } + cloned.currentTime = video.currentTime; + await new Promise((resolve) => { + cloned.addEventListener("seeked", resolve, { once: true }); + }); + const canvas = ownerDocument.createElement("canvas"); + canvas.width = video.offsetWidth; + canvas.height = video.offsetHeight; + try { + const ctx = canvas.getContext("2d"); + if (ctx) + ctx.drawImage(cloned, 0, 0, canvas.width, canvas.height); + } catch (error) { + context.log.warn("Failed to clone video", error); + if (video.poster) { + return createImage(video.poster, video.ownerDocument); + } + return cloned; + } + return cloneCanvas(canvas, context); + } + return cloned; + } + function cloneElement(node, context) { + if (isCanvasElement(node)) { + return cloneCanvas(node, context); + } + if (isIFrameElement(node)) { + return cloneIframe(node, context); + } + if (isImageElement(node)) { + return cloneImage(node); + } + if (isVideoElement(node)) { + return cloneVideo(node, context); + } + return node.cloneNode(false); + } + function getSandBox(context) { + let sandbox = context.sandbox; + if (!sandbox) { + const { ownerDocument } = context; + try { + if (ownerDocument) { + sandbox = ownerDocument.createElement("iframe"); + sandbox.id = `__SANDBOX__${uuid()}`; + sandbox.width = "0"; + sandbox.height = "0"; + sandbox.style.visibility = "hidden"; + sandbox.style.position = "fixed"; + ownerDocument.body.appendChild(sandbox); + sandbox.srcdoc = ''; + context.sandbox = sandbox; + } + } catch (error) { + context.log.warn("Failed to getSandBox", error); + } + } + return sandbox; + } + var ignoredStyles = [ + "width", + "height", + "-webkit-text-fill-color" + ]; + var includedAttributes = [ + "stroke", + "fill" + ]; + function getDefaultStyle(node, pseudoElement, context) { + const { defaultComputedStyles } = context; + const nodeName = node.nodeName.toLowerCase(); + const isSvgNode = isSVGElementNode(node) && nodeName !== "svg"; + const attributes = isSvgNode ? includedAttributes.map((name) => [name, node.getAttribute(name)]).filter(([, value]) => value !== null) : []; + const key = [ + isSvgNode && "svg", + nodeName, + attributes.map((name, value) => `${name}=${value}`).join(","), + pseudoElement + ].filter(Boolean).join(":"); + if (defaultComputedStyles.has(key)) + return defaultComputedStyles.get(key); + const sandbox = getSandBox(context); + const sandboxWindow = sandbox?.contentWindow; + if (!sandboxWindow) + return /* @__PURE__ */ new Map(); + const sandboxDocument = sandboxWindow?.document; + let root; + let el; + if (isSvgNode) { + root = sandboxDocument.createElementNS(XMLNS, "svg"); + el = root.ownerDocument.createElementNS(root.namespaceURI, nodeName); + attributes.forEach(([name, value]) => { + el.setAttributeNS(null, name, value); + }); + root.appendChild(el); + } else { + root = el = sandboxDocument.createElement(nodeName); + } + el.textContent = " "; + sandboxDocument.body.appendChild(root); + const computedStyle = sandboxWindow.getComputedStyle(el, pseudoElement); + const styles = /* @__PURE__ */ new Map(); + for (let len = computedStyle.length, i = 0; i < len; i++) { + const name = computedStyle.item(i); + if (ignoredStyles.includes(name)) + continue; + styles.set(name, computedStyle.getPropertyValue(name)); + } + sandboxDocument.body.removeChild(root); + defaultComputedStyles.set(key, styles); + return styles; + } + function getDiffStyle(style, defaultStyle, includeStyleProperties) { + const diffStyle = /* @__PURE__ */ new Map(); + const prefixs = []; + const prefixTree = /* @__PURE__ */ new Map(); + if (includeStyleProperties) { + for (const name of includeStyleProperties) { + applyTo(name); + } + } else { + for (let len = style.length, i = 0; i < len; i++) { + const name = style.item(i); + applyTo(name); + } + } + for (let len = prefixs.length, i = 0; i < len; i++) { + prefixTree.get(prefixs[i])?.forEach((value, name) => diffStyle.set(name, value)); + } + function applyTo(name) { + const value = style.getPropertyValue(name); + const priority = style.getPropertyPriority(name); + const subIndex = name.lastIndexOf("-"); + const prefix = subIndex > -1 ? name.substring(0, subIndex) : void 0; + if (prefix) { + let map = prefixTree.get(prefix); + if (!map) { + map = /* @__PURE__ */ new Map(); + prefixTree.set(prefix, map); + } + map.set(name, [value, priority]); + } + if (defaultStyle.get(name) === value && !priority) + return; + if (prefix) { + prefixs.push(prefix); + } else { + diffStyle.set(name, [value, priority]); + } + } + return diffStyle; + } + function copyCssStyles(node, cloned, isRoot, context) { + const { ownerWindow, includeStyleProperties, currentParentNodeStyle } = context; + const clonedStyle = cloned.style; + const computedStyle = ownerWindow.getComputedStyle(node); + const defaultStyle = getDefaultStyle(node, null, context); + currentParentNodeStyle?.forEach((_, key) => { + defaultStyle.delete(key); + }); + const style = getDiffStyle(computedStyle, defaultStyle, includeStyleProperties); + style.delete("transition-property"); + style.delete("all"); + style.delete("d"); + style.delete("content"); + if (isRoot) { + style.delete("position"); + style.delete("margin-top"); + style.delete("margin-right"); + style.delete("margin-bottom"); + style.delete("margin-left"); + style.delete("margin-block-start"); + style.delete("margin-block-end"); + style.delete("margin-inline-start"); + style.delete("margin-inline-end"); + style.set("box-sizing", ["border-box", ""]); + } + if (style.get("background-clip")?.[0] === "text") { + cloned.classList.add("______background-clip--text"); + } + if (IN_CHROME) { + if (!style.has("font-kerning")) + style.set("font-kerning", ["normal", ""]); + if ((style.get("overflow-x")?.[0] === "hidden" || style.get("overflow-y")?.[0] === "hidden") && style.get("text-overflow")?.[0] === "ellipsis" && node.scrollWidth === node.clientWidth) { + style.set("text-overflow", ["clip", ""]); + } + } + for (let len = clonedStyle.length, i = 0; i < len; i++) { + clonedStyle.removeProperty(clonedStyle.item(i)); + } + style.forEach(([value, priority], name) => { + clonedStyle.setProperty(name, value, priority); + }); + return style; + } + function copyInputValue(node, cloned) { + if (isTextareaElement(node) || isInputElement(node) || isSelectElement(node)) { + cloned.setAttribute("value", node.value); + } + } + var pseudoClasses = [ + "::before", + "::after" + // '::placeholder', TODO + ]; + var scrollbarPseudoClasses = [ + "::-webkit-scrollbar", + "::-webkit-scrollbar-button", + // '::-webkit-scrollbar:horizontal', TODO + "::-webkit-scrollbar-thumb", + "::-webkit-scrollbar-track", + "::-webkit-scrollbar-track-piece", + // '::-webkit-scrollbar:vertical', TODO + "::-webkit-scrollbar-corner", + "::-webkit-resizer" + ]; + function copyPseudoClass(node, cloned, copyScrollbar, context, addWordToFontFamilies) { + const { ownerWindow, svgStyleElement, svgStyles, currentNodeStyle } = context; + if (!svgStyleElement || !ownerWindow) + return; + function copyBy(pseudoClass) { + const computedStyle = ownerWindow.getComputedStyle(node, pseudoClass); + let content = computedStyle.getPropertyValue("content"); + if (!content || content === "none") + return; + addWordToFontFamilies?.(content); + content = content.replace(/(')|(")|(counter\(.+\))/g, ""); + const klasses = [uuid()]; + const defaultStyle = getDefaultStyle(node, pseudoClass, context); + currentNodeStyle?.forEach((_, key) => { + defaultStyle.delete(key); + }); + const style = getDiffStyle(computedStyle, defaultStyle, context.includeStyleProperties); + style.delete("content"); + style.delete("-webkit-locale"); + if (style.get("background-clip")?.[0] === "text") { + cloned.classList.add("______background-clip--text"); + } + const cloneStyle = [ + `content: '${content}';` + ]; + style.forEach(([value, priority], name) => { + cloneStyle.push(`${name}: ${value}${priority ? " !important" : ""};`); + }); + if (cloneStyle.length === 1) + return; + try { + cloned.className = [cloned.className, ...klasses].join(" "); + } catch (err) { + context.log.warn("Failed to copyPseudoClass", err); + return; + } + const cssText = cloneStyle.join("\n "); + let allClasses = svgStyles.get(cssText); + if (!allClasses) { + allClasses = []; + svgStyles.set(cssText, allClasses); + } + allClasses.push(`.${klasses[0]}${pseudoClass}`); + } + pseudoClasses.forEach(copyBy); + if (copyScrollbar) + scrollbarPseudoClasses.forEach(copyBy); + } + var excludeParentNodes = /* @__PURE__ */ new Set([ + "symbol" + // test/fixtures/svg.symbol.html + ]); + async function appendChildNode(node, cloned, child, context, addWordToFontFamilies) { + if (isElementNode(child) && (isStyleElement(child) || isScriptElement(child))) + return; + if (context.filter && !context.filter(child)) + return; + if (excludeParentNodes.has(cloned.nodeName) || excludeParentNodes.has(child.nodeName)) { + context.currentParentNodeStyle = void 0; + } else { + context.currentParentNodeStyle = context.currentNodeStyle; + } + const childCloned = await cloneNode(child, context, false, addWordToFontFamilies); + if (context.isEnable("restoreScrollPosition")) { + restoreScrollPosition(node, childCloned); + } + cloned.appendChild(childCloned); + } + async function cloneChildNodes(node, cloned, context, addWordToFontFamilies) { + let firstChild = node.firstChild; + if (isElementNode(node)) { + if (node.shadowRoot) { + firstChild = node.shadowRoot?.firstChild; + context.shadowRoots.push(node.shadowRoot); + } + } + for (let child = firstChild; child; child = child.nextSibling) { + if (isCommentNode(child)) + continue; + if (isElementNode(child) && isSlotElement(child) && typeof child.assignedNodes === "function") { + const nodes = child.assignedNodes(); + for (let i = 0; i < nodes.length; i++) { + await appendChildNode(node, cloned, nodes[i], context, addWordToFontFamilies); + } + } else { + await appendChildNode(node, cloned, child, context, addWordToFontFamilies); + } + } + } + function restoreScrollPosition(node, chlidCloned) { + if (!isHTMLElementNode(node) || !isHTMLElementNode(chlidCloned)) + return; + const { scrollTop, scrollLeft } = node; + if (!scrollTop && !scrollLeft) { + return; + } + const { transform } = chlidCloned.style; + const matrix = new DOMMatrix(transform); + const { a, b, c, d } = matrix; + matrix.a = 1; + matrix.b = 0; + matrix.c = 0; + matrix.d = 1; + matrix.translateSelf(-scrollLeft, -scrollTop); + matrix.a = a; + matrix.b = b; + matrix.c = c; + matrix.d = d; + chlidCloned.style.transform = matrix.toString(); + } + function applyCssStyleWithOptions(cloned, context) { + const { backgroundColor, width, height, style: styles } = context; + const clonedStyle = cloned.style; + if (backgroundColor) + clonedStyle.setProperty("background-color", backgroundColor, "important"); + if (width) + clonedStyle.setProperty("width", `${width}px`, "important"); + if (height) + clonedStyle.setProperty("height", `${height}px`, "important"); + if (styles) { + for (const name in styles) clonedStyle[name] = styles[name]; + } + } + var NORMAL_ATTRIBUTE_RE = /^[\w-:]+$/; + async function cloneNode(node, context, isRoot = false, addWordToFontFamilies) { + const { ownerDocument, ownerWindow, fontFamilies, onCloneEachNode } = context; + if (ownerDocument && isTextNode(node)) { + if (addWordToFontFamilies && /\S/.test(node.data)) { + addWordToFontFamilies(node.data); + } + return ownerDocument.createTextNode(node.data); + } + if (ownerDocument && ownerWindow && isElementNode(node) && (isHTMLElementNode(node) || isSVGElementNode(node))) { + const cloned2 = await cloneElement(node, context); + if (context.isEnable("removeAbnormalAttributes")) { + const names = cloned2.getAttributeNames(); + for (let len = names.length, i = 0; i < len; i++) { + const name = names[i]; + if (!NORMAL_ATTRIBUTE_RE.test(name)) { + cloned2.removeAttribute(name); + } + } + } + const style = context.currentNodeStyle = copyCssStyles(node, cloned2, isRoot, context); + if (isRoot) + applyCssStyleWithOptions(cloned2, context); + let copyScrollbar = false; + if (context.isEnable("copyScrollbar")) { + const overflow = [ + style.get("overflow-x")?.[0], + style.get("overflow-y")?.[0] + ]; + copyScrollbar = overflow.includes("scroll") || (overflow.includes("auto") || overflow.includes("overlay")) && (node.scrollHeight > node.clientHeight || node.scrollWidth > node.clientWidth); + } + const textTransform = style.get("text-transform")?.[0]; + const families = splitFontFamily(style.get("font-family")?.[0]); + const addWordToFontFamilies2 = families ? (word) => { + if (textTransform === "uppercase") { + word = word.toUpperCase(); + } else if (textTransform === "lowercase") { + word = word.toLowerCase(); + } else if (textTransform === "capitalize") { + word = word[0].toUpperCase() + word.substring(1); + } + families.forEach((family) => { + let fontFamily = fontFamilies.get(family); + if (!fontFamily) { + fontFamilies.set(family, fontFamily = /* @__PURE__ */ new Set()); + } + word.split("").forEach((text) => fontFamily.add(text)); + }); + } : void 0; + copyPseudoClass( + node, + cloned2, + copyScrollbar, + context, + addWordToFontFamilies2 + ); + copyInputValue(node, cloned2); + if (!isVideoElement(node)) { + await cloneChildNodes( + node, + cloned2, + context, + addWordToFontFamilies2 + ); + } + await onCloneEachNode?.(cloned2); + return cloned2; + } + const cloned = node.cloneNode(false); + await cloneChildNodes(node, cloned, context); + await onCloneEachNode?.(cloned); + return cloned; + } + function destroyContext(context) { + context.ownerDocument = void 0; + context.ownerWindow = void 0; + context.svgStyleElement = void 0; + context.svgDefsElement = void 0; + context.svgStyles.clear(); + context.defaultComputedStyles.clear(); + if (context.sandbox) { + try { + context.sandbox.remove(); + } catch (err) { + context.log.warn("Failed to destroyContext", err); + } + context.sandbox = void 0; + } + context.workers = []; + context.fontFamilies.clear(); + context.fontCssTexts.clear(); + context.requests.clear(); + context.tasks = []; + context.shadowRoots = []; + } + function baseFetch(options) { + const { url, timeout, responseType, ...requestInit } = options; + const controller = new AbortController(); + const timer = timeout ? setTimeout(() => controller.abort(), timeout) : void 0; + return fetch(url, { signal: controller.signal, ...requestInit }).then((response) => { + if (!response.ok) { + throw new Error("Failed fetch, not 2xx response", { cause: response }); + } + switch (responseType) { + case "arrayBuffer": + return response.arrayBuffer(); + case "dataUrl": + return response.blob().then(blobToDataUrl); + case "text": + default: + return response.text(); + } + }).finally(() => clearTimeout(timer)); + } + function contextFetch(context, options) { + const { url: rawUrl, requestType = "text", responseType = "text", imageDom } = options; + let url = rawUrl; + const { + timeout, + acceptOfImage, + requests, + fetchFn, + fetch: { + requestInit, + bypassingCache, + placeholderImage + }, + font, + workers, + fontFamilies + } = context; + if (requestType === "image" && (IN_SAFARI || IN_FIREFOX)) { + context.drawImageCount++; + } + let request = requests.get(rawUrl); + if (!request) { + if (bypassingCache) { + if (bypassingCache instanceof RegExp && bypassingCache.test(url)) { + url += (/\?/.test(url) ? "&" : "?") + (/* @__PURE__ */ new Date()).getTime(); + } + } + const canFontMinify = requestType.startsWith("font") && font && font.minify; + const fontTexts = /* @__PURE__ */ new Set(); + if (canFontMinify) { + const families = requestType.split(";")[1].split(","); + families.forEach((family) => { + if (!fontFamilies.has(family)) + return; + fontFamilies.get(family).forEach((text) => fontTexts.add(text)); + }); + } + const needFontMinify = canFontMinify && fontTexts.size; + const baseFetchOptions = { + url, + timeout, + responseType: needFontMinify ? "arrayBuffer" : responseType, + headers: requestType === "image" ? { accept: acceptOfImage } : void 0, + ...requestInit + }; + request = { + type: requestType, + resolve: void 0, + reject: void 0, + response: null + }; + request.response = (async () => { + if (fetchFn && requestType === "image") { + const result = await fetchFn(rawUrl); + if (result) + return result; + } + if (!IN_SAFARI && rawUrl.startsWith("http") && workers.length) { + return new Promise((resolve, reject) => { + const worker = workers[requests.size & workers.length - 1]; + worker.postMessage({ rawUrl, ...baseFetchOptions }); + request.resolve = resolve; + request.reject = reject; + }); + } + return baseFetch(baseFetchOptions); + })().catch((error) => { + requests.delete(rawUrl); + if (requestType === "image" && placeholderImage) { + context.log.warn("Failed to fetch image base64, trying to use placeholder image", url); + return typeof placeholderImage === "string" ? placeholderImage : placeholderImage(imageDom); + } + throw error; + }); + requests.set(rawUrl, request); + } + return request.response; + } + async function replaceCssUrlToDataUrl(cssText, baseUrl, context, isImage) { + if (!hasCssUrl(cssText)) + return cssText; + for (const [rawUrl, url] of parseCssUrls(cssText, baseUrl)) { + try { + const dataUrl = await contextFetch( + context, + { + url, + requestType: isImage ? "image" : "text", + responseType: "dataUrl" + } + ); + cssText = cssText.replace(toRE(rawUrl), `$1${dataUrl}$3`); + } catch (error) { + context.log.warn("Failed to fetch css data url", rawUrl, error); + } + } + return cssText; + } + function hasCssUrl(cssText) { + return /url\((['"]?)([^'"]+?)\1\)/.test(cssText); + } + var URL_RE = /url\((['"]?)([^'"]+?)\1\)/g; + function parseCssUrls(cssText, baseUrl) { + const result = []; + cssText.replace(URL_RE, (raw, quotation, url) => { + result.push([url, resolveUrl(url, baseUrl)]); + return raw; + }); + return result.filter(([url]) => !isDataUrl(url)); + } + function toRE(url) { + const escaped = url.replace(/([.*+?^${}()|\[\]\/\\])/g, "\\$1"); + return new RegExp(`(url\\(['"]?)(${escaped})(['"]?\\))`, "g"); + } + var properties = [ + "background-image", + "border-image-source", + "-webkit-border-image", + "-webkit-mask-image", + "list-style-image" + ]; + function embedCssStyleImage(style, context) { + return properties.map((property) => { + const value = style.getPropertyValue(property); + if (!value || value === "none") { + return null; + } + if (IN_SAFARI || IN_FIREFOX) { + context.drawImageCount++; + } + return replaceCssUrlToDataUrl(value, null, context, true).then((newValue) => { + if (!newValue || value === newValue) + return; + style.setProperty( + property, + newValue, + style.getPropertyPriority(property) + ); + }); + }).filter(Boolean); + } + function embedImageElement(cloned, context) { + if (isImageElement(cloned)) { + const originalSrc = cloned.currentSrc || cloned.src; + if (!isDataUrl(originalSrc)) { + return [ + contextFetch(context, { + url: originalSrc, + imageDom: cloned, + requestType: "image", + responseType: "dataUrl" + }).then((url) => { + if (!url) + return; + cloned.srcset = ""; + cloned.dataset.originalSrc = originalSrc; + cloned.src = url || ""; + }) + ]; + } + if (IN_SAFARI || IN_FIREFOX) { + context.drawImageCount++; + } + } else if (isSVGElementNode(cloned) && !isDataUrl(cloned.href.baseVal)) { + const originalSrc = cloned.href.baseVal; + return [ + contextFetch(context, { + url: originalSrc, + imageDom: cloned, + requestType: "image", + responseType: "dataUrl" + }).then((url) => { + if (!url) + return; + cloned.dataset.originalSrc = originalSrc; + cloned.href.baseVal = url || ""; + }) + ]; + } + return []; + } + function embedSvgUse(cloned, context) { + const { ownerDocument, svgDefsElement } = context; + const href = cloned.getAttribute("href") ?? cloned.getAttribute("xlink:href"); + if (!href) + return []; + const [svgUrl, id] = href.split("#"); + if (id) { + const query = `#${id}`; + const definition = context.shadowRoots.reduce( + (res, root) => { + return res ?? root.querySelector(`svg ${query}`); + }, + ownerDocument?.querySelector(`svg ${query}`) + ); + if (svgUrl) { + cloned.setAttribute("href", query); + } + if (svgDefsElement?.querySelector(query)) + return []; + if (definition) { + svgDefsElement?.appendChild(definition.cloneNode(true)); + return []; + } else if (svgUrl) { + return [ + contextFetch(context, { + url: svgUrl, + responseType: "text" + }).then((svgData) => { + svgDefsElement?.insertAdjacentHTML("beforeend", svgData); + }) + ]; + } + } + return []; + } + function embedNode(cloned, context) { + const { tasks } = context; + if (isElementNode(cloned)) { + if (isImageElement(cloned) || isSVGImageElementNode(cloned)) { + tasks.push(...embedImageElement(cloned, context)); + } + if (isSVGUseElementNode(cloned)) { + tasks.push(...embedSvgUse(cloned, context)); + } + } + if (isHTMLElementNode(cloned)) { + tasks.push(...embedCssStyleImage(cloned.style, context)); + } + cloned.childNodes.forEach((child) => { + embedNode(child, context); + }); + } + async function embedWebFont(clone, context) { + const { + ownerDocument, + svgStyleElement, + fontFamilies, + fontCssTexts, + tasks, + font + } = context; + if (!ownerDocument || !svgStyleElement || !fontFamilies.size) { + return; + } + if (font && font.cssText) { + const cssText = filterPreferredFormat(font.cssText, context); + svgStyleElement.appendChild(ownerDocument.createTextNode(`${cssText} +`)); + } else { + const styleSheets = Array.from(ownerDocument.styleSheets).filter((styleSheet) => { + try { + return "cssRules" in styleSheet && Boolean(styleSheet.cssRules.length); + } catch (error) { + context.log.warn(`Error while reading CSS rules from ${styleSheet.href}`, error); + return false; + } + }); + const tempDoc = ownerDocument.implementation.createHTMLDocument(""); + const tempStyleEl = tempDoc.createElement("style"); + tempDoc.head.appendChild(tempStyleEl); + const tempStyleSheet = tempStyleEl.sheet; + await Promise.all( + styleSheets.flatMap((styleSheet) => { + return Array.from(styleSheet.cssRules).map(async (cssRule) => { + if (isCSSImportRule(cssRule)) { + const baseUrl = cssRule.href; + let cssText = ""; + try { + cssText = await contextFetch(context, { + url: baseUrl, + requestType: "text", + responseType: "text" + }); + } catch (error) { + context.log.warn(`Error fetch remote css import from ${baseUrl}`, error); + } + const replacedCssText = cssText.replace( + URL_RE, + (raw, quotation, url) => raw.replace(url, resolveUrl(url, baseUrl)) + ); + for (const rule of parseCss(replacedCssText)) { + try { + tempStyleSheet.insertRule(rule, tempStyleSheet.cssRules.length); + } catch (error) { + context.log.warn("Error inserting rule from remote css import", { rule, error }); + } + } + } + }); + }) + ); + if (tempStyleSheet.cssRules.length) + styleSheets.push(tempStyleSheet); + const cssRules = []; + styleSheets.forEach((sheet) => { + unwrapCssLayers(sheet.cssRules, cssRules); + }); + cssRules.filter((cssRule) => isCssFontFaceRule(cssRule) && hasCssUrl(cssRule.style.getPropertyValue("src")) && splitFontFamily(cssRule.style.getPropertyValue("font-family"))?.some((val) => fontFamilies.has(val))).forEach((value) => { + const rule = value; + const cssText = fontCssTexts.get(rule.cssText); + if (cssText) { + svgStyleElement.appendChild(ownerDocument.createTextNode(`${cssText} +`)); + } else { + tasks.push( + replaceCssUrlToDataUrl( + rule.cssText, + rule.parentStyleSheet ? rule.parentStyleSheet.href : null, + context + ).then((cssText2) => { + cssText2 = filterPreferredFormat(cssText2, context); + fontCssTexts.set(rule.cssText, cssText2); + svgStyleElement.appendChild(ownerDocument.createTextNode(`${cssText2} +`)); + }) + ); + } + }); + } + } + var COMMENTS_RE = /(\/\*[\s\S]*?\*\/)/g; + var KEYFRAMES_RE = /((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi; + function parseCss(source) { + if (source == null) + return []; + const result = []; + let cssText = source.replace(COMMENTS_RE, ""); + while (true) { + const matches = KEYFRAMES_RE.exec(cssText); + if (!matches) + break; + result.push(matches[0]); + } + cssText = cssText.replace(KEYFRAMES_RE, ""); + const IMPORT_RE = /@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi; + const UNIFIED_RE = new RegExp( + // eslint-disable-next-line + "((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})", + "gi" + ); + while (true) { + let matches = IMPORT_RE.exec(cssText); + if (!matches) { + matches = UNIFIED_RE.exec(cssText); + if (!matches) { + break; + } else { + IMPORT_RE.lastIndex = UNIFIED_RE.lastIndex; + } + } else { + UNIFIED_RE.lastIndex = IMPORT_RE.lastIndex; + } + result.push(matches[0]); + } + return result; + } + var URL_WITH_FORMAT_RE = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g; + var FONT_SRC_RE = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g; + function filterPreferredFormat(str, context) { + const { font } = context; + const preferredFormat = font ? font?.preferredFormat : void 0; + return preferredFormat ? str.replace(FONT_SRC_RE, (match) => { + while (true) { + const [src, , format] = URL_WITH_FORMAT_RE.exec(match) || []; + if (!format) + return ""; + if (format === preferredFormat) + return `src: ${src};`; + } + }) : str; + } + function unwrapCssLayers(rules, out = []) { + for (const rule of Array.from(rules)) { + if (isLayerBlockRule(rule)) { + out.push(...unwrapCssLayers(rule.cssRules)); + } else if ("cssRules" in rule) { + unwrapCssLayers(rule.cssRules, out); + } else { + out.push(rule); + } + } + return out; + } + var SVG_EXTERNAL_RESOURCE_REGEX = /\bx?link:?href\s*=\s*["'](?!data:)[^"']+["']/i; + function svgHasExternalResources(svg) { + return SVG_EXTERNAL_RESOURCE_REGEX.test(svg.innerHTML); + } + async function domToForeignObjectSvg(node, options) { + const context = await orCreateContext(node, options); + if (isElementNode(context.node) && isSVGElementNode(context.node) && !svgHasExternalResources(context.node)) + return context.node; + const { + ownerDocument, + log, + tasks, + svgStyleElement, + svgDefsElement, + svgStyles, + font, + progress, + autoDestruct, + onCloneNode, + onEmbedNode, + onCreateForeignObjectSvg + } = context; + log.time("clone node"); + const clone = await cloneNode(context.node, context, true); + if (svgStyleElement && ownerDocument) { + let allCssText = ""; + svgStyles.forEach((klasses, cssText) => { + allCssText += `${klasses.join(",\n")} { + ${cssText} +} +`; + }); + svgStyleElement.appendChild(ownerDocument.createTextNode(allCssText)); + } + log.timeEnd("clone node"); + await onCloneNode?.(clone); + if (font !== false && isElementNode(clone)) { + log.time("embed web font"); + await embedWebFont(clone, context); + log.timeEnd("embed web font"); + } + log.time("embed node"); + embedNode(clone, context); + const count = tasks.length; + let current = 0; + const runTask = async () => { + while (true) { + const task = tasks.pop(); + if (!task) + break; + try { + await task; + } catch (error) { + context.log.warn("Failed to run task", error); + } + progress?.(++current, count); + } + }; + progress?.(current, count); + await Promise.all([...Array.from({ length: 4 })].map(runTask)); + log.timeEnd("embed node"); + await onEmbedNode?.(clone); + const svg = createForeignObjectSvg(clone, context); + svgDefsElement && svg.insertBefore(svgDefsElement, svg.children[0]); + svgStyleElement && svg.insertBefore(svgStyleElement, svg.children[0]); + autoDestruct && destroyContext(context); + await onCreateForeignObjectSvg?.(svg); + return svg; + } + function createForeignObjectSvg(clone, context) { + const { width, height } = context; + const svg = createSvg(width, height, clone.ownerDocument); + const foreignObject = svg.ownerDocument.createElementNS(svg.namespaceURI, "foreignObject"); + foreignObject.setAttributeNS(null, "x", "0%"); + foreignObject.setAttributeNS(null, "y", "0%"); + foreignObject.setAttributeNS(null, "width", "100%"); + foreignObject.setAttributeNS(null, "height", "100%"); + foreignObject.append(clone); + svg.appendChild(foreignObject); + return svg; + } + async function domToCanvas(node, options) { + const context = await orCreateContext(node, options); + const svg = await domToForeignObjectSvg(context); + const dataUrl = svgToDataUrl(svg, context.isEnable("removeControlCharacter")); + if (!context.autoDestruct) { + context.svgStyleElement = createStyleElement(context.ownerDocument); + context.svgDefsElement = context.ownerDocument?.createElementNS(XMLNS, "defs"); + context.svgStyles.clear(); + } + const image = createImage(dataUrl, svg.ownerDocument); + return await imageToCanvas(image, context); + } + + // src/capture.ts + /*! Bundled modern-screenshot 4.7.0 + The MIT License (MIT) + + Copyright (c) 2021-present wxm + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + var CAPTURE_PROTOCOL = "screenrig.capture/1"; + var CAPTURE_MAX_BYTES = 2097152; + var CAPTURE_TIMEOUT_MS = 5e3; + var MAX_PIXELS = 8388608; + var CaptureUnavailable = class extends Error { + constructor(reason = "unsupported_surface") { + super(reason); + this.reason = reason; + } + }; + var frames = /* @__PURE__ */ new WeakMap(); + function boundedWebP(bytes) { + if (bytes.length < 30 || String.fromCharCode(...bytes.slice(0, 4)) !== "RIFF" || String.fromCharCode(...bytes.slice(8, 12)) !== "WEBP") return false; + const kind = String.fromCharCode(...bytes.slice(12, 16)); + const u24 = (at) => bytes[at] | bytes[at + 1] << 8 | bytes[at + 2] << 16; + let width = 0, height = 0; + if (kind === "VP8X" && (bytes[20] & 2) === 0) { + width = 1 + u24(24); + height = 1 + u24(27); + } else if (kind === "VP8L" && bytes[20] === 47) { + width = 1 + (bytes[21] | (bytes[22] & 63) << 8); + height = 1 + (bytes[22] >> 6 | bytes[23] << 2 | (bytes[24] & 15) << 10); + } else if (kind === "VP8 " && bytes[23] === 157 && bytes[24] === 1 && bytes[25] === 42) { + width = (bytes[26] | bytes[27] << 8) & 16383; + height = (bytes[28] | bytes[29] << 8) & 16383; + } + return width > 0 && height > 0 && width * height <= MAX_PIXELS; + } + function validCaptureRequest(value, context) { + if (!context || !value || typeof value !== "object") return false; + const request = value; + return Object.keys(request).length === 5 && request.protocol === CAPTURE_PROTOCOL && request.kind === "capture" && request.primitive_id === context.primitive_id && request.generation === context.generation && request.nonce === context.nonce; + } + function attachCaptureReceiver(win, context) { + let busy = false; + const listener = (event) => { + const binding = context(); + if (busy || event.source !== win.parent || event.origin === "null" || event.origin !== binding?.player_origin || !validCaptureRequest(event.data, binding) || event.ports.length !== 1) return; + const port = event.ports[0]; + busy = true; + void captureDOM(win.document.documentElement).then(async (canvas) => { + const current = context(); + if (current?.nonce !== binding.nonce || current.generation !== binding.generation) throw new CaptureUnavailable(); + const blob = await new Promise((resolve) => canvas.toBlob(resolve, "image/webp", 1)); + if (!blob || blob.type !== "image/webp" || blob.size > CAPTURE_MAX_BYTES) throw new CaptureUnavailable("capture_failed"); + port.postMessage({ blob }); + }).catch(() => { + port.postMessage({ unavailable: true }); + }).finally(() => { + port.close(); + busy = false; + }); + }; + win.addEventListener("message", listener); + return () => win.removeEventListener("message", listener); + } + async function captureFrame(frame, signal) { + const binding = frames.get(frame)?.(); + const child = frame.contentWindow; + if (!binding || !child || binding.origin === "null" || binding.origin === "*") throw new CaptureUnavailable(); + return new Promise((resolve, reject) => { + const channel = new MessageChannel(); + const finish = (blob) => { + clearTimeout(timer); + signal?.removeEventListener("abort", abort); + channel.port1.close(); + channel.port2.close(); + if (blob) resolve(blob); + else reject(new CaptureUnavailable()); + }; + const abort = () => finish(); + const timer = setTimeout(abort, CAPTURE_TIMEOUT_MS); + channel.port1.onmessage = (event) => { + const current = frames.get(frame)?.(); + const data = event.data; + if (current?.nonce !== binding.nonce || current.generation !== binding.generation || !frame.isConnected) return finish(); + const blob = data?.blob; + finish(blob instanceof Blob && blob.type === "image/webp" && blob.size > 0 && blob.size <= CAPTURE_MAX_BYTES ? blob : void 0); + }; + signal?.addEventListener("abort", abort, { once: true }); + if (signal?.aborted) return finish(); + try { + child.postMessage({ + protocol: CAPTURE_PROTOCOL, + kind: "capture", + primitive_id: binding.primitive_id, + generation: binding.generation, + nonce: binding.nonce + }, binding.origin, [channel.port2]); + } catch { + finish(); + } + }); + } + function visible(node) { + const style = getComputedStyle(node); + return style.display !== "none" && style.visibility !== "hidden" && Number(style.opacity) !== 0; + } + async function captureFonts(document2, families) { + const rules = []; + const visit = (list) => { + for (const rule of list) { + if (rule instanceof CSSFontFaceRule && families.has(rule.style.getPropertyValue("font-family").replaceAll(/["']/g, "").toLowerCase())) rules.push(rule); + else if (rule instanceof CSSImportRule && rule.styleSheet) visit(rule.styleSheet.cssRules); + else if ("cssRules" in rule) visit(rule.cssRules); + } + }; + for (const sheet of document2.styleSheets) visit(sheet.cssRules); + let total = 0; + const output = []; + for (const rule of rules) { + let css = rule.cssText; + const urls = [...css.matchAll(/url\(["']?([^"')]+)["']?\)/g)]; + for (const match of urls) { + const url = new URL(match[1], rule.parentStyleSheet?.href ?? document2.baseURI); + if (url.origin !== document2.location.origin) throw new CaptureUnavailable(); + const response = await fetch(url, { credentials: "same-origin", cache: "force-cache", signal: AbortSignal.timeout(2e3) }); + if (!response.ok) throw new CaptureUnavailable("capture_failed"); + const buffer = await response.arrayBuffer(); + total += buffer.byteLength; + if (total > MAX_PIXELS) throw new CaptureUnavailable("capture_failed"); + const bytes = new Uint8Array(buffer); + let binary = ""; + for (let offset = 0; offset < bytes.length; offset += 16384) binary += String.fromCharCode(...bytes.subarray(offset, offset + 16384)); + css = css.replace(match[0], `url("data:font/ttf;base64,${btoa(binary)}")`); + } + output.push(css); + } + return output.join("\n") || "/* system fonts */"; + } + var previous = Promise.resolve(); + function captureDOM(root, signal) { + const result = previous.catch(() => void 0).then(() => capture(root, signal)); + previous = result; + return result; + } + async function capture(root, signal) { + if (signal?.aborted) throw new CaptureUnavailable(); + const width = root.clientWidth, height = root.clientHeight; + if (width < 1 || height < 1 || width * height > MAX_PIXELS) throw new CaptureUnavailable("capture_failed"); + const marker = `data-capture-${crypto.randomUUID()}`; + const replacements = /* @__PURE__ */ new Map(); + const marked = []; + const videoClones = /* @__PURE__ */ new Map(); + const placeholders = []; + const videos = /* @__PURE__ */ new WeakSet(); + const families = /* @__PURE__ */ new Set(); + let failed = false; + const visit = async (node) => { + if (!visible(node)) return; + const style = getComputedStyle(node); + for (const family of style.fontFamily.split(",")) families.add(family.trim().replaceAll(/["']/g, "").toLowerCase()); + if (style.mixBlendMode !== "normal" || style.backdropFilter && style.backdropFilter !== "none") throw new CaptureUnavailable(); + if (node instanceof HTMLVideoElement) { + if (node.readyState < 2 || node.videoWidth < 1 || node.videoHeight < 1) throw new CaptureUnavailable("capture_failed"); + const canvas = document.createElement("canvas"); + canvas.width = node.videoWidth; + canvas.height = node.videoHeight; + if (canvas.width * canvas.height > MAX_PIXELS) throw new CaptureUnavailable("capture_failed"); + canvas.getContext("2d").drawImage(node, 0, 0); + const image = document.createElement("img"); + image.src = canvas.toDataURL(); + const key = `video-${placeholders.length}`; + image.setAttribute(marker, key); + image.style.display = "none"; + image.setAttribute("aria-hidden", "true"); + videoClones.set(key, Array.from(style).map((property) => `${property}:${style.getPropertyValue(property)};`).join("")); + placeholders.push(image); + videos.add(node); + node.before(image); + return; + } + if (node instanceof HTMLIFrameElement) { + const blob = await captureFrame(node, signal); + if (!boundedWebP(new Uint8Array(await blob.slice(0, 30).arrayBuffer()))) throw new CaptureUnavailable(); + const bitmap = await createImageBitmap(blob); + try { + if (bitmap.width * bitmap.height > MAX_PIXELS) throw new CaptureUnavailable(); + const canvas = document.createElement("canvas"); + canvas.width = bitmap.width; + canvas.height = bitmap.height; + canvas.getContext("2d").drawImage(bitmap, 0, 0); + const key = String(marked.length); + replacements.set(key, canvas.toDataURL()); + node.setAttribute(marker, key); + marked.push(node); + } finally { + bitmap.close(); + } + return; + } + if (node instanceof HTMLObjectElement || node instanceof HTMLEmbedElement || node.shadowRoot) throw new CaptureUnavailable(); + for (const child of [...node.children]) await visit(child); + }; + let context; + try { + await visit(root); + const fontCSS = await captureFonts(root.ownerDocument, families); + context = await createContext(root, { + width, + height, + scale: 1, + timeout: 2e3, + debug: false, + font: { cssText: fontCSS }, + features: { restoreScrollPosition: true }, + filter: (node) => !videos.has(node) && (!(node instanceof Element) || node.hasAttribute(marker) || visible(node)), + onCloneNode: (clone) => { + if (!(clone instanceof Element)) return; + for (const node of clone.querySelectorAll(`[${marker}]`)) { + const key = node.getAttribute(marker); + const videoStyle = videoClones.get(key); + if (videoStyle !== void 0) { + node.style.cssText = videoStyle; + node.removeAttribute(marker); + continue; + } + const image = document.createElement("img"); + image.src = replacements.get(key); + image.style.cssText = node.style.cssText; + image.style.objectFit = "fill"; + node.replaceWith(image); + } + } + }); + context.log.warn = () => { + failed = true; + }; + const canvas = await domToCanvas(context); + if (failed || signal?.aborted) throw new CaptureUnavailable("capture_failed"); + return canvas; + } catch (error) { + throw error instanceof CaptureUnavailable ? error : new CaptureUnavailable("capture_failed"); + } finally { + for (const node of marked) node.removeAttribute(marker); + for (const image of placeholders) image.remove(); + if (context) destroyContext(context); + } + } + // src/protocol.ts var PROTOCOL = "1"; var PARENT_HANDSHAKE_PROTOCOL = "screenrig.parent-handshake/1"; @@ -723,6 +2394,7 @@ // src/browser.ts var candidate = globalThis.window; if (candidate?.parent && typeof candidate.addEventListener === "function") { - attachScreenRig(candidate); + const client = attachScreenRig(candidate); + if (typeof document !== "undefined") attachCaptureReceiver(window, () => client.readyState === "active" ? client.context : null); } })(); diff --git a/plugins/screenrig/cli/dist/adapters/protocol.d.ts b/plugins/screenrig/cli/dist/adapters/protocol.d.ts index 751a9268..ade1f8be 100644 --- a/plugins/screenrig/cli/dist/adapters/protocol.d.ts +++ b/plugins/screenrig/cli/dist/adapters/protocol.d.ts @@ -328,7 +328,7 @@ export interface ScreenScreenshotAccepted { capture_id: ScreenshotCaptureID; expires_at: string; } -export type ScreenScreenshotState = "idle" | "pending" | "ready" | "timed_out"; +export type ScreenScreenshotState = "idle" | "pending" | "ready" | "timed_out" | "unavailable"; /** GET /api/v1/screens/{id}/screenshot/status. Image bytes are never present. */ export interface ScreenScreenshotStatus { bytes?: number; diff --git a/plugins/screenrig/cli/dist/adapters/protocol.d.ts.map b/plugins/screenrig/cli/dist/adapters/protocol.d.ts.map index 1364cc16..09417bdf 100644 --- a/plugins/screenrig/cli/dist/adapters/protocol.d.ts.map +++ b/plugins/screenrig/cli/dist/adapters/protocol.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/adapters/protocol.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/adapters/protocol.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/argv.d.ts b/plugins/screenrig/cli/dist/argv.d.ts index a34e6069..83c6f8d7 100644 --- a/plugins/screenrig/cli/dist/argv.d.ts +++ b/plugins/screenrig/cli/dist/argv.d.ts @@ -1,12 +1,8 @@ +import type { ParsedArgs } from "./command-input.js"; import { type HelpDocument } from "./help.js"; -export interface ParsedArgs { - command: string[]; - flags: Record; - positionals: string[]; +export { flagString, flagBool, flagNumber, type ParsedArgs } from "./command-input.js"; +/** Inspect the same native command tree without executing an application handler. */ +export declare function parseArgv(argv: string[]): ParsedArgs & { help?: HelpDocument; -} -export declare function parseArgv(argv: string[]): ParsedArgs; -export declare function flagString(flags: Record, name: string): string | undefined; -export declare function flagBool(flags: Record, name: string): boolean; -export declare function flagNumber(flags: Record, name: string): number | undefined; +}; //# sourceMappingURL=argv.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/argv.d.ts.map b/plugins/screenrig/cli/dist/argv.d.ts.map index 7058e794..106116c6 100644 --- a/plugins/screenrig/cli/dist/argv.d.ts.map +++ b/plugins/screenrig/cli/dist/argv.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"argv.d.ts","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAG5D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IACxC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CA6BpD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGpG;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOpG"} \ No newline at end of file +{"version":3,"file":"argv.d.ts","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEvF,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG;IAAE,IAAI,CAAC,EAAE,YAAY,CAAA;CAAE,CAc9E"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/argv.js b/plugins/screenrig/cli/dist/argv.js index 61bc8748..ebaea7b3 100644 --- a/plugins/screenrig/cli/dist/argv.js +++ b/plugins/screenrig/cli/dist/argv.js @@ -1,17 +1,10 @@ import { CommanderError } from "commander"; -import { commandPath, createCommandTree, invocationFlags } from "./command-tree.js"; +import { commandInput, createCommandTree } from "./command-tree.js"; import { describeHelp } from "./help.js"; -import { usageError } from "./problems.js"; +export { flagString, flagBool, flagNumber } from "./command-input.js"; +/** Inspect the same native command tree without executing an application handler. */ export function parseArgv(argv) { - // Commander handles tokenization, option scope, command paths, aliases, - // positional arity, and option conflicts. It must never exit this process. - const end = argv.indexOf("--"); - const options = end < 0 ? argv : argv.slice(0, end); - for (const spellings of [["--help", "-h"], ["--version", "-V"]]) { - if (options.filter((arg) => spellings.includes(arg)).length > 1) - throw usageError(`${spellings[0]} may be supplied only once.`); - } - const tree = createCommandTree(options); + const tree = createCommandTree(argv); try { tree.root.parse(argv, { from: "user" }); } @@ -19,38 +12,13 @@ export function parseArgv(argv) { if (!(error instanceof CommanderError) || !(tree.helpRequested() || tree.versionRequested())) throw error; } - const selected = tree.selected(); - const flags = invocationFlags(selected); + const args = commandInput(tree.selected()); if (tree.versionRequested()) - flags.version = true; + args.flags.version = true; if (tree.helpRequested()) { - flags.help = true; - const help = describeHelp(selected); - return { command: help.path.slice(0, 2), positionals: help.path, flags, help }; - } - // These paired inputs are domain requirements, not parser syntax. - const has = (name) => Object.hasOwn(flags, name); - if (has("target-width") !== has("target-height")) - throw usageError("Provide both --target-width and --target-height."); - const path = commandPath(selected); - if (path.join(" ") === "playlist import" && has("update") !== has("if-match")) - throw usageError("playlist import --update and --if-match must be supplied together."); - const positionals = [...path, ...selected.args]; - return { command: positionals.slice(0, 2), positionals, flags }; -} -export function flagString(flags, name) { - const value = flags[name]; - return typeof value === "string" && value.length > 0 ? value : undefined; -} -export function flagBool(flags, name) { - return flags[name] === true; -} -export function flagNumber(flags, name) { - const value = flagString(flags, name); - if (value === undefined) { - return undefined; + const help = describeHelp(tree.selected()); + return { command: help.path.slice(0, 2), positionals: help.path, flags: { ...args.flags, help: true }, help }; } - const n = Number(value); - return Number.isFinite(n) ? n : undefined; + return args; } //# sourceMappingURL=argv.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/argv.js.map b/plugins/screenrig/cli/dist/argv.js.map index 02cf747d..6a68ac7f 100644 --- a/plugins/screenrig/cli/dist/argv.js.map +++ b/plugins/screenrig/cli/dist/argv.js.map @@ -1 +1 @@ -{"version":3,"file":"argv.js","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"argv.js","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAqB,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAmB,MAAM,oBAAoB,CAAC;AAEvF,qFAAqF;AACrF,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAAE,MAAM,KAAK,CAAC;IAC5G,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,gBAAgB,EAAE;QAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IACvD,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;IAChH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/account.d.ts b/plugins/screenrig/cli/dist/cli-commands/account.d.ts new file mode 100644 index 00000000..96d7fa9d --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/account.d.ts @@ -0,0 +1,4 @@ +import type { CommandActionBinder } from "./types.js"; +import type { Command } from "commander"; +export declare function registerAccountCommands(root: Command, bind: CommandActionBinder): void; +//# sourceMappingURL=account.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/account.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/account.d.ts.map new file mode 100644 index 00000000..fa4d15e8 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/account.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/cli-commands/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAKtF"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/account.js b/plugins/screenrig/cli/dist/cli-commands/account.js new file mode 100644 index 00000000..ba4444e9 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/account.js @@ -0,0 +1,9 @@ +import { handleAccountShow } from "../commands.js"; +import { addCommandNotes } from "./notes.js"; +import { CREDIT_HELP } from "../help-text.js"; +export function registerAccountCommands(root, bind) { + const account = root.command("account").description("Inspect your account and credits"); + addCommandNotes(account.command("show").description("Inspect your account and credits") + .action(bind(handleAccountShow)), CREDIT_HELP); +} +//# sourceMappingURL=account.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/account.js.map b/plugins/screenrig/cli/dist/cli-commands/account.js.map new file mode 100644 index 00000000..579c1a4b --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/account.js.map @@ -0,0 +1 @@ +{"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/cli-commands/account.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,UAAU,uBAAuB,CAAC,IAAa,EAAE,IAAyB;IAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC;IAExF,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,kCAAkC,CAAC;SACpF,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AACnD,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/agent.d.ts b/plugins/screenrig/cli/dist/cli-commands/agent.d.ts new file mode 100644 index 00000000..5900f0a8 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/agent.d.ts @@ -0,0 +1,4 @@ +import type { CommandActionBinder } from "./types.js"; +import type { Command } from "commander"; +export declare function registerAgentCommands(root: Command, bind: CommandActionBinder): void; +//# sourceMappingURL=agent.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/agent.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/agent.d.ts.map new file mode 100644 index 00000000..e7ecbc60 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/agent.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/cli-commands/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAqBpF"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/agent.js b/plugins/screenrig/cli/dist/cli-commands/agent.js new file mode 100644 index 00000000..76e6e866 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/agent.js @@ -0,0 +1,21 @@ +import { handleAgentEnroll, handleAgentConnect, handleAgentStatus, handleAgentDisconnect } from "../commands.js"; +import { addCommandNotes } from "./notes.js"; +export function registerAgentCommands(root, bind) { + const agent = root.command("agent").description("Enroll, connect, and manage this agent"); + agent.command("enroll").description("Create the first agent with an email address") + .option("--email
", "Set the account contact email") + .option("--name ", "Set this agent installation name") + .option("--open-dashboard", "Open the dashboard after enrolling") + .action(bind(handleAgentEnroll)); + addCommandNotes(agent.command("connect").description("Connect this installation with approval") + .option("--name ", "Set this agent installation name") + .option("--print-url", "Return the browser handoff URL") + .action(bind(handleAgentConnect)), "Approval expires after 24 hours; --timeout defaults to 86400000 ms. Retry agent connect to resume after an interrupted wait."); + agent.command("status").description("Inspect this agent's connection") + .action(bind(handleAgentStatus)); + agent.command("disconnect").description("Disconnect this agent") + .option("--yes", "Confirm this agent's disconnection") + .option("--allow-lockout", "Allow disconnecting the last agent") + .action(bind(handleAgentDisconnect)); +} +//# sourceMappingURL=agent.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/agent.js.map b/plugins/screenrig/cli/dist/cli-commands/agent.js.map new file mode 100644 index 00000000..bb66cca4 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/agent.js.map @@ -0,0 +1 @@ +{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/cli-commands/agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEjH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,UAAU,qBAAqB,CAAC,IAAa,EAAE,IAAyB;IAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,wCAAwC,CAAC,CAAC;IAE1F,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,8CAA8C,CAAC;SAChF,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC;SAC5D,MAAM,CAAC,eAAe,EAAE,kCAAkC,CAAC;SAC3D,MAAM,CAAC,kBAAkB,EAAE,oCAAoC,CAAC;SAChE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEnC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,yCAAyC,CAAC;SAC5F,MAAM,CAAC,eAAe,EAAE,kCAAkC,CAAC;SAC3D,MAAM,CAAC,aAAa,EAAE,gCAAgC,CAAC;SACvD,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,8HAA8H,CAAC,CAAC;IAErK,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,iCAAiC,CAAC;SACnE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEnC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;SAC7D,MAAM,CAAC,OAAO,EAAE,oCAAoC,CAAC;SACrD,MAAM,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;SAC/D,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;AACzC,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/app.d.ts b/plugins/screenrig/cli/dist/cli-commands/app.d.ts new file mode 100644 index 00000000..3f74e555 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/app.d.ts @@ -0,0 +1,4 @@ +import type { CommandActionBinder } from "./types.js"; +import type { Command } from "commander"; +export declare function registerAppCommands(root: Command, bind: CommandActionBinder): void; +//# sourceMappingURL=app.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/app.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/app.d.ts.map new file mode 100644 index 00000000..9c805c15 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/app.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/cli-commands/app.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CA6BlF"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/app.js b/plugins/screenrig/cli/dist/cli-commands/app.js new file mode 100644 index 00000000..43b899b3 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/app.js @@ -0,0 +1,28 @@ +import { positiveInteger, revision } from "./options.js"; +import { handleAppPack, handleAppUpload, handleAppUpdate, handleAppList, handleAppShow } from "../commands.js"; +export function registerAppCommands(root, bind) { + const app = root.command("app").description("Pack, upload, and inspect applications"); + app.command("pack").description("Pack a local application directory") + .argument("", "Local directory") + .option("--output ", "Write the application package to this file") + .action(bind(handleAppPack)); + app.command("upload").description("Upload an application directory") + .argument("", "Local directory") + .option("--name ", "Set the application name") + .option("--no-wait", "Return after acceptance without waiting for processing") + .option("--poll-ms ", "Set the operation polling interval", positiveInteger("poll-ms")) + .action(bind(handleAppUpload)); + app.command("update").description("Update an application") + .argument("", "Application identifier") + .argument("", "Local directory") + .requiredOption("--if-match ", "Require the current resource revision (required)", revision) + .option("--no-wait", "Return after acceptance without waiting for processing") + .option("--poll-ms ", "Set the operation polling interval", positiveInteger("poll-ms")) + .action(bind(handleAppUpdate)); + app.command("list").description("List applications") + .action(bind(handleAppList)); + app.command("show").description("Inspect an application") + .argument("", "Application identifier") + .action(bind(handleAppShow)); +} +//# sourceMappingURL=app.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/app.js.map b/plugins/screenrig/cli/dist/cli-commands/app.js.map new file mode 100644 index 00000000..905ba97f --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/app.js.map @@ -0,0 +1 @@ +{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/cli-commands/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/G,MAAM,UAAU,mBAAmB,CAAC,IAAa,EAAE,IAAyB;IAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,wCAAwC,CAAC,CAAC;IAEtF,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,oCAAoC,CAAC;SAClE,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;SAC1C,MAAM,CAAC,iBAAiB,EAAE,4CAA4C,CAAC;SACvE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAE/B,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,iCAAiC,CAAC;SACjE,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;SAC1C,MAAM,CAAC,eAAe,EAAE,0BAA0B,CAAC;SACnD,MAAM,CAAC,WAAW,EAAE,wDAAwD,CAAC;SAC7E,MAAM,CAAC,gBAAgB,EAAE,oCAAoC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;SAC1F,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAEjC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;SACvD,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;SAC1C,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;SAC1C,cAAc,CAAC,uBAAuB,EAAE,kDAAkD,EAAE,QAAQ,CAAC;SACrG,MAAM,CAAC,WAAW,EAAE,wDAAwD,CAAC;SAC7E,MAAM,CAAC,gBAAgB,EAAE,oCAAoC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;SAC1F,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAEjC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC;SACjD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAE/B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC;SACtD,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;SAC1C,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;AACjC,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/browser.d.ts b/plugins/screenrig/cli/dist/cli-commands/browser.d.ts new file mode 100644 index 00000000..6ee306ae --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/browser.d.ts @@ -0,0 +1,4 @@ +import type { CommandActionBinder } from "./types.js"; +import type { Command } from "commander"; +export declare function registerBrowserCommands(root: Command, bind: CommandActionBinder): void; +//# sourceMappingURL=browser.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/browser.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/browser.d.ts.map new file mode 100644 index 00000000..d5f1202d --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/browser.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/cli-commands/browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAOtF"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/browser.js b/plugins/screenrig/cli/dist/cli-commands/browser.js new file mode 100644 index 00000000..6b78f1a2 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/browser.js @@ -0,0 +1,9 @@ +import { handleBrowserSetup } from "../commands.js"; +export function registerBrowserCommands(root, bind) { + const browser = root.command("browser").description("Complete browser Player setup"); + browser.command("setup").description("Complete browser setup from a code") + .requiredOption("--code ", "Use the browser setup code (required)") + .option("--open", "Open the result in its viewer") + .action(bind(handleBrowserSetup)); +} +//# sourceMappingURL=browser.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/browser.js.map b/plugins/screenrig/cli/dist/cli-commands/browser.js.map new file mode 100644 index 00000000..04c8e94d --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/browser.js.map @@ -0,0 +1 @@ +{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/cli-commands/browser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGpD,MAAM,UAAU,uBAAuB,CAAC,IAAa,EAAE,IAAyB;IAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAErF,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,oCAAoC,CAAC;SACvE,cAAc,CAAC,eAAe,EAAE,uCAAuC,CAAC;SACxE,MAAM,CAAC,QAAQ,EAAE,+BAA+B,CAAC;SACjD,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACtC,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/comment.d.ts b/plugins/screenrig/cli/dist/cli-commands/comment.d.ts new file mode 100644 index 00000000..65211ead --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/comment.d.ts @@ -0,0 +1,4 @@ +import type { CommandActionBinder } from "./types.js"; +import { type Command } from "commander"; +export declare function registerCommentCommands(root: Command, bind: CommandActionBinder): void; +//# sourceMappingURL=comment.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/comment.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/comment.d.ts.map new file mode 100644 index 00000000..5546dedb --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/comment.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"comment.d.ts","sourceRoot":"","sources":["../../src/cli-commands/comment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,WAAW,CAAC;AAEjD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAuCtF"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/comment.js b/plugins/screenrig/cli/dist/cli-commands/comment.js new file mode 100644 index 00000000..1a058991 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/comment.js @@ -0,0 +1,34 @@ +import { handleCommentShowScreen, handleCommentShowPlaylist, handleCommentSetScreen, handleCommentSetPlaylist, handleCommentDeleteScreen, handleCommentDeletePlaylist } from "../commands.js"; +import { Option } from "commander"; +export function registerCommentCommands(root, bind) { + const comment = root.command("comment").description("Read and manage screen and playlist comments"); + const commentShow = comment.command("show").description("Read screen or playlist comments"); + commentShow.command("screen").description("Read screen comments") + .argument("", "Screen or playlist identifier") + .action(bind(handleCommentShowScreen)); + commentShow.command("playlist").description("Read playlist comments") + .argument("", "Screen or playlist identifier") + .option("--page ", "Select playlist page comments") + .action(bind(handleCommentShowPlaylist)); + const commentSet = comment.command("set").description("Replace screen or playlist comments"); + commentSet.command("screen").description("Replace screen comments") + .argument("", "Screen or playlist identifier") + .addOption(new Option("--json-value ", "Supply a JSON value").conflicts(["file"])) + .addOption(new Option("--file ", "Read the value from a file").conflicts(["jsonValue"])) + .action(bind(handleCommentSetScreen)); + commentSet.command("playlist").description("Replace playlist comments") + .argument("", "Screen or playlist identifier") + .option("--page ", "Select playlist page comments") + .addOption(new Option("--json-value ", "Supply a JSON value").conflicts(["file"])) + .addOption(new Option("--file ", "Read the value from a file").conflicts(["jsonValue"])) + .action(bind(handleCommentSetPlaylist)); + const commentDelete = comment.command("delete").description("Delete screen or playlist comments"); + commentDelete.command("screen").description("Delete screen comments") + .argument("", "Screen or playlist identifier") + .action(bind(handleCommentDeleteScreen)); + commentDelete.command("playlist").description("Delete playlist comments") + .argument("", "Screen or playlist identifier") + .option("--page ", "Select playlist page comments") + .action(bind(handleCommentDeletePlaylist)); +} +//# sourceMappingURL=comment.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/comment.js.map b/plugins/screenrig/cli/dist/cli-commands/comment.js.map new file mode 100644 index 00000000..b3cc915c --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/comment.js.map @@ -0,0 +1 @@ +{"version":3,"file":"comment.js","sourceRoot":"","sources":["../../src/cli-commands/comment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAC9L,OAAO,EAAgB,MAAM,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,UAAU,uBAAuB,CAAC,IAAa,EAAE,IAAyB;IAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,8CAA8C,CAAC,CAAC;IAEpG,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC;IAE5F,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC;SAC9D,QAAQ,CAAC,MAAM,EAAE,+BAA+B,CAAC;SACjD,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAEzC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC;SAClE,QAAQ,CAAC,MAAM,EAAE,+BAA+B,CAAC;SACjD,MAAM,CAAC,kBAAkB,EAAE,+BAA+B,CAAC;SAC3D,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAC;IAE7F,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC;SAChE,QAAQ,CAAC,MAAM,EAAE,+BAA+B,CAAC;SACjD,SAAS,CAAC,IAAI,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;SACvF,SAAS,CAAC,IAAI,MAAM,CAAC,eAAe,EAAE,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;SAC7F,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAExC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC;SACpE,QAAQ,CAAC,MAAM,EAAE,+BAA+B,CAAC;SACjD,MAAM,CAAC,kBAAkB,EAAE,+BAA+B,CAAC;SAC3D,SAAS,CAAC,IAAI,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;SACvF,SAAS,CAAC,IAAI,MAAM,CAAC,eAAe,EAAE,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;SAC7F,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAE1C,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,oCAAoC,CAAC,CAAC;IAElG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC;SAClE,QAAQ,CAAC,MAAM,EAAE,+BAA+B,CAAC;SACjD,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAE3C,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC;SACtE,QAAQ,CAAC,MAAM,EAAE,+BAA+B,CAAC;SACjD,MAAM,CAAC,kBAAkB,EAAE,+BAA+B,CAAC;SAC3D,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;AAC/C,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/compose.d.ts b/plugins/screenrig/cli/dist/cli-commands/compose.d.ts new file mode 100644 index 00000000..5ee222c6 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/compose.d.ts @@ -0,0 +1,4 @@ +import type { CommandActionBinder } from "./types.js"; +import type { Command } from "commander"; +export declare function registerComposeCommands(root: Command, bind: CommandActionBinder): void; +//# sourceMappingURL=compose.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/compose.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/compose.d.ts.map new file mode 100644 index 00000000..410bd53b --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/compose.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/cli-commands/compose.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CA4BtF"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/compose.js b/plugins/screenrig/cli/dist/cli-commands/compose.js new file mode 100644 index 00000000..2c428258 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/compose.js @@ -0,0 +1,38 @@ +import { usageError } from "../problems.js"; +import { positiveInteger } from "./options.js"; +import { handleComposeCatalog, handleComposeBatch, handleComposeRender } from "../commands.js"; +import { addCommandNotes } from "./notes.js"; +import { LOOK_AT_THE_CONTACT_SHEET } from "../playlist-preview.js"; +export function registerComposeCommands(root, bind) { + const compose = root.command("compose").description("Render and inspect local page compositions"); + compose.command("catalog").description("Browse local composition capabilities and examples") + .action(bind(handleComposeCatalog)); + addCommandNotes(compose.command("batch").description("Render a batch of compositions") + .argument("", "Local input file") + .requiredOption("--output ", "Write rendered files to this directory (required)") + .option("--only ", "Render only this page") + .option("--target-width ", "Set the physical content width", positiveInteger("target-width")) + .option("--target-height ", "Set the physical content height", positiveInteger("target-height")) + .option("--safe-area", "Apply the display safe area") + .option("--lint-only", "Run the command's local validation/lint mode") + .hook("preAction", requireTargetDimensions) + .action(bind(handleComposeBatch)), `Render 1 to 2000 pages. ${LOOK_AT_THE_CONTACT_SHEET}`); + addCommandNotes(compose.command("render").description("Render a composition locally") + .argument("", "Local input file") + .option("--output ", "Write rendered files to this directory") + .option("--combined", "Also render combined page images") + .option("--target-width ", "Set the physical content width", positiveInteger("target-width")) + .option("--target-height ", "Set the physical content height", positiveInteger("target-height")) + .option("--safe-area", "Apply the display safe area") + .option("--open", "Open the result in its viewer") + .option("--lint-only", "Run the command's local validation/lint mode") + .hook("preAction", requireTargetDimensions) + .action(bind(handleComposeRender)), LOOK_AT_THE_CONTACT_SHEET); +} +function requireTargetDimensions(command) { + const width = command.getOptionValueSource("targetWidth") === "cli"; + const height = command.getOptionValueSource("targetHeight") === "cli"; + if (width !== height) + throw usageError("Provide both --target-width and --target-height."); +} +//# sourceMappingURL=compose.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/compose.js.map b/plugins/screenrig/cli/dist/cli-commands/compose.js.map new file mode 100644 index 00000000..1c6ad727 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/compose.js.map @@ -0,0 +1 @@ +{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/cli-commands/compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE/F,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,UAAU,uBAAuB,CAAC,IAAa,EAAE,IAAyB;IAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC;IAElG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,oDAAoD,CAAC;SACzF,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAEtC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,gCAAgC,CAAC;SACnF,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;SACtC,cAAc,CAAC,iBAAiB,EAAE,mDAAmD,CAAC;SACtF,MAAM,CAAC,aAAa,EAAE,uBAAuB,CAAC;SAC9C,MAAM,CAAC,qBAAqB,EAAE,gCAAgC,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;SAChG,MAAM,CAAC,sBAAsB,EAAE,iCAAiC,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;SACnG,MAAM,CAAC,aAAa,EAAE,6BAA6B,CAAC;SACpD,MAAM,CAAC,aAAa,EAAE,8CAA8C,CAAC;SACrE,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC;SAC1C,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,2BAA2B,yBAAyB,EAAE,CAAC,CAAC;IAE7F,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,8BAA8B,CAAC;SAClF,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;SACtC,MAAM,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;SACnE,MAAM,CAAC,YAAY,EAAE,kCAAkC,CAAC;SACxD,MAAM,CAAC,qBAAqB,EAAE,gCAAgC,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;SAChG,MAAM,CAAC,sBAAsB,EAAE,iCAAiC,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;SACnG,MAAM,CAAC,aAAa,EAAE,6BAA6B,CAAC;SACpD,MAAM,CAAC,QAAQ,EAAE,+BAA+B,CAAC;SACjD,MAAM,CAAC,aAAa,EAAE,8CAA8C,CAAC;SACrE,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC;SAC1C,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAgB;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC,KAAK,KAAK,CAAC;IACpE,MAAM,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,KAAK,KAAK,CAAC;IACtE,IAAI,KAAK,KAAK,MAAM;QAAE,MAAM,UAAU,CAAC,kDAAkD,CAAC,CAAC;AAC7F,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/dashboard.d.ts b/plugins/screenrig/cli/dist/cli-commands/dashboard.d.ts new file mode 100644 index 00000000..d8973269 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/dashboard.d.ts @@ -0,0 +1,4 @@ +import type { CommandActionBinder } from "./types.js"; +import type { Command } from "commander"; +export declare function registerDashboardCommands(root: Command, bind: CommandActionBinder): void; +//# sourceMappingURL=dashboard.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/dashboard.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/dashboard.d.ts.map new file mode 100644 index 00000000..5f6c871b --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/dashboard.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/cli-commands/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAIxF"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/dashboard.js b/plugins/screenrig/cli/dist/cli-commands/dashboard.js new file mode 100644 index 00000000..3ef3db9e --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/dashboard.js @@ -0,0 +1,7 @@ +import { handleDashboard } from "../commands.js"; +export function registerDashboardCommands(root, bind) { + root.command("dashboard").description("Open the account dashboard") + .option("--print-url", "Return the browser handoff URL") + .action(bind(handleDashboard)); +} +//# sourceMappingURL=dashboard.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/dashboard.js.map b/plugins/screenrig/cli/dist/cli-commands/dashboard.js.map new file mode 100644 index 00000000..d4d6e8aa --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/dashboard.js.map @@ -0,0 +1 @@ +{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/cli-commands/dashboard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjD,MAAM,UAAU,yBAAyB,CAAC,IAAa,EAAE,IAAyB;IAChF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,4BAA4B,CAAC;SAChE,MAAM,CAAC,aAAa,EAAE,gCAAgC,CAAC;SACvD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;AACnC,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/doctor.d.ts b/plugins/screenrig/cli/dist/cli-commands/doctor.d.ts new file mode 100644 index 00000000..1e1e17d8 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/doctor.d.ts @@ -0,0 +1,4 @@ +import type { CommandActionBinder } from "./types.js"; +import type { Command } from "commander"; +export declare function registerDoctorCommands(root: Command, bind: CommandActionBinder): void; +//# sourceMappingURL=doctor.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/doctor.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/doctor.d.ts.map new file mode 100644 index 00000000..f61af26a --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/doctor.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli-commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAIrF"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/doctor.js b/plugins/screenrig/cli/dist/cli-commands/doctor.js new file mode 100644 index 00000000..b2628975 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/doctor.js @@ -0,0 +1,7 @@ +import { handleDoctor } from "../commands.js"; +export function registerDoctorCommands(root, bind) { + root.command("doctor").description("Check this CLI installation and configuration") + .option("--repair-config", "Repair configuration permissions") + .action(bind(handleDoctor)); +} +//# sourceMappingURL=doctor.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/doctor.js.map b/plugins/screenrig/cli/dist/cli-commands/doctor.js.map new file mode 100644 index 00000000..6c6eb75a --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/doctor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli-commands/doctor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,UAAU,sBAAsB,CAAC,IAAa,EAAE,IAAyB;IAC7E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,+CAA+C,CAAC;SAChF,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;SAC7D,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AAChC,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/events.d.ts b/plugins/screenrig/cli/dist/cli-commands/events.d.ts new file mode 100644 index 00000000..3507ec04 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/events.d.ts @@ -0,0 +1,4 @@ +import type { CommandActionBinder } from "./types.js"; +import { type Command } from "commander"; +export declare function registerEventsCommands(root: Command, bind: CommandActionBinder): void; +//# sourceMappingURL=events.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/events.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/events.d.ts.map new file mode 100644 index 00000000..8e44b0c7 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/events.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/cli-commands/events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,WAAW,CAAC;AAEjD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAarF"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/events.js b/plugins/screenrig/cli/dist/cli-commands/events.js new file mode 100644 index 00000000..d4d076ce --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/events.js @@ -0,0 +1,16 @@ +import { positiveInteger } from "./options.js"; +import { handleEventsList, handleEventsFollow } from "../commands.js"; +import { Option } from "commander"; +export function registerEventsCommands(root, bind) { + const events = root.command("events").description("List or follow account events"); + events.command("list").description("List account events") + .addOption(new Option("--after ", "Read events after this cursor").conflicts(["cursor"])) + .addOption(new Option("--cursor ", "Alias for --after").conflicts(["after"])) + .option("--limit ", "Limit returned events", positiveInteger("limit")) + .action(bind(handleEventsList)); + events.command("follow").description("Stream account events") + .addOption(new Option("--after ", "Read events after this cursor").conflicts(["cursor"])) + .addOption(new Option("--cursor ", "Alias for --after").conflicts(["after"])) + .action(bind(handleEventsFollow)); +} +//# sourceMappingURL=events.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/events.js.map b/plugins/screenrig/cli/dist/cli-commands/events.js.map new file mode 100644 index 00000000..272f472f --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/events.js.map @@ -0,0 +1 @@ +{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/cli-commands/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAgB,MAAM,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,UAAU,sBAAsB,CAAC,IAAa,EAAE,IAAyB;IAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAEnF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC;SACtD,SAAS,CAAC,IAAI,MAAM,CAAC,kBAAkB,EAAE,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;SAChG,SAAS,CAAC,IAAI,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACpF,MAAM,CAAC,aAAa,EAAE,uBAAuB,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;SACxE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAElC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;SAC1D,SAAS,CAAC,IAAI,MAAM,CAAC,kBAAkB,EAAE,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;SAChG,SAAS,CAAC,IAAI,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACpF,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACtC,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/feedback.d.ts b/plugins/screenrig/cli/dist/cli-commands/feedback.d.ts new file mode 100644 index 00000000..440e82af --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/feedback.d.ts @@ -0,0 +1,4 @@ +import type { CommandActionBinder } from "./types.js"; +import { type Command } from "commander"; +export declare function registerFeedbackCommands(root: Command, bind: CommandActionBinder): void; +//# sourceMappingURL=feedback.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/feedback.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/feedback.d.ts.map new file mode 100644 index 00000000..85eb3129 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/feedback.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/cli-commands/feedback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,WAAW,CAAC;AAEjD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAsBvF"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/feedback.js b/plugins/screenrig/cli/dist/cli-commands/feedback.js new file mode 100644 index 00000000..6d54882a --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/feedback.js @@ -0,0 +1,23 @@ +import { handleFeedbackBug, handleFeedbackFeature, handleFeedbackList } from "../commands.js"; +import { Option } from "commander"; +export function registerFeedbackCommands(root, bind) { + const feedback = root.command("feedback").description("Submit bugs and feature requests"); + feedback.command("bug").description("Submit a bug report") + .argument("", "Feedback title") + .addOption(new Option("--body <TEXT>", "Supply feedback details").conflicts(["bodyFile"])) + .addOption(new Option("--body-file <FILE>", "Read feedback details from a file").conflicts(["body"])) + .option("--command <GROUP ACTION>", "Identify the command involved") + .option("--no-context", "Omit diagnostic context") + .action(bind(handleFeedbackBug)); + feedback.command("feature").description("Submit a feature request") + .argument("<title>", "Feedback title") + .addOption(new Option("--body <TEXT>", "Supply feedback details").conflicts(["bodyFile"])) + .addOption(new Option("--body-file <FILE>", "Read feedback details from a file").conflicts(["body"])) + .option("--command <GROUP ACTION>", "Identify the command involved") + .option("--no-context", "Omit diagnostic context") + .action(bind(handleFeedbackFeature)); + feedback.command("list").description("List submitted feedback") + .option("--kind <bug|feature>", "Filter feedback by kind") + .action(bind(handleFeedbackList)); +} +//# sourceMappingURL=feedback.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/feedback.js.map b/plugins/screenrig/cli/dist/cli-commands/feedback.js.map new file mode 100644 index 00000000..835a258e --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/feedback.js.map @@ -0,0 +1 @@ +{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/cli-commands/feedback.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC9F,OAAO,EAAgB,MAAM,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,UAAU,wBAAwB,CAAC,IAAa,EAAE,IAAyB;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC;IAE1F,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC;SACvD,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;SACrC,SAAS,CAAC,IAAI,MAAM,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;SACzF,SAAS,CAAC,IAAI,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;SACpG,MAAM,CAAC,0BAA0B,EAAE,+BAA+B,CAAC;SACnE,MAAM,CAAC,cAAc,EAAE,yBAAyB,CAAC;SACjD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEnC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC;SAChE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;SACrC,SAAS,CAAC,IAAI,MAAM,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;SACzF,SAAS,CAAC,IAAI,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;SACpG,MAAM,CAAC,0BAA0B,EAAE,+BAA+B,CAAC;SACnE,MAAM,CAAC,cAAc,EAAE,yBAAyB,CAAC;SACjD,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAEvC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC;SAC5D,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC;SACzD,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACtC,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/globals.d.ts b/plugins/screenrig/cli/dist/cli-commands/globals.d.ts new file mode 100644 index 00000000..087d956b --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/globals.d.ts @@ -0,0 +1,3 @@ +import { type Command } from "commander"; +export declare function registerGlobalOptions(root: Command): void; +//# sourceMappingURL=globals.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/globals.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/globals.d.ts.map new file mode 100644 index 00000000..834d3b5e --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/globals.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../../src/cli-commands/globals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,WAAW,CAAC;AAGjD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAWzD"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/globals.js b/plugins/screenrig/cli/dist/cli-commands/globals.js new file mode 100644 index 00000000..5c2d3ecf --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/globals.js @@ -0,0 +1,15 @@ +import { Option } from "commander"; +import { nonnegativeInteger } from "./options.js"; +export function registerGlobalOptions(root) { + root + .addOption(new Option("--json", "Return JSON (default; also enables structured help)").conflicts("human")) + .addOption(new Option("--human", "Return human-readable output").conflicts("json")) + .option("--api-url <URL>", "Override the API origin") + .option("--config <PATH>", "Use this credential/configuration file") + .option("--request-id <ID>", "Use a request correlation ID") + .option("--idempotency-key <KEY>", "Reuse a key when retrying the same write") + .option("--timeout <MS>", "Set the command timeout in milliseconds", nonnegativeInteger("timeout")) + .option("--beta-key <KEY>", "Supply an enrollment beta key") + .addOption(new Option("--token <TOKEN>", "Unsupported credential override; use agent enrollment or connection").hideHelp()); +} +//# sourceMappingURL=globals.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/globals.js.map b/plugins/screenrig/cli/dist/cli-commands/globals.js.map new file mode 100644 index 00000000..8fc4e45a --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/globals.js.map @@ -0,0 +1 @@ +{"version":3,"file":"globals.js","sourceRoot":"","sources":["../../src/cli-commands/globals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,IAAI;SACD,SAAS,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,qDAAqD,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SACzG,SAAS,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SAClF,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;SACpD,MAAM,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;SACnE,MAAM,CAAC,mBAAmB,EAAE,8BAA8B,CAAC;SAC3D,MAAM,CAAC,yBAAyB,EAAE,0CAA0C,CAAC;SAC7E,MAAM,CAAC,gBAAgB,EAAE,yCAAyC,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;SAClG,MAAM,CAAC,kBAAkB,EAAE,+BAA+B,CAAC;SAC3D,SAAS,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,qEAAqE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChI,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/index.d.ts b/plugins/screenrig/cli/dist/cli-commands/index.d.ts new file mode 100644 index 00000000..edf037a4 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/index.d.ts @@ -0,0 +1,4 @@ +import type { CommandActionBinder } from "./types.js"; +import type { Command } from "commander"; +export declare function registerCommands(root: Command, bind: CommandActionBinder): void; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/index.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/index.d.ts.map new file mode 100644 index 00000000..ba0ed058 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli-commands/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBzC,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAmB/E"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/index.js b/plugins/screenrig/cli/dist/cli-commands/index.js new file mode 100644 index 00000000..77dbe4ba --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/index.js @@ -0,0 +1,39 @@ +import { registerGlobalOptions } from "./globals.js"; +import { registerAccountCommands } from "./account.js"; +import { registerAgentCommands } from "./agent.js"; +import { registerDashboardCommands } from "./dashboard.js"; +import { registerAppCommands } from "./app.js"; +import { registerMediaCommands } from "./media.js"; +import { registerComposeCommands } from "./compose.js"; +import { registerPlaylistCommands } from "./playlist.js"; +import { registerScreenCommands } from "./screen.js"; +import { registerBrowserCommands } from "./browser.js"; +import { registerKvCommands } from "./kv.js"; +import { registerCommentCommands } from "./comment.js"; +import { registerOperationsCommands } from "./operations.js"; +import { registerEventsCommands } from "./events.js"; +import { registerPlaybackCommands } from "./playback.js"; +import { registerFeedbackCommands } from "./feedback.js"; +import { registerDoctorCommands } from "./doctor.js"; +import { registerVersionCommands } from "./version.js"; +export function registerCommands(root, bind) { + registerGlobalOptions(root); + registerAccountCommands(root, bind); + registerAgentCommands(root, bind); + registerDashboardCommands(root, bind); + registerAppCommands(root, bind); + registerMediaCommands(root, bind); + registerComposeCommands(root, bind); + registerPlaylistCommands(root, bind); + registerScreenCommands(root, bind); + registerBrowserCommands(root, bind); + registerKvCommands(root, bind); + registerCommentCommands(root, bind); + registerOperationsCommands(root, bind); + registerEventsCommands(root, bind); + registerPlaybackCommands(root, bind); + registerFeedbackCommands(root, bind); + registerDoctorCommands(root, bind); + registerVersionCommands(root, bind); +} +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/index.js.map b/plugins/screenrig/cli/dist/cli-commands/index.js.map new file mode 100644 index 00000000..a33b3b1a --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli-commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAGrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,UAAU,gBAAgB,CAAC,IAAa,EAAE,IAAyB;IACvE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC5B,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAChC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/kv.d.ts b/plugins/screenrig/cli/dist/cli-commands/kv.d.ts new file mode 100644 index 00000000..562b38c9 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/kv.d.ts @@ -0,0 +1,4 @@ +import type { CommandActionBinder } from "./types.js"; +import { type Command } from "commander"; +export declare function registerKvCommands(root: Command, bind: CommandActionBinder): void; +//# sourceMappingURL=kv.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/kv.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/kv.d.ts.map new file mode 100644 index 00000000..8d30ee52 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/kv.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"kv.d.ts","sourceRoot":"","sources":["../../src/cli-commands/kv.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,WAAW,CAAC;AAEjD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CA2BjF"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/kv.js b/plugins/screenrig/cli/dist/cli-commands/kv.js new file mode 100644 index 00000000..f46a9c39 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/kv.js @@ -0,0 +1,28 @@ +import { revision } from "./options.js"; +import { handleKvGet, handleKvSet, handleKvDelete, handleKvList } from "../commands.js"; +import { Option } from "commander"; +export function registerKvCommands(root, bind) { + const kv = root.command("kv").description("Read and write application key-value data"); + kv.command("get").description("Read an application key") + .argument("<key>", "Application key") + .requiredOption("--application-id <ID>", "Select the application's K/V namespace (required)") + .action(bind(handleKvGet)); + kv.command("set").description("Write a value") + .argument("<key>", "Application key") + .requiredOption("--application-id <ID>", "Select the application's K/V namespace (required)") + .addOption(new Option("--json-value <JSON>", "Supply a JSON value").conflicts(["file", "valueBase64", "contentType"])) + .addOption(new Option("--file <FILE>", "Read the value from a file").conflicts(["jsonValue", "valueBase64"])) + .addOption(new Option("--value-base64 <BASE64>", "Supply canonical base64 bytes (may be empty)").conflicts(["jsonValue", "file"])) + .addOption(new Option("--content-type <TYPE>", "Declare the content MIME type").conflicts(["jsonValue"])) + .option("--if-match <REVISION>", "Require the current resource revision", revision) + .action(bind(handleKvSet)); + kv.command("delete").description("Delete an application key") + .argument("<key>", "Application key") + .requiredOption("--application-id <ID>", "Select the application's K/V namespace (required)") + .requiredOption("--if-match <REVISION>", "Require the current resource revision (required)", revision) + .action(bind(handleKvDelete)); + kv.command("list").description("List application keys") + .requiredOption("--application-id <ID>", "Select the application's K/V namespace (required)") + .action(bind(handleKvList)); +} +//# sourceMappingURL=kv.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/kv.js.map b/plugins/screenrig/cli/dist/cli-commands/kv.js.map new file mode 100644 index 00000000..4221ca91 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/kv.js.map @@ -0,0 +1 @@ +{"version":3,"file":"kv.js","sourceRoot":"","sources":["../../src/cli-commands/kv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAgB,MAAM,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,UAAU,kBAAkB,CAAC,IAAa,EAAE,IAAyB;IACzE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,2CAA2C,CAAC,CAAC;IAEvF,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC;SACrD,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;SACpC,cAAc,CAAC,uBAAuB,EAAE,mDAAmD,CAAC;SAC5F,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAE7B,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC;SAC3C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;SACpC,cAAc,CAAC,uBAAuB,EAAE,mDAAmD,CAAC;SAC5F,SAAS,CAAC,IAAI,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;SACrH,SAAS,CAAC,IAAI,MAAM,CAAC,eAAe,EAAE,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;SAC5G,SAAS,CAAC,IAAI,MAAM,CAAC,yBAAyB,EAAE,8CAA8C,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;SACjI,SAAS,CAAC,IAAI,MAAM,CAAC,uBAAuB,EAAE,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;SACxG,MAAM,CAAC,uBAAuB,EAAE,uCAAuC,EAAE,QAAQ,CAAC;SAClF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAE7B,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC;SAC1D,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;SACpC,cAAc,CAAC,uBAAuB,EAAE,mDAAmD,CAAC;SAC5F,cAAc,CAAC,uBAAuB,EAAE,kDAAkD,EAAE,QAAQ,CAAC;SACrG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAEhC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;SACpD,cAAc,CAAC,uBAAuB,EAAE,mDAAmD,CAAC;SAC5F,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AAChC,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/media.d.ts b/plugins/screenrig/cli/dist/cli-commands/media.d.ts new file mode 100644 index 00000000..2bcad800 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/media.d.ts @@ -0,0 +1,4 @@ +import type { CommandActionBinder } from "./types.js"; +import { type Command } from "commander"; +export declare function registerMediaCommands(root: Command, bind: CommandActionBinder): void; +//# sourceMappingURL=media.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/media.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/media.d.ts.map new file mode 100644 index 00000000..20ca1396 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/media.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/cli-commands/media.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,WAAW,CAAC;AAIjD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAmEpF"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/media.js b/plugins/screenrig/cli/dist/cli-commands/media.js new file mode 100644 index 00000000..c4b98056 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/media.js @@ -0,0 +1,66 @@ +import { positiveInteger, positiveNumber, revision } from "./options.js"; +import { handleMediaGenerate, handleMediaUpload, handleMediaUploadBatch, handleMediaShow, handleMediaDownload, handleMediaList, handleMediaUpdate, handleMediaDelete } from "../commands.js"; +import { Option } from "commander"; +import { addCommandNotes } from "./notes.js"; +import { CREDIT_HELP } from "../help-text.js"; +export function registerMediaCommands(root, bind) { + const media = root.command("media").description("Generate, upload, and manage images and videos"); + addCommandNotes(media.command("generate").description("Generate an image from a prompt") + .requiredOption("--prompt <TEXT>", "Describe the complete image to generate (required)") + .option("--aspect-ratio <RATIO>", "Choose the generated image aspect ratio") + .option("--quality <low|medium|high>", "Choose generation quality") + .option("--tag <TAG>", "Set the media tag") + .action(bind(handleMediaGenerate)), CREDIT_HELP); + media.command("upload").description("Upload an image or video") + .argument("<file>", "Local input file") + .option("--content-type <TYPE>", "Declare the content MIME type") + .option("--tag <TAG>", "Set the media tag") + .option("--no-wait", "Return after acceptance without waiting for processing") + .option("--poll-ms <MS>", "Set the operation polling interval", positiveInteger("poll-ms")) + .addOption(new Option("--no-transcode", "Upload accepted source bytes unchanged").conflicts(["codec", "maxFps", "maxEdge", "webpQuality", "preset", "audio"])) + .addOption(new Option("--codec <h264|hevc>", "Choose the video codec (default: h264)").conflicts(["transcode"])) + .addOption(new Option("--max-fps <N>", "Limit video frames per second").argParser(positiveNumber("max-fps")).conflicts(["transcode"])) + .addOption(new Option("--max-edge <PIXELS>", "Limit the longest video edge").argParser(positiveInteger("max-edge")).conflicts(["transcode"])) + .addOption(new Option("--webp-quality <1-100>", "Set WebP quality").argParser(positiveInteger("webp-quality")).conflicts(["transcode"])) + .option("--no-progress", "Suppress stderr progress") + .addOption(new Option("--preset <PRESET>", "Use signage-1080p30 or signage-4k30").conflicts(["transcode"])) + .addOption(new Option("--no-audio", "Remove the audio track when transcoding").conflicts(["transcode"])) + .action(bind(handleMediaUpload)); + media.command("upload-batch").description("Upload a manifest with resumable state") + .argument("<manifest.json>", "Upload manifest file") + .requiredOption("--state <FILE>", "Persist resumable upload state in this file (required)") + .option("--concurrency <N>", "Set concurrent batch uploads", positiveInteger("concurrency")) + .addOption(new Option("--no-transcode", "Upload accepted source bytes unchanged").conflicts(["codec", "maxFps", "maxEdge", "webpQuality", "preset", "audio"])) + .option("--tag <TAG>", "Set the media tag") + .option("--no-progress", "Suppress stderr progress") + .option("--poll-ms <MS>", "Set the operation polling interval", positiveInteger("poll-ms")) + .addOption(new Option("--codec <h264|hevc>", "Choose the video codec (default: h264)").conflicts(["transcode"])) + .addOption(new Option("--max-fps <N>", "Limit video frames per second").argParser(positiveNumber("max-fps")).conflicts(["transcode"])) + .addOption(new Option("--max-edge <PIXELS>", "Limit the longest video edge").argParser(positiveInteger("max-edge")).conflicts(["transcode"])) + .addOption(new Option("--webp-quality <1-100>", "Set WebP quality").argParser(positiveInteger("webp-quality")).conflicts(["transcode"])) + .addOption(new Option("--preset <PRESET>", "Use signage-1080p30 or signage-4k30").conflicts(["transcode"])) + .addOption(new Option("--no-audio", "Remove the audio track when transcoding").conflicts(["transcode"])) + .action(bind(handleMediaUploadBatch)); + media.command("show").description("Inspect media") + .argument("<id>", "Media identifier") + .action(bind(handleMediaShow)); + media.command("download").description("Download media to a file") + .argument("<id>", "Media identifier") + .option("--output <PATH>", "Write downloaded media to this file") + .action(bind(handleMediaDownload)); + media.command("list").description("List media") + .option("--tag <TAG>", "Filter media by tag") + .option("--primitive <image|video>", "Filter by media primitive") + .action(bind(handleMediaList)); + media.command("update").description("Update a media tag") + .argument("<id>", "Media identifier") + .addOption(new Option("--tag <TAG>", "Set the media tag").conflicts(["clearTag"])) + .addOption(new Option("--clear-tag", "Remove the media tag").conflicts(["tag"])) + .requiredOption("--if-match <REVISION>", "Require the current resource revision (required)", revision) + .action(bind(handleMediaUpdate)); + media.command("delete").description("Delete media") + .argument("<id>", "Media identifier") + .requiredOption("--if-match <REVISION>", "Require the current resource revision (required)", revision) + .action(bind(handleMediaDelete)); +} +//# sourceMappingURL=media.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/media.js.map b/plugins/screenrig/cli/dist/cli-commands/media.js.map new file mode 100644 index 00000000..c0985d25 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/media.js.map @@ -0,0 +1 @@ +{"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/cli-commands/media.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/notes.d.ts b/plugins/screenrig/cli/dist/cli-commands/notes.d.ts new file mode 100644 index 00000000..8f3bee5a --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/notes.d.ts @@ -0,0 +1,5 @@ +import type { Command } from "commander"; +/** Attach native help text and retain the same note for structured discovery. */ +export declare function addCommandNotes(command: Command, note: string): void; +export declare function commandNotes(command: Command): string[]; +//# sourceMappingURL=notes.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/notes.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/notes.d.ts.map new file mode 100644 index 00000000..4490e2c6 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/notes.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"notes.d.ts","sourceRoot":"","sources":["../../src/cli-commands/notes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAGpE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAEvD"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/notes.js b/plugins/screenrig/cli/dist/cli-commands/notes.js new file mode 100644 index 00000000..02341156 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/notes.js @@ -0,0 +1,10 @@ +const notes = new WeakMap(); +/** Attach native help text and retain the same note for structured discovery. */ +export function addCommandNotes(command, note) { + command.addHelpText("after", `\n${note}`); + notes.set(command, [...(notes.get(command) ?? []), note]); +} +export function commandNotes(command) { + return [...(notes.get(command) ?? [])]; +} +//# sourceMappingURL=notes.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/notes.js.map b/plugins/screenrig/cli/dist/cli-commands/notes.js.map new file mode 100644 index 00000000..34367bae --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/notes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"notes.js","sourceRoot":"","sources":["../../src/cli-commands/notes.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG,IAAI,OAAO,EAAqB,CAAC;AAE/C,iFAAiF;AACjF,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,IAAY;IAC5D,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1C,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/operations.d.ts b/plugins/screenrig/cli/dist/cli-commands/operations.d.ts new file mode 100644 index 00000000..d3a3f5c7 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/operations.d.ts @@ -0,0 +1,4 @@ +import type { CommandActionBinder } from "./types.js"; +import type { Command } from "commander"; +export declare function registerOperationsCommands(root: Command, bind: CommandActionBinder): void; +//# sourceMappingURL=operations.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/operations.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/operations.d.ts.map new file mode 100644 index 00000000..36dcb6ee --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/operations.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/cli-commands/operations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAezF"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/operations.js b/plugins/screenrig/cli/dist/cli-commands/operations.js new file mode 100644 index 00000000..e80ed804 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/operations.js @@ -0,0 +1,16 @@ +import { positiveInteger } from "./options.js"; +import { handleOperationsGet, handleOperationsWait, handleOperationsCancel } from "../commands.js"; +export function registerOperationsCommands(root, bind) { + const operations = root.command("operations").description("Inspect, wait for, or cancel operations"); + operations.command("get").description("Inspect an operation") + .argument("<id>", "Operation identifier") + .action(bind(handleOperationsGet)); + operations.command("wait").description("Wait for an operation to finish") + .argument("<id>", "Operation identifier") + .option("--poll-ms <MS>", "Set the operation polling interval", positiveInteger("poll-ms")) + .action(bind(handleOperationsWait)); + operations.command("cancel").description("Cancel an operation") + .argument("<id>", "Operation identifier") + .action(bind(handleOperationsCancel)); +} +//# sourceMappingURL=operations.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/operations.js.map b/plugins/screenrig/cli/dist/cli-commands/operations.js.map new file mode 100644 index 00000000..a3ed20a6 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/operations.js.map @@ -0,0 +1 @@ +{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/cli-commands/operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAGnG,MAAM,UAAU,0BAA0B,CAAC,IAAa,EAAE,IAAyB;IACjF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,yCAAyC,CAAC,CAAC;IAErG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC;SAC1D,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAErC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,iCAAiC,CAAC;SACtE,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,gBAAgB,EAAE,oCAAoC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;SAC1F,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAEtC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC;SAC5D,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;AAC1C,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/options.d.ts b/plugins/screenrig/cli/dist/cli-commands/options.d.ts new file mode 100644 index 00000000..dc7cb17f --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/options.d.ts @@ -0,0 +1,6 @@ +export declare function nonnegativeInteger(name: string): (value: string) => string; +export declare function positiveInteger(name: string): (value: string) => string; +export declare function positiveNumber(name: string): (value: string) => string; +export declare function toastDuration(value: string): string; +export declare function revision(value: string): string; +//# sourceMappingURL=options.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/options.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/options.d.ts.map new file mode 100644 index 00000000..fb40d142 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/options.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/cli-commands/options.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAQ1E;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAOvE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAStE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG9C"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/options.js b/plugins/screenrig/cli/dist/cli-commands/options.js new file mode 100644 index 00000000..7ffbce2e --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/options.js @@ -0,0 +1,43 @@ +import { quotedRevision } from "../if-match.js"; +import { usageError } from "../problems.js"; +export function nonnegativeInteger(name) { + return (value) => { + const number = Number(value); + if (!value.trim() || !Number.isSafeInteger(number) || number < 0) { + throw usageError(`--${name} requires a nonnegative whole number.`); + } + return value; + }; +} +export function positiveInteger(name) { + const parse = nonnegativeInteger(name); + return (value) => { + parse(value); + if (Number(value) === 0) + throw usageError(`--${name} must be greater than zero.`); + return value; + }; +} +export function positiveNumber(name) { + return (value) => { + const number = Number(value); + if (!value.trim() || !Number.isFinite(number) || number < 0) { + throw usageError(`--${name} requires a nonnegative number.`); + } + if (number === 0) + throw usageError(`--${name} must be greater than zero.`); + return value; + }; +} +export function toastDuration(value) { + const number = Number(value); + if (!Number.isInteger(number) || number < 2000 || number > 60000) { + throw usageError("--duration-ms must be a whole number between 2000 and 60000."); + } + return value; +} +export function revision(value) { + quotedRevision(value); + return value; +} +//# sourceMappingURL=options.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/options.js.map b/plugins/screenrig/cli/dist/cli-commands/options.js.map new file mode 100644 index 00000000..30748368 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/options.js.map @@ -0,0 +1 @@ +{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/cli-commands/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,MAAM,UAAU,CAAC,KAAK,IAAI,uCAAuC,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,MAAM,UAAU,CAAC,KAAK,IAAI,6BAA6B,CAAC,CAAC;QAClF,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,UAAU,CAAC,KAAK,IAAI,iCAAiC,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,MAAM,KAAK,CAAC;YAAE,MAAM,UAAU,CAAC,KAAK,IAAI,6BAA6B,CAAC,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,IAAI,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC;QACjE,MAAM,UAAU,CAAC,8DAA8D,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,cAAc,CAAC,KAAK,CAAC,CAAC;IACtB,OAAO,KAAK,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/playback.d.ts b/plugins/screenrig/cli/dist/cli-commands/playback.d.ts new file mode 100644 index 00000000..ca7fe98e --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/playback.d.ts @@ -0,0 +1,4 @@ +import type { CommandActionBinder } from "./types.js"; +import type { Command } from "commander"; +export declare function registerPlaybackCommands(root: Command, bind: CommandActionBinder): void; +//# sourceMappingURL=playback.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/playback.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/playback.d.ts.map new file mode 100644 index 00000000..67e037a4 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/playback.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"playback.d.ts","sourceRoot":"","sources":["../../src/cli-commands/playback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAQvF"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/playback.js b/plugins/screenrig/cli/dist/cli-commands/playback.js new file mode 100644 index 00000000..e6f1a114 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/playback.js @@ -0,0 +1,10 @@ +import { handlePlaybackList } from "../commands.js"; +export function registerPlaybackCommands(root, bind) { + const playback = root.command("playback").description("Inspect playback records"); + playback.command("list").description("List playback records") + .option("--screen-id <ID>", "Filter playback by screen") + .option("--media-id <ID>", "Filter playback by media") + .option("--day <YYYY-MM-DD>", "Filter playback by UTC day") + .action(bind(handlePlaybackList)); +} +//# sourceMappingURL=playback.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/playback.js.map b/plugins/screenrig/cli/dist/cli-commands/playback.js.map new file mode 100644 index 00000000..05eb2e8d --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/playback.js.map @@ -0,0 +1 @@ +{"version":3,"file":"playback.js","sourceRoot":"","sources":["../../src/cli-commands/playback.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGpD,MAAM,UAAU,wBAAwB,CAAC,IAAa,EAAE,IAAyB;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAElF,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;SAC1D,MAAM,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;SACvD,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACrD,MAAM,CAAC,oBAAoB,EAAE,4BAA4B,CAAC;SAC1D,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACtC,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/playlist.d.ts b/plugins/screenrig/cli/dist/cli-commands/playlist.d.ts new file mode 100644 index 00000000..9c048ae7 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/playlist.d.ts @@ -0,0 +1,4 @@ +import type { CommandActionBinder } from "./types.js"; +import type { Command } from "commander"; +export declare function registerPlaylistCommands(root: Command, bind: CommandActionBinder): void; +//# sourceMappingURL=playlist.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/playlist.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/playlist.d.ts.map new file mode 100644 index 00000000..67be8c73 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/playlist.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"playlist.d.ts","sourceRoot":"","sources":["../../src/cli-commands/playlist.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CA2DvF"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/playlist.js b/plugins/screenrig/cli/dist/cli-commands/playlist.js new file mode 100644 index 00000000..22eeab0a --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/playlist.js @@ -0,0 +1,57 @@ +import { usageError } from "../problems.js"; +import { nonnegativeInteger, positiveInteger, revision } from "./options.js"; +import { handlePlaylistValidate, handlePlaylistPreview, handlePlaylistTemplates, handlePlaylistCreate, handlePlaylistUpdate, handlePlaylistExport, handlePlaylistImport, handlePlaylistShow, handlePlaylistList, handlePlaylistDelete } from "../commands.js"; +import { addCommandNotes } from "./notes.js"; +import { LOOK_AT_THE_CONTACT_SHEET } from "../playlist-preview.js"; +export function registerPlaylistCommands(root, bind) { + const playlist = root.command("playlist").description("Author, validate, preview, and manage playlists"); + playlist.command("validate").description("Validate a playlist file") + .argument("<file>", "Local input file") + .option("--lint-only", "Run the command's local validation/lint mode") + .action(bind(handlePlaylistValidate)); + addCommandNotes(playlist.command("preview").description("Render playlist previews and a contact sheet") + .argument("<file|id>", "Playlist file or playlist identifier") + .requiredOption("--output <PATH>", "Write preview files to this directory (required)") + .option("--frame-ms <MS>", "Select the preview frame time", nonnegativeInteger("frame-ms")) + .option("--contact-sheet", "Include a contact sheet") + .option("--lint-only", "Run the command's local validation/lint mode") + .action(bind(handlePlaylistPreview)), LOOK_AT_THE_CONTACT_SHEET); + playlist.command("templates").description("Browse playlist templates") + .action(bind(handlePlaylistTemplates)); + playlist.command("create").description("Create a playlist from a file") + .argument("<file>", "Local input file") + .action(bind(handlePlaylistCreate)); + playlist.command("update").description("Update a playlist") + .argument("<id>", "Playlist identifier") + .argument("<file>", "Local input file") + .requiredOption("--if-match <REVISION>", "Require the current resource revision (required)", revision) + .action(bind(handlePlaylistUpdate)); + playlist.command("export").description("Export a playlist bundle") + .argument("<id>", "Playlist identifier") + .requiredOption("--output <PATH>", "Write the exported bundle to this directory (required)") + .action(bind(handlePlaylistExport)); + playlist.command("import").description("Import a playlist bundle") + .argument("<directory>", "Local directory") + .option("--name <NAME>", "Set the imported playlist name") + .option("--update <ID>", "Update this playlist when importing") + .option("--if-match <REVISION>", "Require the current resource revision", revision) + .option("--poll-ms <MS>", "Set the operation polling interval", positiveInteger("poll-ms")) + .hook("preAction", (command) => { + const update = command.getOptionValueSource("update") === "cli"; + const ifMatch = command.getOptionValueSource("ifMatch") === "cli"; + if (update !== ifMatch) + throw usageError("playlist import --update and --if-match must be supplied together."); + }) + .action(bind(handlePlaylistImport)); + playlist.command("show").description("Inspect a playlist") + .alias("get") + .argument("<id>", "Playlist identifier") + .action(bind(handlePlaylistShow)); + playlist.command("list").description("List playlists") + .action(bind(handlePlaylistList)); + playlist.command("delete").description("Delete a playlist") + .argument("<id>", "Playlist identifier") + .requiredOption("--if-match <REVISION>", "Require the current resource revision (required)", revision) + .action(bind(handlePlaylistDelete)); +} +//# sourceMappingURL=playlist.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/playlist.js.map b/plugins/screenrig/cli/dist/cli-commands/playlist.js.map new file mode 100644 index 00000000..d45113a7 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/playlist.js.map @@ -0,0 +1 @@ +{"version":3,"file":"playlist.js","sourceRoot":"","sources":["../../src/cli-commands/playlist.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/screen.d.ts b/plugins/screenrig/cli/dist/cli-commands/screen.d.ts new file mode 100644 index 00000000..7ccd005f --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/screen.d.ts @@ -0,0 +1,4 @@ +import type { CommandActionBinder } from "./types.js"; +import type { Command } from "commander"; +export declare function registerScreenCommands(root: Command, bind: CommandActionBinder): void; +//# sourceMappingURL=screen.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/screen.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/screen.d.ts.map new file mode 100644 index 00000000..eb2ae3df --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/screen.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../src/cli-commands/screen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CA0ErF"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/screen.js b/plugins/screenrig/cli/dist/cli-commands/screen.js new file mode 100644 index 00000000..63b2818f --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/screen.js @@ -0,0 +1,65 @@ +import { positiveInteger, revision, toastDuration } from "./options.js"; +import { handleScreenPair, handleScreenProvision, handleScreenUpdate, handleScreenList, handleScreenShow, handleScreenAssign, handleScreenSetTimezone, handleScreenArchive, handleScreenUnarchive, handleScreenDelete, handleScreenRotatePublicId, handleScreenToast, handleScreenScreenshot } from "../commands.js"; +export function registerScreenCommands(root, bind) { + const screen = root.command("screen").description("Pair, configure, and inspect screens"); + screen.command("pair").description("Claim a Player pairing code") + .argument("<code>", "Player pairing code") + .option("--label <LABEL>", "Set the screen label") + .action(bind(handleScreenPair)); + screen.command("provision").description("Create a screen and browser handoff") + .option("--open", "Open the browser Player handoff") + .option("--print-url", "Return the browser handoff URL") + .option("--label <LABEL>", "Set the screen label") + .action(bind(handleScreenProvision)); + screen.command("update").description("Update a screen") + .argument("<id>", "Screen identifier") + .option("--name <NAME>", "Set the screen name") + .option("--playlist-id <ID>", "Select the playlist to assign") + .option("--timezone <ZONE>", "Set an IANA timezone") + .requiredOption("--if-match <REVISION>", "Require the current resource revision (required)", revision) + .action(bind(handleScreenUpdate)); + screen.command("list").description("List screens") + .option("--state <archived>", "List archived screens") + .action(bind(handleScreenList)); + screen.command("show").description("Inspect a screen") + .argument("<id>", "Screen identifier") + .action(bind(handleScreenShow)); + screen.command("assign").description("Assign a playlist to a screen") + .argument("<id>", "Screen identifier") + .requiredOption("--playlist-id <ID>", "Select the playlist to assign (required)") + .requiredOption("--if-match <REVISION>", "Require the current resource revision (required)", revision) + .action(bind(handleScreenAssign)); + screen.command("set-timezone").description("Set a screen's timezone") + .argument("<id>", "Screen identifier") + .requiredOption("--timezone <ZONE>", "Set an IANA timezone (required)") + .requiredOption("--if-match <REVISION>", "Require the current resource revision (required)", revision) + .action(bind(handleScreenSetTimezone)); + screen.command("archive").description("Archive a screen") + .argument("<id>", "Screen identifier") + .requiredOption("--if-match <REVISION>", "Require the current resource revision (required)", revision) + .action(bind(handleScreenArchive)); + screen.command("unarchive").description("Restore an archived screen") + .argument("<id>", "Screen identifier") + .requiredOption("--if-match <REVISION>", "Require the current resource revision (required)", revision) + .action(bind(handleScreenUnarchive)); + screen.command("delete").description("Delete a screen") + .argument("<id>", "Screen identifier") + .requiredOption("--if-match <REVISION>", "Require the current resource revision (required)", revision) + .action(bind(handleScreenDelete)); + screen.command("rotate-public-id").description("Rotate a screen's public identifier") + .argument("<id>", "Screen identifier") + .requiredOption("--if-match <REVISION>", "Require the current resource revision (required)", revision) + .action(bind(handleScreenRotatePublicId)); + screen.command("toast").description("Show a temporary screen message") + .argument("<id>", "Screen identifier") + .requiredOption("--text <TEXT>", "Set the screen message (required)") + .option("--level <LEVEL>", "Set toast level (default: info)") + .option("--duration-ms <MS>", "Show the message for 2000–60000 milliseconds", toastDuration) + .action(bind(handleScreenToast)); + screen.command("screenshot").description("Capture and download a screen screenshot") + .argument("<id>", "Screen identifier") + .option("--output <PATH>", "Write the screenshot to this file") + .option("--poll-ms <MS>", "Set the operation polling interval", positiveInteger("poll-ms")) + .action(bind(handleScreenScreenshot)); +} +//# sourceMappingURL=screen.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/screen.js.map b/plugins/screenrig/cli/dist/cli-commands/screen.js.map new file mode 100644 index 00000000..7d779001 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/screen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"screen.js","sourceRoot":"","sources":["../../src/cli-commands/screen.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/types.d.ts b/plugins/screenrig/cli/dist/cli-commands/types.d.ts new file mode 100644 index 00000000..60efd05c --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/types.d.ts @@ -0,0 +1,3 @@ +import type { CommandHandler } from "../commands.js"; +export type CommandActionBinder = (handler: CommandHandler) => (...args: unknown[]) => void | Promise<void>; +//# sourceMappingURL=types.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/types.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/types.d.ts.map new file mode 100644 index 00000000..c6cdcd53 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli-commands/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/types.js b/plugins/screenrig/cli/dist/cli-commands/types.js new file mode 100644 index 00000000..718fd38a --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/types.js @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/types.js.map b/plugins/screenrig/cli/dist/cli-commands/types.js.map new file mode 100644 index 00000000..e50825b3 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli-commands/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/version.d.ts b/plugins/screenrig/cli/dist/cli-commands/version.d.ts new file mode 100644 index 00000000..6ac3bf3e --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/version.d.ts @@ -0,0 +1,4 @@ +import type { CommandActionBinder } from "./types.js"; +import type { Command } from "commander"; +export declare function registerVersionCommands(root: Command, bind: CommandActionBinder): void; +//# sourceMappingURL=version.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/version.d.ts.map b/plugins/screenrig/cli/dist/cli-commands/version.d.ts.map new file mode 100644 index 00000000..b41855f5 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/version.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/cli-commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAGtF"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/version.js b/plugins/screenrig/cli/dist/cli-commands/version.js new file mode 100644 index 00000000..5e6fb643 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/version.js @@ -0,0 +1,6 @@ +import { handleVersion } from "../commands.js"; +export function registerVersionCommands(root, bind) { + root.command("version").description("Show CLI and protocol versions") + .action(bind(handleVersion)); +} +//# sourceMappingURL=version.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-commands/version.js.map b/plugins/screenrig/cli/dist/cli-commands/version.js.map new file mode 100644 index 00000000..910ad4f3 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-commands/version.js.map @@ -0,0 +1 @@ +{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/cli-commands/version.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,MAAM,UAAU,uBAAuB,CAAC,IAAa,EAAE,IAAyB;IAC9E,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,gCAAgC,CAAC;SAClE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;AACjC,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-errors.d.ts b/plugins/screenrig/cli/dist/cli-errors.d.ts new file mode 100644 index 00000000..88c1ee17 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-errors.d.ts @@ -0,0 +1,4 @@ +import type { Command, CommanderError } from "commander"; +/** Commander diagnostics can contain raw option names/values. Never expose them. */ +export declare function commandError(error: CommanderError, command: Command): never; +//# sourceMappingURL=cli-errors.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-errors.d.ts.map b/plugins/screenrig/cli/dist/cli-errors.d.ts.map new file mode 100644 index 00000000..fab6aacf --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-errors.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cli-errors.d.ts","sourceRoot":"","sources":["../src/cli-errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAIzD,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAkC3E"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-errors.js b/plugins/screenrig/cli/dist/cli-errors.js new file mode 100644 index 00000000..ed0ada34 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-errors.js @@ -0,0 +1,48 @@ +import { commandPath } from "./command-path.js"; +import { usageError } from "./problems.js"; +/** Commander diagnostics can contain raw option names/values. Never expose them. */ +export function commandError(error, command) { + const path = commandPath(command).join(" "); + // Preserve actionable migration hints using only known command/flag names. + const has = (flag) => command.args.some((arg) => arg === `--${flag}` || arg.startsWith(`--${flag}=`)); + if (path === "screen" && command.args[0] === "revoke-credential") + throw usageError("screen revoke-credential is retired. Archive the screen instead.", { command: "screenrig screen archive <id> --if-match REVISION", reason: "Archive hides the screen; it does not unbind the player." }); + if (path.startsWith("comment ")) { + if (command.commands.length) + throw usageError("comment commands require screen <id> or playlist <id>."); + if (has("if-match")) + throw usageError("comment commands do not take --if-match; last write wins and does not bump revision."); + if (has("page") && command.name() === "screen") + throw usageError("comment screen commands do not take --page; use comment playlist <id> --page PAGE_ID."); + if (has("value-base64")) + throw usageError("comment set requires --json-value or --file."); + if (error.code === "commander.conflictingOption") + throw usageError("comment set requires exactly one of --json-value or --file."); + } + if (path === "media list" && has("kind")) + throw usageError("media list uses --primitive image|video, not --kind."); + switch (error.code) { + case "commander.missingArgument": + if (path === "screen set-timezone") + throw usageError("screen set-timezone requires <id> --timezone --if-match."); + throw usageError(`${path} requires ${command.registeredArguments.filter((arg) => arg.required).map((arg) => `<${arg.name()}>`).join(" ")}.`); + case "commander.excessArguments": + throw usageError(`${path || "screenrig"} does not accept ${command.registeredArguments.length ? "extra" : "positional"} arguments.`); + case "commander.conflictingOption": + throw usageError("Conflicting options. See command help."); + case "commander.missingMandatoryOptionValue": { + if (path === "screen set-timezone") + throw usageError("screen set-timezone requires <id> --timezone --if-match."); + const required = command.options.filter((option) => option.mandatory && command.getOptionValue(option.attributeName()) === undefined); + const positional = command.registeredArguments.filter((arg, index) => arg.required && index >= command.args.length).map((arg) => `<${arg.name()}>`); + throw usageError(`${path} requires ${[...positional, ...required.map((option) => option.long)].join(" ")}.`); + } + case "commander.optionMissingArgument": { + const option = command.options.find((candidate) => error.message.includes(`option '${candidate.flags}'`)); + throw usageError(option ? `${option.long} requires a value.` : "An option requires a value. See command help for its arguments."); + } + default: + throw usageError("Unknown command or unsupported option. See command help for supported arguments.", { command: `screenrig${path ? ` ${path}` : ""} --help`, reason: "List supported commands, arguments, and options." }); + } +} +//# sourceMappingURL=cli-errors.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/cli-errors.js.map b/plugins/screenrig/cli/dist/cli-errors.js.map new file mode 100644 index 00000000..89aa5c63 --- /dev/null +++ b/plugins/screenrig/cli/dist/cli-errors.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cli-errors.js","sourceRoot":"","sources":["../src/cli-errors.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/command-input.d.ts b/plugins/screenrig/cli/dist/command-input.d.ts new file mode 100644 index 00000000..ef132e74 --- /dev/null +++ b/plugins/screenrig/cli/dist/command-input.d.ts @@ -0,0 +1,10 @@ +/** Explicit command input passed from Commander to the application handlers. */ +export interface ParsedArgs { + command: string[]; + flags: Record<string, string | boolean>; + positionals: string[]; +} +export declare function flagString(flags: Record<string, string | boolean>, name: string): string | undefined; +export declare function flagBool(flags: Record<string, string | boolean>, name: string): boolean; +export declare function flagNumber(flags: Record<string, string | boolean>, name: string): number | undefined; +//# sourceMappingURL=command-input.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/command-input.d.ts.map b/plugins/screenrig/cli/dist/command-input.d.ts.map new file mode 100644 index 00000000..c14b9063 --- /dev/null +++ b/plugins/screenrig/cli/dist/command-input.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"command-input.d.ts","sourceRoot":"","sources":["../src/command-input.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IACxC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGpG;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOpG"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/command-input.js b/plugins/screenrig/cli/dist/command-input.js new file mode 100644 index 00000000..0cdb2e46 --- /dev/null +++ b/plugins/screenrig/cli/dist/command-input.js @@ -0,0 +1,16 @@ +export function flagString(flags, name) { + const value = flags[name]; + return typeof value === "string" && value.length > 0 ? value : undefined; +} +export function flagBool(flags, name) { + return flags[name] === true; +} +export function flagNumber(flags, name) { + const value = flagString(flags, name); + if (value === undefined) { + return undefined; + } + const n = Number(value); + return Number.isFinite(n) ? n : undefined; +} +//# sourceMappingURL=command-input.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/command-input.js.map b/plugins/screenrig/cli/dist/command-input.js.map new file mode 100644 index 00000000..ce2ab169 --- /dev/null +++ b/plugins/screenrig/cli/dist/command-input.js.map @@ -0,0 +1 @@ +{"version":3,"file":"command-input.js","sourceRoot":"","sources":["../src/command-input.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,UAAU,CAAC,KAAuC,EAAE,IAAY;IAC9E,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAuC,EAAE,IAAY;IAC5E,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAuC,EAAE,IAAY;IAC9E,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/command-path.d.ts b/plugins/screenrig/cli/dist/command-path.d.ts new file mode 100644 index 00000000..d76ca0be --- /dev/null +++ b/plugins/screenrig/cli/dist/command-path.d.ts @@ -0,0 +1,7 @@ +import type { Command } from "commander"; +/** Canonical command names, excluding the executable and any supplied values. */ +export declare function commandPath(command: Command): string[]; +export declare function findCommand(root: Command, path: readonly string[]): Command | undefined; +/** Read explicit CLI options only; Commander defaults must not become write flags. */ +export declare function invocationFlags(command: Command): Record<string, string | boolean>; +//# sourceMappingURL=command-path.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/command-path.d.ts.map b/plugins/screenrig/cli/dist/command-path.d.ts.map new file mode 100644 index 00000000..e2603211 --- /dev/null +++ b/plugins/screenrig/cli/dist/command-path.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"command-path.d.ts","sourceRoot":"","sources":["../src/command-path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAEtD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS,CAQvF;AAED,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CASlF"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/command-path.js b/plugins/screenrig/cli/dist/command-path.js new file mode 100644 index 00000000..4561fe74 --- /dev/null +++ b/plugins/screenrig/cli/dist/command-path.js @@ -0,0 +1,27 @@ +/** Canonical command names, excluding the executable and any supplied values. */ +export function commandPath(command) { + return command.parent ? [...commandPath(command.parent), command.name()] : []; +} +export function findCommand(root, path) { + let command = root; + for (const word of path) { + const child = command.commands.find((candidate) => candidate.name() === word || candidate.aliases().includes(word)); + if (!child) + return undefined; + command = child; + } + return command; +} +/** Read explicit CLI options only; Commander defaults must not become write flags. */ +export function invocationFlags(command) { + const flags = Object.create(null); + for (let current = command; current; current = current.parent) { + for (const option of current.options) { + if (current.getOptionValueSource(option.attributeName()) !== "cli") + continue; + flags[option.long.slice(2)] = option.negate ? true : current.getOptionValue(option.attributeName()); + } + } + return flags; +} +//# sourceMappingURL=command-path.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/command-path.js.map b/plugins/screenrig/cli/dist/command-path.js.map new file mode 100644 index 00000000..3bb6d353 --- /dev/null +++ b/plugins/screenrig/cli/dist/command-path.js.map @@ -0,0 +1 @@ +{"version":3,"file":"command-path.js","sourceRoot":"","sources":["../src/command-path.ts"],"names":[],"mappings":"AAEA,iFAAiF;AACjF,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAa,EAAE,IAAuB;IAChE,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACpH,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAqC,CAAC;IACtE,KAAK,IAAI,OAAO,GAAmB,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC9E,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,KAAK,KAAK;gBAAE,SAAS;YAC7E,KAAK,CAAC,MAAM,CAAC,IAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/command-spec.d.ts b/plugins/screenrig/cli/dist/command-spec.d.ts deleted file mode 100644 index 5a76ca17..00000000 --- a/plugins/screenrig/cli/dist/command-spec.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** Declarative command inputs for the Commander tree. */ -export interface CommandSpec { - readonly path: readonly string[]; - readonly arguments?: string; - readonly aliases?: readonly (readonly string[])[]; - readonly flags: readonly string[]; - readonly requiredFlags?: readonly string[]; -} -export declare const GLOBAL_FLAGS: readonly ["json", "api-url", "config", "request-id", "idempotency-key", "timeout", "beta-key", "token"]; -export declare const COMMAND_SPECS: readonly CommandSpec[]; -//# sourceMappingURL=command-spec.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/command-spec.d.ts.map b/plugins/screenrig/cli/dist/command-spec.d.ts.map deleted file mode 100644 index 8560c4b1..00000000 --- a/plugins/screenrig/cli/dist/command-spec.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"command-spec.d.ts","sourceRoot":"","sources":["../src/command-spec.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IAClD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAED,eAAO,MAAM,YAAY,yGAA0G,CAAC;AAEpI,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAoE/C,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/command-spec.js b/plugins/screenrig/cli/dist/command-spec.js deleted file mode 100644 index 963ae9ed..00000000 --- a/plugins/screenrig/cli/dist/command-spec.js +++ /dev/null @@ -1,71 +0,0 @@ -export const GLOBAL_FLAGS = ["json", "api-url", "config", "request-id", "idempotency-key", "timeout", "beta-key", "token"]; -export const COMMAND_SPECS = [ - { path: ["account", "show"], flags: [] }, - { path: ["agent", "enroll"], flags: ["email", "name", "open-dashboard"] }, - { path: ["agent", "connect"], flags: ["name", "print-url"] }, - { path: ["agent", "status"], flags: [] }, - { path: ["agent", "disconnect"], flags: ["yes", "allow-lockout"] }, - { path: ["dashboard"], flags: ["print-url"] }, - { path: ["app", "pack"], arguments: "<directory>", flags: ["output"] }, - { path: ["app", "upload"], arguments: "<directory>", flags: ["name", "no-wait", "poll-ms"] }, - { path: ["app", "update"], arguments: "<id> <directory>", requiredFlags: ["if-match"], flags: ["if-match", "no-wait", "poll-ms"] }, - { path: ["app", "list"], flags: [] }, - { path: ["app", "show"], arguments: "<id>", flags: [] }, - { path: ["media", "generate"], requiredFlags: ["prompt"], flags: ["prompt", "aspect-ratio", "quality", "tag"] }, - { path: ["media", "upload"], arguments: "<file>", flags: ["content-type", "tag", "no-wait", "poll-ms", "no-transcode", "codec", "max-fps", "max-edge", "webp-quality", "no-progress", "preset", "no-audio"] }, - { path: ["media", "upload-batch"], arguments: "<manifest.json>", requiredFlags: ["state"], flags: ["state", "concurrency", "no-transcode", "tag", "no-progress", "poll-ms", "codec", "max-fps", "max-edge", "webp-quality", "preset", "no-audio"] }, - { path: ["media", "show"], arguments: "<id>", flags: [] }, - { path: ["media", "download"], arguments: "<id>", flags: ["output"] }, - { path: ["media", "list"], flags: ["tag", "primitive"] }, - { path: ["media", "update"], arguments: "<id>", requiredFlags: ["if-match"], flags: ["tag", "clear-tag", "if-match"] }, - { path: ["media", "delete"], arguments: "<id>", requiredFlags: ["if-match"], flags: ["if-match"] }, - { path: ["compose", "catalog"], flags: [] }, - { path: ["compose", "batch"], arguments: "<file>", requiredFlags: ["output"], flags: ["output", "only", "target-width", "target-height", "safe-area", "lint-only"] }, - { path: ["compose", "render"], arguments: "<file>", flags: ["output", "combined", "target-width", "target-height", "safe-area", "open", "lint-only"] }, - { path: ["playlist", "validate"], arguments: "<file>", flags: ["lint-only"] }, - { path: ["playlist", "preview"], arguments: "<file|id>", requiredFlags: ["output"], flags: ["output", "frame-ms", "contact-sheet", "lint-only"] }, - { path: ["playlist", "templates"], flags: [] }, - { path: ["playlist", "create"], arguments: "<file>", flags: [] }, - { path: ["playlist", "update"], arguments: "<id> <file>", requiredFlags: ["if-match"], flags: ["if-match"] }, - { path: ["playlist", "export"], arguments: "<id>", requiredFlags: ["output"], flags: ["output"] }, - { path: ["playlist", "import"], arguments: "<directory>", flags: ["name", "update", "if-match", "poll-ms"] }, - { path: ["playlist", "show"], aliases: [["playlist", "get"]], arguments: "<id>", flags: [] }, - { path: ["playlist", "list"], flags: [] }, - { path: ["playlist", "delete"], arguments: "<id>", requiredFlags: ["if-match"], flags: ["if-match"] }, - { path: ["screen", "pair"], arguments: "<code>", flags: ["label"] }, - { path: ["screen", "provision"], flags: ["open", "print-url", "label"] }, - { path: ["browser", "setup"], requiredFlags: ["code"], flags: ["code", "open"] }, - { path: ["screen", "update"], arguments: "<id>", requiredFlags: ["if-match"], flags: ["name", "playlist-id", "timezone", "if-match"] }, - { path: ["screen", "list"], flags: ["state"] }, - { path: ["screen", "show"], arguments: "<id>", flags: [] }, - { path: ["screen", "assign"], arguments: "<id>", requiredFlags: ["playlist-id", "if-match"], flags: ["playlist-id", "if-match"] }, - { path: ["screen", "set-timezone"], arguments: "<id>", requiredFlags: ["timezone", "if-match"], flags: ["timezone", "if-match"] }, - { path: ["screen", "archive"], arguments: "<id>", requiredFlags: ["if-match"], flags: ["if-match"] }, - { path: ["screen", "unarchive"], arguments: "<id>", requiredFlags: ["if-match"], flags: ["if-match"] }, - { path: ["screen", "delete"], arguments: "<id>", requiredFlags: ["if-match"], flags: ["if-match"] }, - { path: ["screen", "rotate-public-id"], arguments: "<id>", requiredFlags: ["if-match"], flags: ["if-match"] }, - { path: ["screen", "toast"], arguments: "<id>", requiredFlags: ["text"], flags: ["text", "level", "duration-ms"] }, - { path: ["screen", "screenshot"], arguments: "<id>", flags: ["output", "poll-ms"] }, - { path: ["kv", "get"], arguments: "<key>", requiredFlags: ["application-id"], flags: ["application-id"] }, - { path: ["kv", "set"], arguments: "<key>", requiredFlags: ["application-id"], flags: ["application-id", "json-value", "file", "value-base64", "content-type", "if-match"] }, - { path: ["kv", "delete"], arguments: "<key>", requiredFlags: ["application-id", "if-match"], flags: ["application-id", "if-match"] }, - { path: ["kv", "list"], requiredFlags: ["application-id"], flags: ["application-id"] }, - { path: ["comment", "show", "screen"], arguments: "<id>", flags: [] }, - { path: ["comment", "show", "playlist"], arguments: "<id>", flags: ["page"] }, - { path: ["comment", "set", "screen"], arguments: "<id>", flags: ["json-value", "file"] }, - { path: ["comment", "set", "playlist"], arguments: "<id>", flags: ["page", "json-value", "file"] }, - { path: ["comment", "delete", "screen"], arguments: "<id>", flags: [] }, - { path: ["comment", "delete", "playlist"], arguments: "<id>", flags: ["page"] }, - { path: ["operations", "get"], arguments: "<id>", flags: [] }, - { path: ["operations", "wait"], arguments: "<id>", flags: ["poll-ms"] }, - { path: ["operations", "cancel"], arguments: "<id>", flags: [] }, - { path: ["events", "list"], flags: ["after", "cursor", "limit"] }, - { path: ["events", "follow"], flags: ["after", "cursor"] }, - { path: ["playback", "list"], flags: ["screen-id", "media-id", "day"] }, - { path: ["feedback", "bug"], arguments: "<title>", flags: ["body", "body-file", "command", "no-context"] }, - { path: ["feedback", "feature"], arguments: "<title>", flags: ["body", "body-file", "command", "no-context"] }, - { path: ["feedback", "list"], flags: ["kind"] }, - { path: ["doctor"], flags: ["repair-config"] }, - { path: ["version"], flags: [] }, -]; -//# sourceMappingURL=command-spec.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/command-spec.js.map b/plugins/screenrig/cli/dist/command-spec.js.map deleted file mode 100644 index 10a24397..00000000 --- a/plugins/screenrig/cli/dist/command-spec.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"command-spec.js","sourceRoot":"","sources":["../src/command-spec.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/command-tree.d.ts b/plugins/screenrig/cli/dist/command-tree.d.ts index d5bfd621..11c7832d 100644 --- a/plugins/screenrig/cli/dist/command-tree.d.ts +++ b/plugins/screenrig/cli/dist/command-tree.d.ts @@ -1,15 +1,14 @@ import { Command } from "commander"; -/** Canonical command names, excluding the executable and any supplied values. */ -export declare function commandPath(command: Command): string[]; -export declare function findCommand(root: Command, path: readonly string[]): Command | undefined; -/** Read explicit CLI options only; Commander defaults must not become write flags. */ -export declare function invocationFlags(command: Command): Record<string, string | boolean>; +import type { ParsedArgs } from "./command-input.js"; +import type { CommandHandler } from "./commands.js"; +export { commandPath, findCommand, invocationFlags } from "./command-path.js"; export interface CommandTree { root: Command; selected: () => Command; helpRequested: () => boolean; versionRequested: () => boolean; } -/** Build fresh commands per invocation: no shared parsed values or process exits. */ -export declare function createCommandTree(argv?: readonly string[]): CommandTree; +export declare function commandInput(command: Command): ParsedArgs; +/** Fresh native commands per invocation; actions return their asynchronous work. */ +export declare function createCommandTree(argv?: readonly string[], execute?: (handler: CommandHandler, args: ParsedArgs) => Promise<void>): CommandTree; //# sourceMappingURL=command-tree.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/command-tree.d.ts.map b/plugins/screenrig/cli/dist/command-tree.d.ts.map index c6834525..9c527672 100644 --- a/plugins/screenrig/cli/dist/command-tree.d.ts.map +++ b/plugins/screenrig/cli/dist/command-tree.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"command-tree.d.ts","sourceRoot":"","sources":["../src/command-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA0B,MAAM,WAAW,CAAC;AA0C5D,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAEtD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS,CAQvF;AAED,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CASlF;AA0DD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,OAAO,CAAC;IACxB,aAAa,EAAE,MAAM,OAAO,CAAC;IAC7B,gBAAgB,EAAE,MAAM,OAAO,CAAC;CACjC;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,SAAS,MAAM,EAAO,GAAG,WAAW,CAyE3E"} \ No newline at end of file +{"version":3,"file":"command-tree.d.ts","sourceRoot":"","sources":["../src/command-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAOpD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE9E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,OAAO,CAAC;IACxB,aAAa,EAAE,MAAM,OAAO,CAAC;IAC7B,gBAAgB,EAAE,MAAM,OAAO,CAAC;CACjC;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAGzD;AAsBD,oFAAoF;AACpF,wBAAgB,iBAAiB,CAC/B,IAAI,GAAE,SAAS,MAAM,EAAO,EAC5B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GACrE,WAAW,CAmDb"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/command-tree.js b/plugins/screenrig/cli/dist/command-tree.js index 8fa8d966..61fe2d86 100644 --- a/plugins/screenrig/cli/dist/command-tree.js +++ b/plugins/screenrig/cli/dist/command-tree.js @@ -1,223 +1,90 @@ -import { Command, CommanderError, Option } from "commander"; -import { COMMAND_SPECS, GLOBAL_FLAGS } from "./command-spec.js"; -import { ACTION_SUMMARIES, SUMMARIES } from "./help-text.js"; -import { quotedRevision } from "./if-match.js"; +import { Command, Option } from "commander"; +import { commandError } from "./cli-errors.js"; +import { commandPath, findCommand, invocationFlags } from "./command-path.js"; +import { registerCommands } from "./cli-commands/index.js"; import { usageError } from "./problems.js"; import { CLI_VERSION } from "./version.js"; -const OPTION_HELP = { - json: ["", "Return a JSON envelope"], - "api-url": ["URL", "Override the API origin"], config: ["PATH", "Use this credential/configuration file"], - "request-id": ["ID", "Use a request correlation ID"], "idempotency-key": ["KEY", "Reuse a key when retrying the same write"], - timeout: ["MS", "Set the command timeout in milliseconds"], "beta-key": ["KEY", "Supply an enrollment beta key"], token: ["TOKEN", "Override the stored credential"], - email: ["ADDRESS", "Set the account contact email"], name: ["NAME", "Set the resource or agent name"], - "open-dashboard": ["", "Open the dashboard after enrolling"], "print-url": ["", "Return the browser handoff URL"], - yes: ["", "Confirm this agent's disconnection"], "allow-lockout": ["", "Allow disconnecting the last agent"], - output: ["PATH", "Write the result to this file or directory"], "no-wait": ["", "Return after acceptance without waiting for processing"], - "poll-ms": ["MS", "Set the operation polling interval"], "if-match": ["REVISION", "Require the current resource revision"], - prompt: ["TEXT", "Describe the complete image to generate"], "aspect-ratio": ["RATIO", "Choose the generated image aspect ratio"], - quality: ["low|medium|high", "Choose generation quality"], tag: ["TAG", "Set or filter by a media tag"], - "content-type": ["TYPE", "Declare the content MIME type"], "no-transcode": ["", "Upload accepted source bytes unchanged"], - codec: ["h264|hevc", "Choose the video codec (default: h264)"], "max-fps": ["N", "Limit video frames per second"], - "max-edge": ["PIXELS", "Limit the longest video edge"], "webp-quality": ["1-100", "Set WebP quality"], - "no-progress": ["", "Suppress stderr progress"], preset: ["PRESET", "Use signage-1080p30 or signage-4k30"], "no-audio": ["", "Remove the audio track when transcoding"], - state: ["VALUE", "Select archived screens or an upload-batch state file"], concurrency: ["N", "Set concurrent batch uploads"], - primitive: ["image|video", "Filter by media primitive"], "clear-tag": ["", "Remove the media tag"], - only: ["ID", "Render only this page"], "target-width": ["PX", "Set the physical content width"], "target-height": ["PX", "Set the physical content height"], - "safe-area": ["", "Apply the display safe area"], "lint-only": ["", "Run the command's local validation/lint mode"], combined: ["", "Also render combined page images"], open: ["", "Open the result in its viewer"], - "frame-ms": ["MS", "Select the preview frame time"], "contact-sheet": ["", "Include a contact sheet"], update: ["ID", "Update this playlist when importing"], - label: ["LABEL", "Set the screen label"], code: ["CODE", "Use the browser setup code"], "playlist-id": ["ID", "Select the playlist to assign"], timezone: ["ZONE", "Set an IANA timezone"], - text: ["TEXT", "Set the screen message"], level: ["LEVEL", "Set toast level (default: info)"], "duration-ms": ["MS", "Show the message for 2000–60000 milliseconds"], - "application-id": ["ID", "Select the application's K/V namespace"], "json-value": ["JSON", "Supply a JSON value"], file: ["FILE", "Read the value from a file"], "value-base64": ["BASE64", "Supply canonical base64 bytes (may be empty)"], - page: ["PAGE_ID", "Select playlist page comments"], after: ["CURSOR", "Read events after this cursor"], cursor: ["CURSOR", "Alias for --after"], limit: ["N", "Limit returned events"], - "screen-id": ["ID", "Filter playback by screen"], "media-id": ["ID", "Filter playback by media"], day: ["YYYY-MM-DD", "Filter playback by UTC day"], - body: ["TEXT", "Supply feedback details"], "body-file": ["FILE", "Read feedback details from a file"], command: ["GROUP ACTION", "Identify the command involved"], "no-context": ["", "Omit diagnostic context"], kind: ["bug|feature", "Filter feedback by kind"], - "repair-config": ["", "Repair configuration permissions"], -}; -const NUMERIC_FLAGS = new Set(["timeout", "poll-ms", "target-width", "target-height", "limit", "max-fps", "max-edge", "webp-quality", "duration-ms", "concurrency", "frame-ms"]); -const CONFLICTS = [ - ["after", "cursor"], ["tag", "clear-tag"], ["body", "body-file"], ["json-value", "file", "value-base64"], ["json-value", "content-type"], - ...["codec", "max-fps", "max-edge", "webp-quality", "preset", "no-audio"].map((flag) => ["no-transcode", flag]), -]; -/** Canonical command names, excluding the executable and any supplied values. */ -export function commandPath(command) { - return command.parent ? [...commandPath(command.parent), command.name()] : []; +export { commandPath, findCommand, invocationFlags } from "./command-path.js"; +export function commandInput(command) { + const positionals = [...commandPath(command), ...command.args]; + return { command: positionals.slice(0, 2), positionals, flags: invocationFlags(command) }; } -export function findCommand(root, path) { - let command = root; - for (const word of path) { - const child = command.commands.find((candidate) => candidate.name() === word || candidate.aliases().includes(word)); - if (!child) - return undefined; - command = child; - } - return command; -} -/** Read explicit CLI options only; Commander defaults must not become write flags. */ -export function invocationFlags(command) { - const flags = Object.create(null); - for (let current = command; current; current = current.parent) { - for (const option of current.options) { - if (current.getOptionValueSource(option.attributeName()) !== "cli") - continue; - flags[option.long.slice(2)] = option.negate ? true : current.getOptionValue(option.attributeName()); - } +/** Shared transport safeguards, independent of the individual command definitions. */ +function protectOption(command, option, argv, seen) { + const name = option.long.slice(2); + if (option.required || option.optional) { + const parser = option.parseArg; + option.argParser((value, previous) => { + // An option-looking token is usually a missing value. Explicit '=' permits it. + if ((!value.length && name !== "value-base64") || + (value.startsWith("-") && !/^-\d/.test(value) && !argv.includes(`--${name}=${value}`))) { + throw usageError(`--${name} requires a value. Use --${name}=VALUE for a value starting with a dash.`); + } + return parser ? parser(value, previous) : value; + }); } - return flags; + command.on(`option:${option.name()}`, () => { + if (seen.has(name)) + throw usageError(`--${name} may be supplied only once.`); + seen.add(name); + }); } -function optionValue(name, value, argv) { - if ((!value.length && name !== "value-base64") || - (value.startsWith("-") && !/^-\d/.test(value) && !argv.includes(`--${name}=${value}`))) { - throw usageError(`--${name} requires a value. Use --${name}=VALUE for a value starting with a dash.`); +/** Fresh native commands per invocation; actions return their asynchronous work. */ +export function createCommandTree(argv = [], execute) { + const end = argv.indexOf("--"); + const tokens = end < 0 ? argv : argv.slice(0, end); + if (tokens.includes("--json") && tokens.includes("--human")) { + throw usageError("--json and --human are mutually exclusive."); } - if (NUMERIC_FLAGS.has(name)) { - const number = Number(value); - if (name === "duration-ms" && (!Number.isInteger(number) || number < 2000 || number > 60000)) - throw usageError("--duration-ms must be a whole number between 2000 and 60000."); - if (!value.trim() || !Number.isFinite(number) || number < 0 || (name !== "max-fps" && !Number.isSafeInteger(number))) - throw usageError(`--${name} requires a nonnegative ${name === "max-fps" ? "number" : "whole number"}.`); - if (!["timeout", "frame-ms"].includes(name) && number === 0) - throw usageError(`--${name} must be greater than zero.`); + for (const spellings of [["--help", "-h"], ["--version", "-V"]]) { + if (tokens.filter((arg) => spellings.includes(arg)).length > 1) + throw usageError(`${spellings[0]} may be supplied only once.`); } - if (name === "if-match") - quotedRevision(value); - return value; -} -/** Commander diagnostics can contain raw option names/values. Never expose them. */ -function commandError(error, command) { - const path = commandPath(command).join(" "); - // Preserve actionable migration hints using only known command/flag names. - const has = (flag) => command.args.some((arg) => arg === `--${flag}` || arg.startsWith(`--${flag}=`)); - if (path === "screen" && command.args[0] === "revoke-credential") - throw usageError("screen revoke-credential is retired. Archive the screen instead.", { command: "screenrig --json screen archive <id> --if-match REVISION", reason: "Archive hides the screen; it does not unbind the player." }); - if (path.startsWith("comment ")) { - if (command.commands.length) - throw usageError("comment commands require screen <id> or playlist <id>."); - if (has("if-match")) - throw usageError("comment commands do not take --if-match; last write wins and does not bump revision."); - if (has("page") && command.name() === "screen") - throw usageError("comment screen commands do not take --page; use comment playlist <id> --page PAGE_ID."); - if (has("value-base64")) - throw usageError("comment set requires --json-value or --file."); - if (error.code === "commander.conflictingOption") - throw usageError("comment set requires exactly one of --json-value or --file."); - } - if (path === "media list" && has("kind")) - throw usageError("media list uses --primitive image|video, not --kind."); - switch (error.code) { - case "commander.missingArgument": - if (path === "screen set-timezone") - throw usageError("screen set-timezone requires <id> --timezone --if-match."); - throw usageError(`${path} requires ${command.registeredArguments.filter((arg) => arg.required).map((arg) => `<${arg.name()}>`).join(" ")}.`); - case "commander.excessArguments": - throw usageError(`${path || "screenrig"} does not accept ${command.registeredArguments.length ? "extra" : "positional"} arguments.`); - case "commander.conflictingOption": { - const supplied = command.options.filter((option) => command.getOptionValueSource(option.attributeName()) === "cli"); - const pair = CONFLICTS.map((group) => supplied.filter((option) => group.includes(option.long.slice(2)))).find((options) => options.length > 1); - const [first, second] = pair ?? []; - throw usageError(first && second ? `Use only one of ${first.long}, ${second.long}.` : "Conflicting options. See command help."); - } - case "commander.missingMandatoryOptionValue": { - if (path === "screen set-timezone") - throw usageError("screen set-timezone requires <id> --timezone --if-match."); - const required = command.options.filter((option) => option.mandatory && command.getOptionValue(option.attributeName()) === undefined); - const positional = command.registeredArguments.filter((arg, index) => arg.required && index >= command.args.length).map((arg) => `<${arg.name()}>`); - throw usageError(`${path} requires ${[...positional, ...required.map((option) => option.long)].join(" ")}.`); - } - case "commander.optionMissingArgument": { - const option = command.options.find((candidate) => error.message.includes(`option '${candidate.flags}'`)); - throw usageError(option ? `${option.long} requires a value.` : "An option requires a value. See command help for its arguments."); - } - default: - throw usageError("Unknown command or unsupported option. See command help for supported arguments.", { command: `screenrig${path ? ` ${path}` : ""} --help`, reason: "List supported commands, arguments, and options." }); - } -} -/** Build fresh commands per invocation: no shared parsed values or process exits. */ -export function createCommandTree(argv = []) { - let selected; + const root = new Command("screenrig") + .description("Signage and kiosk infrastructure for agents") + .version(CLI_VERSION, "-V, --version", "Show CLI and protocol versions"); + let selected = root; let helpRequested = false; let versionRequested = false; const seen = new Set(); - const configure = (command) => command - .allowExcessArguments(false) - .addHelpCommand(false) - .showSuggestionAfterError(false) - .configureOutput({ writeOut() { }, writeErr() { }, outputError() { } }) - .configureHelp({ helpWidth: 100, showGlobalOptions: true }) - .exitOverride((error) => { - selected = command; - if (error.code === "commander.helpDisplayed" || error.code === "commander.help") - helpRequested = true; - else if (error.code === "commander.version") - versionRequested = true; - else - commandError(error, command); - throw error; + registerCommands(root, (handler) => (...values) => { + selected = values[values.length - 1]; + return execute?.(handler, commandInput(selected)); }); - const root = configure(new Command("screenrig")).description("Signage and kiosk infrastructure for agents"); - selected = root; - root.version(CLI_VERSION, "-V, --version", "Show CLI and protocol versions"); - const addOption = (command, name) => { - const entry = OPTION_HELP[name]; - if (!entry) - throw new Error(`Missing option definition: ${name}`); - const [placeholder, description] = entry; - const option = new Option(`--${name}${placeholder ? ` <${placeholder}>` : ""}`, description); - if (placeholder) - option.argParser((value) => optionValue(name, value, argv)); - if (name === "token") - option.hideHelp(); - command.addOption(option); - command.on(`option:${option.name()}`, () => { - if (seen.has(name)) - throw usageError(`--${name} may be supplied only once.`); - seen.add(name); - }); - }; - for (const name of GLOBAL_FLAGS) - addOption(root, name); - for (const spec of COMMAND_SPECS) { - let command = root; - for (const word of spec.path) { - let child = command.commands.find((candidate) => candidate.name() === word); - if (!child) { - child = configure(command.createCommand(word)); - command.addCommand(child); - child.description(SUMMARIES[commandPath(child).join(" ")] ?? ACTION_SUMMARIES[word] ?? `Manage ${word} comments`); - } - command = child; - } - if (spec.arguments) - command.arguments(spec.arguments); - for (const alias of spec.aliases ?? []) - command.alias(alias[alias.length - 1]); - for (const name of spec.flags) - addOption(command, name); - for (const name of spec.requiredFlags ?? []) { - const option = command.options.find((option) => option.long === `--${name}`); - option.makeOptionMandatory(); - option.description += " (required)"; - } - for (const group of CONFLICTS) { - const options = command.options.filter((option) => group.includes(option.long.slice(2))); - for (const option of options) - option.conflicts(options.filter((other) => other !== option).map((other) => other.attributeName())); - } - command.action(() => { selected = command; }); - } - const help = configure(new Command("help")).description("Discover commands and their options").argument("[command...]", "Command path to inspect"); - root.addCommand(help); - help.action((path) => { + root.command("help [command...]") + .description("Discover commands and their options") + .action((path) => { const target = findCommand(root, path); if (!target) throw usageError("Unknown help topic."); target.help(); }); - const groups = (command) => { + const configure = (command) => { + command.allowExcessArguments(false) + .addHelpCommand(false) + .showSuggestionAfterError(false) + .configureOutput({ writeOut() { }, writeErr() { }, outputError() { } }) + .configureHelp({ helpWidth: 100, showGlobalOptions: true }) + .exitOverride((error) => { + selected = command; + if (error.code === "commander.helpDisplayed" || error.code === "commander.help") + helpRequested = true; + else if (error.code === "commander.version") + versionRequested = true; + else + commandError(error, command); + throw error; + }); + for (const option of command.options) { + // Commander handles the built-in version option before emitting option events. + if (option.long !== "--version") + protectOption(command, option, tokens, seen); + } if (command.commands.length) command.action(() => command.help()); - command.commands.forEach(groups); + command.commands.forEach(configure); }; - groups(root); + configure(root); return { root, selected: () => selected, helpRequested: () => helpRequested, versionRequested: () => versionRequested }; } //# sourceMappingURL=command-tree.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/command-tree.js.map b/plugins/screenrig/cli/dist/command-tree.js.map index ad668caa..e4606bb0 100644 --- a/plugins/screenrig/cli/dist/command-tree.js.map +++ b/plugins/screenrig/cli/dist/command-tree.js.map @@ -1 +1 @@ -{"version":3,"file":"command-tree.js","sourceRoot":"","sources":["../src/command-tree.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"command-tree.js","sourceRoot":"","sources":["../src/command-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAG5C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAS9E,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,MAAM,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;AAC5F,CAAC;AAED,sFAAsF;AACtF,SAAS,aAAa,CAAC,OAAgB,EAAE,MAAc,EAAE,IAAuB,EAAE,IAAiB;IACjG,MAAM,IAAI,GAAG,MAAM,CAAC,IAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC/B,MAAM,CAAC,SAAS,CAAC,CAAC,KAAa,EAAE,QAAiB,EAAE,EAAE;YACpD,+EAA+E;YAC/E,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,KAAK,cAAc,CAAC;gBAC1C,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC3F,MAAM,UAAU,CAAC,KAAK,IAAI,4BAA4B,IAAI,0CAA0C,CAAC,CAAC;YACxG,CAAC;YACD,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE;QACzC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,UAAU,CAAC,KAAK,IAAI,6BAA6B,CAAC,CAAC;QAC7E,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,iBAAiB,CAC/B,OAA0B,EAAE,EAC5B,OAAsE;IAEtE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5D,MAAM,UAAU,CAAC,4CAA4C,CAAC,CAAC;IACjE,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QAChE,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,UAAU,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;IACjI,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC;SAClC,WAAW,CAAC,6CAA6C,CAAC;SAC1D,OAAO,CAAC,WAAW,EAAE,eAAe,EAAE,gCAAgC,CAAC,CAAC;IAC3E,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,gBAAgB,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,MAAiB,EAAE,EAAE;QAC3D,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAY,CAAC;QAChD,OAAO,OAAO,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;SAC9B,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,CAAC,IAAc,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM;YAAE,MAAM,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEL,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAQ,EAAE;QAC3C,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC;aAChC,cAAc,CAAC,KAAK,CAAC;aACrB,wBAAwB,CAAC,KAAK,CAAC;aAC/B,eAAe,CAAC,EAAE,QAAQ,KAAI,CAAC,EAAE,QAAQ,KAAI,CAAC,EAAE,WAAW,KAAI,CAAC,EAAE,CAAC;aACnE,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;aAC1D,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE;YACtB,QAAQ,GAAG,OAAO,CAAC;YACnB,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;gBAAE,aAAa,GAAG,IAAI,CAAC;iBACjG,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB;gBAAE,gBAAgB,GAAG,IAAI,CAAC;;gBAChE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAClC,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACL,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,+EAA+E;YAC/E,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;gBAAE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC,CAAC;IACF,SAAS,CAAC,IAAI,CAAC,CAAC;IAChB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC;AAC1H,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/commands.d.ts b/plugins/screenrig/cli/dist/commands.d.ts index a40d755b..28a08174 100644 --- a/plugins/screenrig/cli/dist/commands.d.ts +++ b/plugins/screenrig/cli/dist/commands.d.ts @@ -1,18 +1,53 @@ import { type AccountEvent, type FeedbackContext, type Operation } from "./adapters/protocol.js"; -import { type ParsedArgs } from "./argv.js"; +import { type ParsedArgs } from "./command-input.js"; import { successEnvelope } from "./envelope.js"; import { ExitCode } from "./exit-codes.js"; import type { CliRuntime } from "./runtime.js"; import { type TranscodeOptions } from "./media/transcode.js"; import { CLI_VERSION } from "./version.js"; export { CLI_VERSION }; -export { ROOT_HELP as USAGE } from "./help.js"; export interface CommandResult { envelope: ReturnType<typeof successEnvelope<unknown>>; exitCode: ExitCode; human: string; + /** Help defaults to text; streams have already emitted their output. */ + output?: "help" | "stream"; } -export declare function dispatch(args: ParsedArgs, runtime: CliRuntime): Promise<CommandResult>; +export type CommandHandler = (args: ParsedArgs, runtime: CliRuntime) => Promise<CommandResult>; +export declare const handleVersion: CommandHandler; +export declare const handleComposeCatalog: CommandHandler; +export declare const handlePlaylistValidate: CommandHandler; +export declare const handlePlaylistPreview: CommandHandler; +export declare const handleComposeBatch: CommandHandler; +export declare const handleComposeRender: CommandHandler; +export declare const handlePlaylistTemplates: CommandHandler; +export declare const handleDoctor: CommandHandler; +export declare const handleAppPack: CommandHandler; +export declare const handleAgentStatus: CommandHandler; +export declare const handleAgentConnect: CommandHandler; +export declare const handleAgentEnroll: CommandHandler; +export declare const handleAgentDisconnect: CommandHandler; +export declare const handleAccountShow: CommandHandler; +export declare const handleDashboard: CommandHandler; +export declare const handleAppUpload: CommandHandler; +export declare const handleAppUpdate: CommandHandler; +export declare const handleAppList: CommandHandler; +export declare const handleAppShow: CommandHandler; +export declare const handleBrowserSetup: CommandHandler; +export declare const handleOperationsGet: CommandHandler; +export declare const handleOperationsWait: CommandHandler; +export declare const handleOperationsCancel: CommandHandler; +export declare const handleEventsList: CommandHandler; +export declare const handleEventsFollow: CommandHandler; +export declare const handlePlaybackList: CommandHandler; +export declare const handleMediaList: CommandHandler; +export declare const handleMediaShow: CommandHandler; +export declare const handleMediaUpdate: CommandHandler; +export declare const handleMediaDownload: CommandHandler; +export declare const handleMediaDelete: CommandHandler; +export declare const handleMediaGenerate: CommandHandler; +export declare const handleMediaUpload: CommandHandler; +export declare const handleMediaUploadBatch: CommandHandler; /** Flags that shape the pre-upload transcode. */ export declare function transcodeOptionsFromArgs(args: ParsedArgs): TranscodeOptions; /** @@ -21,6 +56,39 @@ export declare function transcodeOptionsFromArgs(args: ParsedArgs): TranscodeOpt * server through the diagnostic envelope. */ export declare function feedbackContextFromArgs(args: ParsedArgs, platform: string): FeedbackContext | undefined; +export declare const handleFeedbackList: CommandHandler; +export declare const handleFeedbackBug: CommandHandler; +export declare const handleFeedbackFeature: CommandHandler; +export declare const handlePlaylistList: CommandHandler; +export declare const handlePlaylistShow: CommandHandler; +export declare const handlePlaylistExport: CommandHandler; +export declare const handlePlaylistImport: CommandHandler; +export declare const handlePlaylistCreate: CommandHandler; +export declare const handlePlaylistUpdate: CommandHandler; +export declare const handlePlaylistDelete: CommandHandler; +export declare const handleScreenList: CommandHandler; +export declare const handleScreenProvision: CommandHandler; +export declare const handleScreenPair: CommandHandler; +export declare const handleScreenShow: CommandHandler; +export declare const handleScreenUpdate: CommandHandler; +export declare const handleScreenAssign: CommandHandler; +export declare const handleScreenSetTimezone: CommandHandler; +export declare const handleScreenArchive: CommandHandler; +export declare const handleScreenUnarchive: CommandHandler; +export declare const handleScreenDelete: CommandHandler; +export declare const handleScreenRotatePublicId: CommandHandler; +export declare const handleScreenToast: CommandHandler; +export declare const handleScreenScreenshot: CommandHandler; +export declare const handleKvList: CommandHandler; +export declare const handleKvGet: CommandHandler; +export declare const handleKvSet: CommandHandler; +export declare const handleKvDelete: CommandHandler; +export declare const handleCommentShowScreen: CommandHandler; +export declare const handleCommentShowPlaylist: CommandHandler; +export declare const handleCommentSetScreen: CommandHandler; +export declare const handleCommentSetPlaylist: CommandHandler; +export declare const handleCommentDeleteScreen: CommandHandler; +export declare const handleCommentDeletePlaylist: CommandHandler; /** One logfmt line per event. Undefined when there is nothing to print. */ export declare function formatEventLine(event: AccountEvent): string | undefined; /** First reconnect wait after a disconnect. Tests inject `runtime.sleep`. */ diff --git a/plugins/screenrig/cli/dist/commands.d.ts.map b/plugins/screenrig/cli/dist/commands.d.ts.map index 6b7d22ad..f364e308 100644 --- a/plugins/screenrig/cli/dist/commands.d.ts.map +++ b/plugins/screenrig/cli/dist/commands.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,YAAY,EAWjB,KAAK,eAAe,EAWpB,KAAK,SAAS,EAgBf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAoC,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAoB9E,OAAO,EAAE,eAAe,EAAkC,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAgD/C,OAAO,EAML,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAa9B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,OAAO,EAAE,SAAS,IAAI,KAAK,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAoND,wBAAsB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAqO5F;AA6jDD,iDAAiD;AACjD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,gBAAgB,CA0C3E;AAkLD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,MAAM,GACf,eAAe,GAAG,SAAS,CA4B7B;AA2jCD,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAoCvE;AAqCD,6EAA6E;AAC7E,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAwZlD,YAAY,EAAE,SAAS,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/commands.js b/plugins/screenrig/cli/dist/commands.js index af05d2a0..9be27f47 100644 --- a/plugins/screenrig/cli/dist/commands.js +++ b/plugins/screenrig/cli/dist/commands.js @@ -3,7 +3,7 @@ import { open, readFile, rename, rm, stat, writeFile } from "node:fs/promises"; import path from "node:path"; import { limitsFromCapabilities, TEMPORARY_PROTOCOL_VERSION, } from "./adapters/protocol.js"; import { SDK_PROTOCOL_VERSION } from "./adapters/sdk-injection.js"; -import { flagBool, flagNumber, flagString } from "./argv.js"; +import { flagBool, flagNumber, flagString } from "./command-input.js"; import { ApiClient, requireToken } from "./client.js"; import { preserveLogSocket, resolveConfig, describeTokenPresence, hasToken, readConfigFile, withConfigLock, writeConfigAtomic, } from "./config.js"; import { attachOperationLogger, loggerOf, loggingTransport } from "./log/index.js"; @@ -42,7 +42,6 @@ import { exportPlaylistBundle, importPlaylistBundle } from "./playlist-bundle.js import { agentPlatform, decryptAgentCredential, generateAgentConnectionKey, publicAgentConnectionKey, validateAgent, validateAgentSelfStatus, validateAgentConnectionEvent, validateAgentConnectionStart, } from "./agent-identity.js"; import { CLI_VERSION } from "./version.js"; export { CLI_VERSION }; -export { ROOT_HELP as USAGE } from "./help.js"; function nonemptyEnv(value) { return typeof value === "string" && value.length > 0 ? value : undefined; } @@ -71,7 +70,7 @@ function rethrowCompose(err) { } if (err instanceof Error && err.code === "usage_error") { throw usageError(err.message, { - command: "screenrig --json compose catalog", + command: "screenrig compose catalog", reason: "Inspect the fail-closed compose catalog, then compose render a spec.", }); } @@ -81,13 +80,10 @@ async function composeRender(args, runtime) { const file = args.positionals[2]; if (!file) { throw usageError("compose render requires a spec file.", { - command: "screenrig --json compose catalog", + command: "screenrig compose catalog", reason: "Inspect the fail-closed compose catalog, then compose render a spec.", }); } - if (args.positionals.length > 3) { - throw usageError("compose render accepts one spec file."); - } if (file.includes("\0")) { throw usageError("compose render spec path must not contain a NUL byte."); } @@ -237,241 +233,168 @@ function humanLines(title, fields) { } return lines.join("\n"); } -export async function dispatch(args, runtime) { - const group = args.positionals[0]; - const action = args.positionals[1]; - if ((flagBool(args.flags, "version") || group === "version") && !flagBool(args.flags, "help") && group !== "help") { - return { - envelope: successEnvelope({ version: CLI_VERSION, protocol_adapter: TEMPORARY_PROTOCOL_VERSION }), - exitCode: ExitCode.Success, - human: `screenrig ${CLI_VERSION}`, - }; - } - if (args.help) { - const help = args.help; - return { - envelope: successEnvelope(help), - exitCode: ExitCode.Success, - human: help.usage, - }; - } - if (!group) - throw usageError("A command is required."); - const repair = flagBool(args.flags, "repair-config"); - let resolved = await resolveConfig({ flags: args.flags, fs: { ...runtime.fs, env: runtime.env, homedir: runtime.homedir }, repair }); - await attachOperationLogger(runtime, args, resolved); - if (group === "compose" && action === "catalog") { - if (args.positionals.length > 2) { - throw usageError("compose catalog does not accept positional arguments."); - } - return loggerOf(runtime).withLocal({ op: "compose.catalog", message: "compose catalog" }, async () => { - const catalog = composeCatalog(); - return { - envelope: successEnvelope(catalog), - exitCode: ExitCode.Success, - human: formatComposeCatalog(catalog), - }; - }); - } - if (group === "playlist" && action === "validate") { - const file = args.positionals[2]; - if (!file || args.positionals.length !== 3) - throw usageError("playlist validate requires one JSON file."); - let parsed; - try { - parsed = JSON.parse(await readFile(path.resolve(runtime.cwd(), file), "utf8")); - } - catch { - throw usageError("Cannot read playlist JSON."); - } - const body = parsed && typeof parsed === "object" && Array.isArray(parsed.pages) ? { ...parsed, pages: expandPlaylistPages(parsed.pages) } : parsed; - assertPlaylistValid(body); - const lint = playlistLint(body); - return { - envelope: successEnvelope({ valid: true, scope: "local_schema_and_semantics", server_checks: PLAYLIST_SERVER_CHECKS, lint }), - exitCode: ExitCode.Success, - human: [ - "Playlist passed local canonical validation. Reference authorization and runtime readiness require server checks.", - ...lint.map((item) => `lint: ${item.page_id} ${item.code} ${item.id}`), - LOOK_AT_THE_CONTACT_SHEET, - ].join("\n"), - }; - } - if (group === "playlist" && action === "preview") { - return playlistPreviewCommand(args, runtime, resolved); - } - if (group === "compose" && action === "batch") { - const file = args.positionals[2]; - requireFlagValue(args, "output", "./rendered"); - const output = flagString(args.flags, "output"); - if (!file || !output || args.positionals.length !== 3) - throw usageError("compose batch requires one JSON file and --output DIRECTORY."); - try { - rejectImageLikeOutput(path.resolve(runtime.cwd(), output), "compose batch"); - } - catch (error) { - rethrowCompose(error); - } - requireFlagValue(args, "target-width", "3840"); - requireFlagValue(args, "target-height", "2160"); - requireFlagValue(args, "only", "page-id"); - const tw = flagString(args.flags, "target-width"), th = flagString(args.flags, "target-height"); - if ((tw === undefined) !== (th === undefined)) - throw usageError("Provide both target dimensions."); - const target = tw !== undefined && th !== undefined ? { width: Number(tw), height: Number(th) } : undefined; - let result; - try { - result = await composeBatch(path.resolve(runtime.cwd(), file), path.resolve(runtime.cwd(), output), { - target, - safeArea: flagBool(args.flags, "safe-area"), - only: flagString(args.flags, "only"), - lintOnly: flagBool(args.flags, "lint-only"), +/** Prepare configuration, logging and credential guidance once for a bound leaf. */ +function commandHandler(handler, authenticated = true) { + return async (args, runtime) => { + const repair = flagBool(args.flags, "repair-config"); + const resolved = await resolveConfig({ flags: args.flags, fs: { ...runtime.fs, env: runtime.env, homedir: runtime.homedir }, repair }); + await attachOperationLogger(runtime, args, resolved); + if (authenticated && !resolved.token) { + if (resolved.agentConnection) { + throw notEnrolledError("This installation has a pending agent connection and no active credential.", { + command: "screenrig agent connect", + reason: "Resume the passkey-approved connection before running account commands.", + }); + } + if (resolved.lastAgent) { + throw notEnrolledError("This installation is disconnected and cannot run account commands.", { + command: "screenrig agent connect", + reason: "Connect a new independently revocable agent through dashboard passkey approval.", + }); + } + throw notEnrolledError("This installation is not enrolled. Enrollment is an explicit step and is never a side effect of another command.", { + command: resolved.enrollment?.email + ? "screenrig agent enroll" + : "screenrig agent enroll --email ADDRESS", + reason: resolved.enrollment?.email + ? "Resume the exact pending enrollment before running pairing or another account command." + : "Create the first agent with unverified contact metadata, then retry the original command.", }); } - catch (error) { - rethrowCompose(error); - } - const warnings = result.pages.flatMap((page) => (page.warnings ?? []).map((warning) => ({ ...warning, message: `${page.id}: ${warning.message}` }))); - if (result.failed) - throw new CliError(makeProblem("usage_error", "Some pages could not render", 400, `${result.failed} page(s) failed. Successful outputs are retained. See ${result.manifest} and ${result.preview}.`, { errors: result.pages.filter((page) => page.status === "failed").map((page) => ({ page_id: page.id, ...page.error })) }), ExitCode.Usage, warnings); - return { - envelope: successEnvelope(result, { warnings }), - exitCode: ExitCode.Success, - human: [ - `Rendered ${result.rendered} page(s). Preview: ${result.preview}. Details: ${result.manifest}.`, - ...result.lint.map((item) => `lint: ${item.page_id} ${item.code} ${item.id}`), - LOOK_AT_THE_CONTACT_SHEET, - ].join("\n"), - }; - } - if (group === "compose" && action === "render") { - return composeRender(args, runtime); - } - if (group === "playlist" && action === "templates") { - if (args.positionals.length > 2) { - throw usageError("playlist templates does not accept positional arguments."); - } - const catalog = playlistTemplateCatalog(); + return handler(args, runtime, resolved); + }; +} +export const handleVersion = async () => { + return { + envelope: successEnvelope({ version: CLI_VERSION, protocol_adapter: TEMPORARY_PROTOCOL_VERSION }), + exitCode: ExitCode.Success, + human: `screenrig ${CLI_VERSION}`, + }; +}; +export const handleComposeCatalog = commandHandler(async (args, runtime, resolved) => { + return loggerOf(runtime).withLocal({ op: "compose.catalog", message: "compose catalog" }, async () => { + const catalog = composeCatalog(); return { envelope: successEnvelope(catalog), exitCode: ExitCode.Success, - human: formatTemplateCatalog(catalog), + human: formatComposeCatalog(catalog), }; + }); +}, false); +export const handlePlaylistValidate = commandHandler(async (args, runtime, resolved) => { + const file = args.positionals[2]; + if (!file) + throw usageError("playlist validate requires one JSON file."); + let parsed; + try { + parsed = JSON.parse(await readFile(path.resolve(runtime.cwd(), file), "utf8")); } - if (group === "compose") { - throw usageError("Unknown compose command. Use compose catalog or compose render.", { - command: "screenrig --json compose catalog", - reason: "List the fail-closed compose catalog.", - }); - } - if (group === "doctor") { - return doctor(args, runtime, resolved); - } - if (group === "app" && action === "pack") { - return appPack(args, runtime); - } - if (group === "agent" && action === "status") { - return agentStatus(args, runtime, resolved); - } - if (group === "agent" && action === "connect") { - return loggerOf(runtime).withLocal({ op: "agent.connect", message: "agent connect" }, () => agentConnect(args, runtime, resolved)); + catch { + throw usageError("Cannot read playlist JSON."); } - if (group === "agent" && action === "enroll") { - return loggerOf(runtime).withLocal({ op: "agent.enroll", message: "agent enroll" }, () => agentEnroll(args, runtime, resolved)); + const body = parsed && typeof parsed === "object" && Array.isArray(parsed.pages) ? { ...parsed, pages: expandPlaylistPages(parsed.pages) } : parsed; + assertPlaylistValid(body); + const lint = playlistLint(body); + return { + envelope: successEnvelope({ valid: true, scope: "local_schema_and_semantics", server_checks: PLAYLIST_SERVER_CHECKS, lint }), + exitCode: ExitCode.Success, + human: [ + "Playlist passed local canonical validation. Reference authorization and runtime readiness require server checks.", + ...lint.map((item) => `lint: ${item.page_id} ${item.code} ${item.id}`), + LOOK_AT_THE_CONTACT_SHEET, + ].join("\n"), + }; +}, false); +export const handlePlaylistPreview = commandHandler(playlistPreviewCommand, false); +export const handleComposeBatch = commandHandler(async (args, runtime, resolved) => { + const file = args.positionals[2]; + requireFlagValue(args, "output", "./rendered"); + const output = flagString(args.flags, "output"); + if (!file || !output) + throw usageError("compose batch requires one JSON file and --output DIRECTORY."); + try { + rejectImageLikeOutput(path.resolve(runtime.cwd(), output), "compose batch"); } - if (group === "agent" && action === "disconnect") { - return agentDisconnect(args, runtime, resolved); + catch (error) { + rethrowCompose(error); } - if (isAuthenticatedCommand(group, action) && !resolved.token) { - if (resolved.agentConnection) { - throw notEnrolledError("This installation has a pending agent connection and no active credential.", { - command: "screenrig agent connect", - reason: "Resume the passkey-approved connection before running account commands.", - }); - } - if (resolved.lastAgent) { - throw notEnrolledError("This installation is disconnected and cannot run account commands.", { - command: "screenrig agent connect", - reason: "Connect a new independently revocable agent through dashboard passkey approval.", - }); - } - throw notEnrolledError("This installation is not enrolled. Enrollment is an explicit step and is never a side effect of another command.", { - command: resolved.enrollment?.email - ? "screenrig agent enroll" - : "screenrig agent enroll --email ADDRESS", - reason: resolved.enrollment?.email - ? "Resume the exact pending enrollment before running pairing or another account command." - : "Create the first agent with unverified contact metadata, then retry the original command.", + requireFlagValue(args, "target-width", "3840"); + requireFlagValue(args, "target-height", "2160"); + requireFlagValue(args, "only", "page-id"); + const tw = flagString(args.flags, "target-width"), th = flagString(args.flags, "target-height"); + if ((tw === undefined) !== (th === undefined)) + throw usageError("Provide both target dimensions."); + const target = tw !== undefined && th !== undefined ? { width: Number(tw), height: Number(th) } : undefined; + let result; + try { + result = await composeBatch(path.resolve(runtime.cwd(), file), path.resolve(runtime.cwd(), output), { + target, + safeArea: flagBool(args.flags, "safe-area"), + only: flagString(args.flags, "only"), + lintOnly: flagBool(args.flags, "lint-only"), }); } - if (group === "account" && action === "show") { - return accountShow(args, runtime, resolved); - } - if (group === "dashboard") { - return dashboardCommand(args, runtime, resolved); - } - if (group === "app" && (action === "upload" || action === "update")) { - return loggerOf(runtime).withLocal({ op: `app.${action}`, message: `app ${action}` }, () => appUpload(args, runtime, resolved)); - } - if (group === "app" && action === "list") { - return simpleGet(args, runtime, resolved, "/api/v1/applications", "Applications"); - } - if (group === "app" && action === "show") { - const id = args.positionals[2]; - if (!id) - throw usageError("app show requires an application id."); - return simpleGet(args, runtime, resolved, `/api/v1/applications/${id}`, "Application"); - } - if (group === "media") { - return mediaCommand(args, runtime, resolved, action); - } - if (group === "playlist") { - return playlistCommand(args, runtime, resolved, action); - } - if (group === "screen") { - return screenCommand(args, runtime, resolved, action); - } - if (group === "browser" && action === "setup") { - return browserSetupCommand(args, runtime, resolved); - } - if (group === "kv") { - return kvCommand(args, runtime, resolved, action); - } - if (group === "comment") { - return commentCommand(args, runtime, resolved, action); - } - if (group === "operations" && action === "get") { - return operationsGet(args, runtime, resolved); - } - if (group === "operations" && action === "wait") { - return operationsWait(args, runtime, resolved); - } - if (group === "operations" && action === "cancel") { - return operationsCancel(args, runtime, resolved); - } - if (group === "events" && action === "list") { - return eventsList(args, runtime, resolved); - } - if (group === "events" && action === "follow") { - return loggerOf(runtime).withLocal({ op: "events.follow", message: "events follow" }, () => eventsFollow(args, runtime, resolved)); - } - if (group === "playback" && action === "list") { - return playbackList(args, runtime, resolved); - } - if (group === "feedback") { - return feedbackCommand(args, runtime, resolved, action); - } - if (group === "agent") { - throw usageError("Unknown agent command. Use agent enroll, connect, status, or disconnect.", { - command: "screenrig --help", - reason: "List implemented agent identity commands.", - }); + catch (error) { + rethrowCompose(error); } - throw usageError(`Unknown command: ${args.positionals.join(" ")}`, { - command: "screenrig --help", - reason: "List implemented commands.", - }); -} + const warnings = result.pages.flatMap((page) => (page.warnings ?? []).map((warning) => ({ ...warning, message: `${page.id}: ${warning.message}` }))); + if (result.failed) + throw new CliError(makeProblem("usage_error", "Some pages could not render", 400, `${result.failed} page(s) failed. Successful outputs are retained. See ${result.manifest} and ${result.preview}.`, { errors: result.pages.filter((page) => page.status === "failed").map((page) => ({ page_id: page.id, ...page.error })) }), ExitCode.Usage, warnings); + return { + envelope: successEnvelope(result, { warnings }), + exitCode: ExitCode.Success, + human: [ + `Rendered ${result.rendered} page(s). Preview: ${result.preview}. Details: ${result.manifest}.`, + ...result.lint.map((item) => `lint: ${item.page_id} ${item.code} ${item.id}`), + LOOK_AT_THE_CONTACT_SHEET, + ].join("\n"), + }; +}, false); +export const handleComposeRender = commandHandler(composeRender, false); +export const handlePlaylistTemplates = commandHandler(async (args, runtime, resolved) => { + const catalog = playlistTemplateCatalog(); + return { + envelope: successEnvelope(catalog), + exitCode: ExitCode.Success, + human: formatTemplateCatalog(catalog), + }; +}, false); +export const handleDoctor = commandHandler(doctor, false); +export const handleAppPack = commandHandler(appPack, false); +export const handleAgentStatus = commandHandler(agentStatus, false); +export const handleAgentConnect = commandHandler(async (args, runtime, resolved) => { + return loggerOf(runtime).withLocal({ op: "agent.connect", message: "agent connect" }, () => agentConnect(args, runtime, resolved)); +}, false); +export const handleAgentEnroll = commandHandler(async (args, runtime, resolved) => { + return loggerOf(runtime).withLocal({ op: "agent.enroll", message: "agent enroll" }, () => agentEnroll(args, runtime, resolved)); +}, false); +export const handleAgentDisconnect = commandHandler(agentDisconnect, false); +export const handleAccountShow = commandHandler(accountShow); +export const handleDashboard = commandHandler(dashboardCommand); +export const handleAppUpload = commandHandler(async (args, runtime, resolved) => { + return loggerOf(runtime).withLocal({ op: "app.upload", message: "app upload" }, () => appUpload(args, runtime, resolved, false)); +}, true); +export const handleAppUpdate = commandHandler(async (args, runtime, resolved) => { + return loggerOf(runtime).withLocal({ op: "app.update", message: "app update" }, () => appUpload(args, runtime, resolved, true)); +}, true); +export const handleAppList = commandHandler(async (args, runtime, resolved) => { + return simpleGet(args, runtime, resolved, "/api/v1/applications", "Applications"); +}, true); +export const handleAppShow = commandHandler(async (args, runtime, resolved) => { + const id = args.positionals[2]; + if (!id) + throw usageError("app show requires an application id."); + return simpleGet(args, runtime, resolved, `/api/v1/applications/${id}`, "Application"); +}, true); +export const handleBrowserSetup = commandHandler(browserSetupCommand); +export const handleOperationsGet = commandHandler(operationsGet); +export const handleOperationsWait = commandHandler(operationsWait); +export const handleOperationsCancel = commandHandler(operationsCancel); +export const handleEventsList = commandHandler(eventsList); +export const handleEventsFollow = commandHandler(async (args, runtime, resolved) => { + return loggerOf(runtime).withLocal({ op: "events.follow", message: "events follow" }, () => eventsFollow(args, runtime, resolved)); +}, true); +export const handlePlaybackList = commandHandler(playbackList); function safeAgentSummary(agent) { return { id: agent.id, @@ -488,9 +411,6 @@ function safeAgentSummary(agent) { }; } async function agentStatus(args, runtime, resolved) { - if (args.positionals.length > 2) { - throw usageError("agent status does not accept positional arguments."); - } if (resolved.agentConnection) { const connection = resolved.agentConnection; const data = { @@ -568,8 +488,6 @@ async function openDashboardForEnrolledAgent(args, runtime, resolved) { return runtime.openUrl?.(link.url) ?? false; } async function agentEnroll(args, runtime, resolved) { - if (args.positionals.length !== 2) - throw usageError("agent enroll does not accept positional arguments."); requireFlagValue(args, "name", "Office MacBook Codex"); const name = flagString(args.flags, "name"); if (name && name.length > 80) @@ -612,7 +530,7 @@ async function agentEnroll(args, runtime, resolved) { }; } function emitAgentApprovalUrl(args, runtime, approvalUrl) { - if (flagBool(args.flags, "json")) { + if (!flagBool(args.flags, "human")) { runtime.stderr.write(`${JSON.stringify({ type: "agent_connection_approval", approval_url: approvalUrl })}\n`); return; } @@ -833,8 +751,6 @@ async function activateCollectedAgent(args, runtime, resolved, connection, pendi return { agent: verified, requestId: client.requestId }; } async function agentConnect(args, runtime, resolved) { - if (args.positionals.length !== 2) - throw usageError("agent connect does not accept positional arguments."); requireFlagValue(args, "name", "Office MacBook Codex"); requireFlagValue(args, "timeout", "86400000"); const name = flagString(args.flags, "name"); @@ -985,8 +901,6 @@ async function agentConnect(args, runtime, resolved) { } async function agentDisconnect(args, runtime, resolved) { const invokedName = "agent disconnect"; - if (args.positionals.length !== 2) - throw usageError(`${invokedName} does not accept positional arguments.`); if (!flagBool(args.flags, "yes")) { throw usageError(`${invokedName} requires --yes. It revokes only this agent and preserves the account, screens, content, and other agents.`, { command: "screenrig agent disconnect --yes", @@ -1082,24 +996,6 @@ async function agentDisconnect(args, runtime, resolved) { ]), }; } -function isAuthenticatedCommand(group, action) { - const actions = { - account: new Set(["show"]), - dashboard: new Set([undefined]), - app: new Set(["upload", "list", "show"]), - media: new Set(["upload", "show", "download", "list", "delete", "update"]), - playlist: new Set(["create", "update", "export", "import", "show", "get", "list", "delete"]), - screen: new Set(["pair", "provision", "update", "list", "show", "assign", "set-timezone", "archive", "unarchive", "delete", "rotate-public-id", "toast", "screenshot"]), - browser: new Set(["setup"]), - kv: new Set(["get", "set", "delete", "list"]), - comment: new Set(["show", "set", "delete"]), - operations: new Set(["get", "wait", "cancel"]), - events: new Set(["list", "follow"]), - playback: new Set(["list"]), - feedback: new Set(["bug", "feature", "list"]), - }; - return actions[group]?.has(action) ?? false; -} async function browserSetupCommand(args, runtime, resolved) { const rawCode = flagString(args.flags, "code"); if (!rawCode) @@ -1173,12 +1069,6 @@ async function browserSetupCommand(args, runtime, resolved) { * persisted in the config, and never repeated in a later command. */ async function dashboardCommand(args, runtime, resolved) { - if (args.positionals.length > 1) { - throw usageError("dashboard does not accept positional arguments.", { - command: "screenrig dashboard", - reason: "Mint one single-use dashboard link for the enrolled account and open it.", - }); - } const printMode = flagBool(args.flags, "print-url"); const token = requireToken(resolved.token); const client = clientFor(runtime, args, resolved.apiUrl, token); @@ -1289,7 +1179,7 @@ async function enrollForCommand(args, runtime, resolved, options = {}) { throw new CliError({ ...err.problem, next: err.problem.next ?? { - command: "screenrig --json --beta-key KEY agent enroll --email ADDRESS", + command: "screenrig --beta-key KEY agent enroll --email ADDRESS", reason: "The control plane gates enrollment. Retry the same email with the enrollment beta key.", }, }, err.exitCode, err.warnings); @@ -1391,13 +1281,12 @@ async function appPack(args, runtime) { ]), }; } -async function appUpload(args, runtime, resolved) { - const update = args.positionals[1] === "update"; +async function appUpload(args, runtime, resolved, update) { const id = update ? args.positionals[2] : undefined; const dir = args.positionals[update ? 3 : 2]; requireFlagValue(args, "if-match", "1"); const revision = flagString(args.flags, "if-match"); - if (!dir || args.positionals.length !== (update ? 4 : 3) || (update && (!id || !revision))) { + if (!dir || (update && (!id || !revision))) { throw usageError(update ? "app update requires <id> <directory> --if-match REVISION." : "app upload requires one directory."); } if (update && args.flags.name !== undefined) @@ -1507,54 +1396,61 @@ function screenListStateFromArgs(args) { } return state; } -async function mediaCommand(args, runtime, resolved, action) { - if (action === "list") { - if (Object.hasOwn(args.flags, "kind")) { - throw usageError("media list uses --primitive image|video, not --kind."); - } - return simpleGet(args, runtime, resolved, "/api/v1/media", "Media", { - tag: mediaTagFromArgs(args), - primitive: mediaPrimitiveFromArgs(args), - }); +export const handleMediaList = commandHandler(async (args, runtime, resolved) => { + if (Object.hasOwn(args.flags, "kind")) { + throw usageError("media list uses --primitive image|video, not --kind."); } + return simpleGet(args, runtime, resolved, "/api/v1/media", "Media", { + tag: mediaTagFromArgs(args), + primitive: mediaPrimitiveFromArgs(args), + }); +}, true); +export const handleMediaShow = commandHandler(async (args, runtime, resolved) => { + const id = args.positionals[2]; + if (!id) + throw usageError("media show requires an id."); + return simpleGet(args, runtime, resolved, `/api/v1/media/${id}`, "Media"); +}, true); +export const handleMediaUpdate = commandHandler(async (args, runtime, resolved) => { const token = requireToken(resolved.token); const client = clientFor(runtime, args, resolved.apiUrl, token); - if (action === "show") { - const id = args.positionals[2]; - if (!id) - throw usageError("media show requires an id."); - return simpleGet(args, runtime, resolved, `/api/v1/media/${id}`, "Media"); - } - if (action === "update") { - return mediaUpdate(args, client); - } - if (action === "download") { - return loggerOf(runtime).withLocal({ op: "media.download", message: "media download" }, () => mediaDownload(args, runtime, client)); - } - if (action === "delete") { - const id = args.positionals[2]; - const revision = flagString(args.flags, "if-match"); - if (!id || !revision) - throw usageError("media delete requires <id> and --if-match."); - const response = await client.call({ - method: "DELETE", - path: `/api/v1/media/${id}`, - idempotent: true, - headers: { "if-match": quotedRevision(revision) }, - }); - return { envelope: jsonBody(response, client.requestId), exitCode: ExitCode.Success, human: `Deleted media ${id}` }; - } - if (action === "generate") { - return loggerOf(runtime).withLocal({ op: "media.generate", message: "media generate" }, () => mediaGenerate(args, runtime, client, resolved)); - } - if (action === "upload") { - return loggerOf(runtime).withLocal({ op: "media.upload", message: "media upload" }, () => mediaUpload(args, runtime, client)); - } - if (action === "upload-batch") { - return mediaUploadBatch(args, runtime, client, resolved); - } - throw usageError("Unknown media command."); -} + return mediaUpdate(args, client); +}, true); +export const handleMediaDownload = commandHandler(async (args, runtime, resolved) => { + const token = requireToken(resolved.token); + const client = clientFor(runtime, args, resolved.apiUrl, token); + return loggerOf(runtime).withLocal({ op: "media.download", message: "media download" }, () => mediaDownload(args, runtime, client)); +}, true); +export const handleMediaDelete = commandHandler(async (args, runtime, resolved) => { + const token = requireToken(resolved.token); + const client = clientFor(runtime, args, resolved.apiUrl, token); + const id = args.positionals[2]; + const revision = flagString(args.flags, "if-match"); + if (!id || !revision) + throw usageError("media delete requires <id> and --if-match."); + const response = await client.call({ + method: "DELETE", + path: `/api/v1/media/${id}`, + idempotent: true, + headers: { "if-match": quotedRevision(revision) }, + }); + return { envelope: jsonBody(response, client.requestId), exitCode: ExitCode.Success, human: `Deleted media ${id}` }; +}, true); +export const handleMediaGenerate = commandHandler(async (args, runtime, resolved) => { + const token = requireToken(resolved.token); + const client = clientFor(runtime, args, resolved.apiUrl, token); + return loggerOf(runtime).withLocal({ op: "media.generate", message: "media generate" }, () => mediaGenerate(args, runtime, client, resolved)); +}, true); +export const handleMediaUpload = commandHandler(async (args, runtime, resolved) => { + const token = requireToken(resolved.token); + const client = clientFor(runtime, args, resolved.apiUrl, token); + return loggerOf(runtime).withLocal({ op: "media.upload", message: "media upload" }, () => mediaUpload(args, runtime, client)); +}, true); +export const handleMediaUploadBatch = commandHandler(async (args, runtime, resolved) => { + const token = requireToken(resolved.token); + const client = clientFor(runtime, args, resolved.apiUrl, token); + return mediaUploadBatch(args, runtime, client, resolved); +}, true); const GENERATE_ASPECT_RATIOS = ["1:1", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3"]; const GENERATE_QUALITIES = ["low", "medium", "high"]; const GENERATE_PROMPT_MAX = 4000; @@ -1622,8 +1518,8 @@ function ambiguousGenerateError(error, options) { return error; const seconds = Math.round(options.elapsedMs / 1000); const listCommand = options.tag - ? `screenrig --json media list --tag ${options.tag}` - : "screenrig --json media list --primitive image"; + ? `screenrig media list --tag ${options.tag}` + : "screenrig media list --primitive image"; return new CliError(makeProblem(error.problem.code, error.problem.title, error.problem.status, `media generate did not return a result after ${seconds} s. The still may or may not have been created, and a created still is billed. ` + "Re-run the identical media generate command: it retries with the same idempotency key, so a still that was created is returned instead of generating and billing a second one.", { request_id: error.problem.request_id, @@ -1637,7 +1533,7 @@ function writeGenerateNotice(args, runtime, quality) { if (flagBool(args.flags, "no-progress")) return; const seconds = GENERATE_TYPICAL_SECONDS[quality]; - if (flagBool(args.flags, "json")) { + if (!flagBool(args.flags, "human")) { runtime.stderr.write(`${JSON.stringify({ event: "media_generate_started", quality, @@ -1783,9 +1679,6 @@ async function mediaDownload(args, runtime, client) { if (!id || !MEDIA_ID_PATTERN.test(id)) { throw usageError("media download requires <id> starting with med_."); } - if (args.positionals.length !== 3) { - throw usageError("media download takes exactly one media id."); - } const metadataResponse = await client.call({ method: "GET", path: `/api/v1/media/${id}` }); const media = mediaRecordFromBody(metadataResponse.body, id); const extension = MEDIA_CONTENT_EXTENSIONS[media.content_type.toLowerCase()]; @@ -1948,7 +1841,7 @@ function progressReporterFor(args, runtime) { if (flagBool(args.flags, "no-progress")) { return silentProgressReporter(); } - const json = flagBool(args.flags, "json"); + const json = !flagBool(args.flags, "human"); return createProgressReporter({ stderr: runtime.stderr, json, @@ -2008,7 +1901,7 @@ async function mediaUpload(args, runtime, client) { } async function mediaUploadBatch(args, runtime, client, resolved) { const manifest = args.positionals[2]; - if (!manifest || args.positionals.length !== 3) { + if (!manifest) { throw usageError("media upload-batch requires one manifest JSON file."); } requireFlagValue(args, "state", "./upload-state.json"); @@ -2036,7 +1929,7 @@ async function mediaUploadBatch(args, runtime, client, resolved) { transcodeOptions, noTranscode: flagBool(args.flags, "no-transcode"), reporter: progressReporterFor(args, runtime), - json: flagBool(args.flags, "json"), + json: !flagBool(args.flags, "human"), noProgress: flagBool(args.flags, "no-progress"), timeoutMs: flagNumber(args.flags, "timeout") ?? 120_000, pollMs: flagNumber(args.flags, "poll-ms") ?? 1000, @@ -2151,18 +2044,18 @@ async function readFeedbackBody(args, runtime) { throw usageError(`Cannot read --body-file: ${error instanceof Error ? error.message : "read failed"}`); } } -async function feedbackCommand(args, runtime, resolved, action) { +export const handleFeedbackList = commandHandler(async (args, runtime, resolved) => { + const client = clientFor(runtime, args, resolved.apiUrl, requireToken(resolved.token)); + return feedbackList(args, client); +}); +export const handleFeedbackBug = commandHandler((args, runtime, resolved) => submitFeedback(args, runtime, resolved, "bug")); +export const handleFeedbackFeature = commandHandler((args, runtime, resolved) => submitFeedback(args, runtime, resolved, "feature")); +async function submitFeedback(args, runtime, resolved, kind) { const token = requireToken(resolved.token); const client = clientFor(runtime, args, resolved.apiUrl, token); - if (action === "list") { - return feedbackList(args, client); - } - if (action !== "bug" && action !== "feature") { - throw usageError("Unknown feedback command; use feedback bug, feedback feature, or feedback list."); - } const title = args.positionals[2]?.trim(); if (!title) { - throw usageError(`feedback ${action} requires a title.`); + throw usageError(`feedback ${kind} requires a title.`); } if (title.length > FEEDBACK_TITLE_MAX) { throw usageError(`A feedback title is at most ${FEEDBACK_TITLE_MAX} characters.`); @@ -2181,7 +2074,7 @@ async function feedbackCommand(args, runtime, resolved, action) { // retry safe rather than duplicating a report. const response = await client.call({ method: "POST", - path: FEEDBACK_PATHS[action], + path: FEEDBACK_PATHS[kind], idempotent: true, body: payload, }); @@ -2189,7 +2082,7 @@ async function feedbackCommand(args, runtime, resolved, action) { return { envelope: jsonBody(response, client.requestId), exitCode: ExitCode.Success, - human: humanLines(action === "bug" ? "Bug report submitted" : "Feature request submitted", [ + human: humanLines(kind === "bug" ? "Bug report submitted" : "Feature request submitted", [ ["id", submission?.id], ["kind", submission?.kind], ["title", submission?.title], @@ -2231,7 +2124,7 @@ async function playlistPreviewCommand(args, runtime, resolved) { requireFlagValue(args, "output", "./preview"); requireFlagValue(args, "frame-ms", "1000"); const output = flagString(args.flags, "output"); - if (!target || !output || args.positionals.length !== 3) { + if (!target || !output) { throw usageError("playlist preview requires <file|id> and --output DIR."); } if (target.includes("\0") || output.includes("\0")) { @@ -2287,124 +2180,134 @@ async function playlistPreviewCommand(args, runtime, resolved) { ].join("\n"), }; } -async function playlistCommand(args, runtime, resolved, action) { +export const handlePlaylistList = commandHandler(async (args, runtime, resolved) => { + return simpleGet(args, runtime, resolved, "/api/v1/playlists", "Playlists"); +}, true); +export const handlePlaylistShow = commandHandler(async (args, runtime, resolved) => { + const id = args.positionals[2]; + if (!id) + throw usageError("playlist get requires an id."); + return simpleGet(args, runtime, resolved, `/api/v1/playlists/${id}`, "Playlist"); +}, true); +export const handlePlaylistExport = commandHandler(async (args, runtime, resolved) => { const token = requireToken(resolved.token); const client = clientFor(runtime, args, resolved.apiUrl, token); - if (action === "list") - return simpleGet(args, runtime, resolved, "/api/v1/playlists", "Playlists"); - if (action === "get" || action === "show") { - const id = args.positionals[2]; - if (!id) - throw usageError("playlist get requires an id."); - return simpleGet(args, runtime, resolved, `/api/v1/playlists/${id}`, "Playlist"); - } - if (action === "export") { - requireFlagValue(args, "output", "./playlist-bundle"); - const id = args.positionals[2]; - const output = flagString(args.flags, "output"); - if (!id || !output || args.positionals.length !== 3) { - throw usageError("playlist export requires <id> --output <directory>."); - } - const result = await exportPlaylistBundle({ playlistId: id, outputDirectory: path.resolve(runtime.cwd(), output), client }); - return { - envelope: successEnvelope(result, { request_id: client.requestId }), - exitCode: ExitCode.Success, - human: humanLines("Playlist exported", [ - ["playlist_id", result.playlist_id], - ["directory", result.directory], - ["media_count", String(result.media_count)], - ["media_bytes", String(result.media_bytes)], - ]), - }; + requireFlagValue(args, "output", "./playlist-bundle"); + const id = args.positionals[2]; + const output = flagString(args.flags, "output"); + if (!id || !output) { + throw usageError("playlist export requires <id> --output <directory>."); } - if (action === "import") { - requireFlagValue(args, "update", "pl_01"); - requireFlagValue(args, "if-match", "1"); - requireFlagValue(args, "name", "Lobby loop (copy)"); - const directory = args.positionals[2]; - if (!directory || args.positionals.length !== 3) - throw usageError("playlist import requires one <directory>."); - const updateId = flagString(args.flags, "update"); - const ifMatch = flagString(args.flags, "if-match"); - const name = flagString(args.flags, "name"); - const result = await importPlaylistBundle({ - directory: path.resolve(runtime.cwd(), directory), - client, - runtime, - updateId, - ifMatch, - name, - timeoutMs: flagNumber(args.flags, "timeout"), - pollMs: flagNumber(args.flags, "poll-ms"), - beforePlaylistWrite: async (playlist, targetId) => { - if (targetId) - await assertAssignedScreensHaveZone(client, targetId, playlist.pages); - }, - }); - return { - envelope: successEnvelope(result, { request_id: client.requestId }), - exitCode: ExitCode.Success, - human: humanLines(`Playlist ${result.mode === "create" ? "imported" : "updated from bundle"}`, [ - ["source_playlist_id", result.source_playlist_id], - ["directory", result.directory], - ["media_reused", String(result.media.reused)], - ["media_uploaded", String(result.media.uploaded)], - ]), - }; + const result = await exportPlaylistBundle({ playlistId: id, outputDirectory: path.resolve(runtime.cwd(), output), client }); + return { + envelope: successEnvelope(result, { request_id: client.requestId }), + exitCode: ExitCode.Success, + human: humanLines("Playlist exported", [ + ["playlist_id", result.playlist_id], + ["directory", result.directory], + ["media_count", String(result.media_count)], + ["media_bytes", String(result.media_bytes)], + ]), + }; +}, true); +export const handlePlaylistImport = commandHandler(async (args, runtime, resolved) => { + const token = requireToken(resolved.token); + const client = clientFor(runtime, args, resolved.apiUrl, token); + requireFlagValue(args, "update", "pl_01"); + requireFlagValue(args, "if-match", "1"); + requireFlagValue(args, "name", "Lobby loop (copy)"); + const directory = args.positionals[2]; + if (!directory) + throw usageError("playlist import requires one <directory>."); + const updateId = flagString(args.flags, "update"); + const ifMatch = flagString(args.flags, "if-match"); + const name = flagString(args.flags, "name"); + const result = await importPlaylistBundle({ + directory: path.resolve(runtime.cwd(), directory), + client, + runtime, + updateId, + ifMatch, + name, + timeoutMs: flagNumber(args.flags, "timeout"), + pollMs: flagNumber(args.flags, "poll-ms"), + beforePlaylistWrite: async (playlist, targetId) => { + if (targetId) + await assertAssignedScreensHaveZone(client, targetId, playlist.pages); + }, + }); + return { + envelope: successEnvelope(result, { request_id: client.requestId }), + exitCode: ExitCode.Success, + human: humanLines(`Playlist ${result.mode === "create" ? "imported" : "updated from bundle"}`, [ + ["source_playlist_id", result.source_playlist_id], + ["directory", result.directory], + ["media_reused", String(result.media.reused)], + ["media_uploaded", String(result.media.uploaded)], + ]), + }; +}, true); +async function playlistCreateUpdateAction(args, runtime, resolved, action) { + const token = requireToken(resolved.token); + const client = clientFor(runtime, args, resolved.apiUrl, token); + const id = action === "update" ? args.positionals[2] : undefined; + const file = action === "update" ? args.positionals[3] : args.positionals[2]; + const ifMatch = flagString(args.flags, "if-match"); + if (!file || (action === "update" && (!id || !ifMatch))) { + throw usageError(`playlist ${action} requires ${action === "update" ? "<id> <file> --if-match" : "<file>"}.`); } - if (action === "create" || action === "update") { - const id = action === "update" ? args.positionals[2] : undefined; - const file = action === "update" ? args.positionals[3] : args.positionals[2]; - const ifMatch = flagString(args.flags, "if-match"); - if (!file || (action === "update" && (!id || !ifMatch))) { - throw usageError(`playlist ${action} requires ${action === "update" ? "<id> <file> --if-match" : "<file>"}.`); - } - let parsed; - try { - parsed = JSON.parse(await readFile(path.resolve(runtime.cwd(), file), "utf8")); - } - catch (err) { - throw usageError(`Cannot read playlist JSON: ${err instanceof Error ? err.message : "invalid JSON"}`); - } - if (typeof parsed.name !== "string" || !Array.isArray(parsed.pages)) { - throw usageError("Playlist JSON must contain string name and array pages."); - } - const extra = Object.keys(parsed).filter((key) => key !== "name" && key !== "pages"); - if (extra.length > 0) { - throw usageError(`Playlist JSON contains unsupported fields: ${extra.join(", ")}.`); - } - const pages = expandPlaylistPages(parsed.pages); - const body = { name: parsed.name, pages }; - assertPlaylistValid(body); - // A create has no assigned screen yet, so there is nothing to check. An - // update can add a schedule to a playlist screens are already running. - if (action === "update" && id) { - await assertAssignedScreensHaveZone(client, id, pages); - } - const response = await client.call({ - method: action === "create" ? "POST" : "PUT", - path: action === "create" ? "/api/v1/playlists" : `/api/v1/playlists/${id}`, - idempotent: true, - headers: ifMatch ? { "if-match": quotedRevision(ifMatch) } : undefined, - body, - }); - return { envelope: jsonBody(response, client.requestId), exitCode: ExitCode.Success, human: `Playlist ${action}d.` }; - } - if (action === "delete") { - const id = args.positionals[2]; - const ifMatch = flagString(args.flags, "if-match"); - if (!id || !ifMatch) - throw usageError("playlist delete requires <id> and --if-match."); - const response = await client.call({ - method: "DELETE", - path: `/api/v1/playlists/${id}`, - idempotent: true, - headers: { "if-match": quotedRevision(ifMatch) }, - }); - return { envelope: jsonBody(response, client.requestId), exitCode: ExitCode.Success, human: `Deleted playlist ${id}` }; + let parsed; + try { + parsed = JSON.parse(await readFile(path.resolve(runtime.cwd(), file), "utf8")); } - throw usageError("Unknown playlist command."); -} + catch (err) { + throw usageError(`Cannot read playlist JSON: ${err instanceof Error ? err.message : "invalid JSON"}`); + } + if (typeof parsed.name !== "string" || !Array.isArray(parsed.pages)) { + throw usageError("Playlist JSON must contain string name and array pages."); + } + const extra = Object.keys(parsed).filter((key) => key !== "name" && key !== "pages"); + if (extra.length > 0) { + throw usageError(`Playlist JSON contains unsupported fields: ${extra.join(", ")}.`); + } + const pages = expandPlaylistPages(parsed.pages); + const body = { name: parsed.name, pages }; + assertPlaylistValid(body); + // A create has no assigned screen yet, so there is nothing to check. An + // update can add a schedule to a playlist screens are already running. + if (action === "update" && id) { + await assertAssignedScreensHaveZone(client, id, pages); + } + const response = await client.call({ + method: action === "create" ? "POST" : "PUT", + path: action === "create" ? "/api/v1/playlists" : `/api/v1/playlists/${id}`, + idempotent: true, + headers: ifMatch ? { "if-match": quotedRevision(ifMatch) } : undefined, + body, + }); + return { envelope: jsonBody(response, client.requestId), exitCode: ExitCode.Success, human: `Playlist ${action}d.` }; +} +export const handlePlaylistCreate = commandHandler(async (args, runtime, resolved) => { + return playlistCreateUpdateAction(args, runtime, resolved, "create"); +}, true); +export const handlePlaylistUpdate = commandHandler(async (args, runtime, resolved) => { + return playlistCreateUpdateAction(args, runtime, resolved, "update"); +}, true); +export const handlePlaylistDelete = commandHandler(async (args, runtime, resolved) => { + const token = requireToken(resolved.token); + const client = clientFor(runtime, args, resolved.apiUrl, token); + const id = args.positionals[2]; + const ifMatch = flagString(args.flags, "if-match"); + if (!id || !ifMatch) + throw usageError("playlist delete requires <id> and --if-match."); + const response = await client.call({ + method: "DELETE", + path: `/api/v1/playlists/${id}`, + idempotent: true, + headers: { "if-match": quotedRevision(ifMatch) }, + }); + return { envelope: jsonBody(response, client.requestId), exitCode: ExitCode.Success, human: `Deleted playlist ${id}` }; +}, true); /** * A page schedule is civil, so it means nothing without a zone to read it in. * The server carries that zone on the screen and refuses assignment, playlist @@ -2423,7 +2326,7 @@ function usesPageVisibility(playlist) { } function scheduleZoneError(screenId) { return usageError(`Screen ${screenId} has no timezone, and the playlist schedules pages with visibility. Page visibility rules are civil times, so the screen needs an IANA zone before it can run them.`, { - command: `screenrig --json screen set-timezone ${screenId} --timezone America/Los_Angeles --if-match REVISION`, + command: `screenrig screen set-timezone ${screenId} --timezone America/Los_Angeles --if-match REVISION`, reason: "Set the screen timezone first, then assign the playlist. Read the current revision from screen show.", }); } @@ -2463,254 +2366,269 @@ async function assertAssignedScreensHaveZone(client, playlistId, pages) { throw scheduleZoneError(unzoned.id); } } -async function screenCommand(args, runtime, resolved, action) { - if (action === "revoke-credential") { - throw usageError("screen revoke-credential is retired. Archive the screen instead.", { - command: "screenrig --json screen archive <id> --if-match REVISION", - reason: "Archive hides the screen. It does not unbind the player. There is no account unbind.", - }); - } +export const handleScreenList = commandHandler(async (args, runtime, resolved) => { + return simpleGet(args, runtime, resolved, "/api/v1/screens", "Screens", { + state: screenListStateFromArgs(args), + }); +}, true); +export const handleScreenProvision = commandHandler(async (args, runtime, resolved) => { const token = requireToken(resolved.token); const client = clientFor(runtime, args, resolved.apiUrl, token); - if (action === "list") { - return simpleGet(args, runtime, resolved, "/api/v1/screens", "Screens", { - state: screenListStateFromArgs(args), - }); - } - if (action === "provision") { - const openMode = flagBool(args.flags, "open"); - const printMode = flagBool(args.flags, "print-url"); - if (openMode === printMode) { - throw usageError("screen provision requires exactly one of --open or --print-url."); - } - const label = flagString(args.flags, "label"); - const enrollmentRuntime = { - fs: { ...runtime.fs, env: runtime.env, homedir: runtime.homedir }, - now: runtime.now, - sleep: runtime.sleep, - }; - const retry = await provisionRetryState({ - resolved, - runtime: enrollmentRuntime, - ...(label ? { label } : {}), - ...(flagString(args.flags, "idempotency-key") ? { requestedKey: flagString(args.flags, "idempotency-key") } : {}), - }); - const request = { ...(label ? { label } : {}) }; - let response; - try { - response = await client.call({ - method: "POST", - path: "/api/v1/screens/provision", - idempotent: true, - idempotencyKey: retry.idempotency_key, - body: request, - }); - } - catch (error) { - if (error instanceof CliError && error.problem.code === "provisioning_expired") { - await clearProvisionRetryState(resolved, enrollmentRuntime, retry.idempotency_key); - } - throw error; - } - requirePrivateNoStore(response.headers, "Browser provisioning response"); - const provisioned = response.body; - if (!provisioned.screen?.id || !provisioned.screen.public_id || !provisioned.expires_at || Number.isNaN(Date.parse(provisioned.expires_at))) { - throw usageError("Browser provisioning response does not match the generated ScreenProvisioning contract."); - } - const urls = validateProvisioningUrls(provisioned); - const opened = openMode ? await (runtime.openUrl?.(urls.provisioningUrl) ?? Promise.resolve(false)) : false; - if (printMode || opened) - await clearProvisionRetryState(resolved, enrollmentRuntime, retry.idempotency_key); - const data = { - screen_id: provisioned.screen.id, - public_url: urls.publicUrl, - expires_at: provisioned.expires_at, - ...(openMode ? { opened } : { provisioning_url: urls.provisioningUrl }), - }; - return { - envelope: successEnvelope(data, { request_id: client.requestId }), - exitCode: ExitCode.Success, - human: humanLines(openMode ? "Browser provisioning" : "Sensitive one-time browser provisioning URL", [ - ["screen_id", provisioned.screen.id], - ["public_url", urls.publicUrl], - ["expires_at", provisioned.expires_at], - ...(openMode ? [["opened", opened ? "true" : "false"]] : [["provisioning_url", urls.provisioningUrl]]), - ]), - }; + const openMode = flagBool(args.flags, "open"); + const printMode = flagBool(args.flags, "print-url"); + if (openMode === printMode) { + throw usageError("screen provision requires exactly one of --open or --print-url."); } - if (action === "pair") { - const rawCode = args.positionals[2]; - if (!rawCode) - throw usageError("screen pair requires CODE."); - const code = rawCode.toUpperCase(); - if (!/^[23456789ABCDEFGHJKMNPQRSTUVWXYZ]{6}$/.test(code)) { - throw usageError("screen pair CODE must be six characters from 23456789ABCDEFGHJKMNPQRSTUVWXYZ."); - } - const label = flagString(args.flags, "label"); - const request = { code, ...(label ? { label } : {}) }; - const response = await client.call({ + const label = flagString(args.flags, "label"); + const enrollmentRuntime = { + fs: { ...runtime.fs, env: runtime.env, homedir: runtime.homedir }, + now: runtime.now, + sleep: runtime.sleep, + }; + const retry = await provisionRetryState({ + resolved, + runtime: enrollmentRuntime, + ...(label ? { label } : {}), + ...(flagString(args.flags, "idempotency-key") ? { requestedKey: flagString(args.flags, "idempotency-key") } : {}), + }); + const request = { ...(label ? { label } : {}) }; + let response; + try { + response = await client.call({ method: "POST", - path: "/api/v1/screens/pair", + path: "/api/v1/screens/provision", idempotent: true, + idempotencyKey: retry.idempotency_key, body: request, }); - requirePrivateNoStore(response.headers, "Screen pairing response"); - const claim = response.body; - if (!claim.screen?.id || !claim.screen.label || !claim.public_url) { - throw usageError("Screen pairing response does not match the generated PairingClaim contract."); - } - return { - envelope: jsonBody(response, client.requestId), - exitCode: ExitCode.Success, - human: humanLines("Screen paired", [ - ["code", code], - ["screen_id", claim.screen.id], - ["label", claim.screen.label], - ["state", claim.screen.state], - ]), - }; } - if (action === "show") { - const id = args.positionals[2]; - if (!id) - throw usageError("screen show requires an id."); - return simpleGet(args, runtime, resolved, `/api/v1/screens/${id}`, "Screen"); - } - if (action === "update") { - const id = args.positionals[2]; - const ifMatch = flagString(args.flags, "if-match"); - const name = flagString(args.flags, "name"); - const playlistId = flagString(args.flags, "playlist-id"); - const timezone = flagString(args.flags, "timezone"); - if (!id || !ifMatch || (!name && !playlistId && !timezone)) { - throw usageError("screen update requires <id>, --if-match, and --name, --playlist-id, or --timezone."); - } - // A patch that sets both a playlist and a timezone satisfies the schedule - // rule in one request, so only check when the patch leaves the screen - // without one. - let playlist; - if (playlistId && !timezone) { - playlist = await assertScheduledPlaylistHasZone(client, id, playlistId); - } - else if (playlistId) { - // This read exists only for advisory aspect warnings. A missing warning - // must not block a patch that supplies the required timezone itself. - try { - playlist = (await client.call({ method: "GET", path: `/api/v1/playlists/${playlistId}` })).body; - } - catch { - playlist = undefined; - } + catch (error) { + if (error instanceof CliError && error.problem.code === "provisioning_expired") { + await clearProvisionRetryState(resolved, enrollmentRuntime, retry.idempotency_key); } - const body = { - ...(name ? { name } : {}), - ...(playlistId ? { playlist_id: playlistId } : {}), - ...(timezone ? { timezone } : {}), - }; - const response = await client.call({ method: "PATCH", path: `/api/v1/screens/${id}`, idempotent: true, headers: { "if-match": quotedRevision(ifMatch) }, body }); - const warnings = playlistId ? aspectMismatchWarnings(id, response.body, playlist) : []; - return { - envelope: jsonBody(response, client.requestId, undefined, warnings), - exitCode: ExitCode.Success, - human: [`Updated screen ${id}`, ...warnings.map((warning) => `warning: ${warning.message}`)].join("\n"), - }; + throw error; } - if (action === "assign") { - const id = args.positionals[2]; - const playlistId = flagString(args.flags, "playlist-id"); - const ifMatch = flagString(args.flags, "if-match"); - if (!id || !playlistId || !ifMatch) - throw usageError("screen assign requires <id> --playlist-id --if-match."); - const playlist = await assertScheduledPlaylistHasZone(client, id, playlistId); - const body = { playlist_id: playlistId }; - const response = await client.call({ - method: "PATCH", - path: `/api/v1/screens/${id}`, - idempotent: true, - headers: { "if-match": quotedRevision(ifMatch) }, - body, - }); - const warnings = aspectMismatchWarnings(id, response.body, playlist); - return { - envelope: jsonBody(response, client.requestId, undefined, warnings), - exitCode: ExitCode.Success, - human: [`Assigned playlist ${playlistId} to ${id}`, ...warnings.map((warning) => `warning: ${warning.message}`)].join("\n"), - }; + requirePrivateNoStore(response.headers, "Browser provisioning response"); + const provisioned = response.body; + if (!provisioned.screen?.id || !provisioned.screen.public_id || !provisioned.expires_at || Number.isNaN(Date.parse(provisioned.expires_at))) { + throw usageError("Browser provisioning response does not match the generated ScreenProvisioning contract."); } - if (action === "set-timezone") { - const id = args.positionals[2]; - const timezone = flagString(args.flags, "timezone"); - const ifMatch = flagString(args.flags, "if-match"); - if (!id || !timezone || !ifMatch) - throw usageError("screen set-timezone requires <id> --timezone --if-match."); - // The zone database belongs to the server, which validates the identifier - // against it. Sending the value unchanged keeps one authority for what a - // real zone is, so the CLI never carries a list that can go stale. - const body = { timezone }; - const response = await client.call({ - method: "PATCH", - path: `/api/v1/screens/${id}`, - idempotent: true, - headers: { "if-match": quotedRevision(ifMatch) }, - body, - }); - return { envelope: jsonBody(response, client.requestId), exitCode: ExitCode.Success, human: `Set timezone ${timezone} on ${id}` }; - } - if (action === "archive" || action === "unarchive") { - const id = args.positionals[2]; - const revision = flagString(args.flags, "if-match"); - if (!id || !revision) - throw usageError(`screen ${action} requires <id> and --if-match.`); - const response = await client.call({ - method: "POST", - path: `/api/v1/screens/${id}/${action}`, - idempotent: true, - headers: { "if-match": quotedRevision(revision) }, - }); - return { - envelope: jsonBody(response, client.requestId), - exitCode: ExitCode.Success, - human: action === "archive" ? `Archived screen ${id}` : `Unarchived screen ${id}`, - }; + const urls = validateProvisioningUrls(provisioned); + const opened = openMode ? await (runtime.openUrl?.(urls.provisioningUrl) ?? Promise.resolve(false)) : false; + if (printMode || opened) + await clearProvisionRetryState(resolved, enrollmentRuntime, retry.idempotency_key); + const data = { + screen_id: provisioned.screen.id, + public_url: urls.publicUrl, + expires_at: provisioned.expires_at, + ...(openMode ? { opened } : { provisioning_url: urls.provisioningUrl }), + }; + return { + envelope: successEnvelope(data, { request_id: client.requestId }), + exitCode: ExitCode.Success, + human: humanLines(openMode ? "Browser provisioning" : "Sensitive one-time browser provisioning URL", [ + ["screen_id", provisioned.screen.id], + ["public_url", urls.publicUrl], + ["expires_at", provisioned.expires_at], + ...(openMode ? [["opened", opened ? "true" : "false"]] : [["provisioning_url", urls.provisioningUrl]]), + ]), + }; +}, true); +export const handleScreenPair = commandHandler(async (args, runtime, resolved) => { + const token = requireToken(resolved.token); + const client = clientFor(runtime, args, resolved.apiUrl, token); + const rawCode = args.positionals[2]; + if (!rawCode) + throw usageError("screen pair requires CODE."); + const code = rawCode.toUpperCase(); + if (!/^[23456789ABCDEFGHJKMNPQRSTUVWXYZ]{6}$/.test(code)) { + throw usageError("screen pair CODE must be six characters from 23456789ABCDEFGHJKMNPQRSTUVWXYZ."); } - if (action === "delete") { - const id = args.positionals[2]; - const ifMatch = flagString(args.flags, "if-match"); - if (!id || !ifMatch) - throw usageError("screen delete requires <id> and --if-match."); - const response = await client.call({ - method: "DELETE", - path: `/api/v1/screens/${id}`, - idempotent: true, - headers: { "if-match": quotedRevision(ifMatch) }, - }); - return { envelope: jsonBody(response, client.requestId), exitCode: ExitCode.Success, human: `Deleted screen ${id}` }; - } - if (action === "rotate-public-id") { - const id = args.positionals[2]; - const revision = flagString(args.flags, "if-match"); - if (!id || !revision) - throw usageError("screen rotate-public-id requires <id> and --if-match."); - const response = await client.call({ - method: "POST", - path: `/api/v1/screens/${id}/public-id/rotate`, - idempotent: true, - headers: { "if-match": quotedRevision(revision) }, - }); - return { - envelope: jsonBody(response, client.requestId), - exitCode: ExitCode.Success, - human: `Rotated public id for ${id}`, - }; + const label = flagString(args.flags, "label"); + const request = { code, ...(label ? { label } : {}) }; + const response = await client.call({ + method: "POST", + path: "/api/v1/screens/pair", + idempotent: true, + body: request, + }); + requirePrivateNoStore(response.headers, "Screen pairing response"); + const claim = response.body; + if (!claim.screen?.id || !claim.screen.label || !claim.public_url) { + throw usageError("Screen pairing response does not match the generated PairingClaim contract."); } - if (action === "toast") { - return screenToast(args, client); + return { + envelope: jsonBody(response, client.requestId), + exitCode: ExitCode.Success, + human: humanLines("Screen paired", [ + ["code", code], + ["screen_id", claim.screen.id], + ["label", claim.screen.label], + ["state", claim.screen.state], + ]), + }; +}, true); +export const handleScreenShow = commandHandler(async (args, runtime, resolved) => { + const id = args.positionals[2]; + if (!id) + throw usageError("screen show requires an id."); + return simpleGet(args, runtime, resolved, `/api/v1/screens/${id}`, "Screen"); +}, true); +export const handleScreenUpdate = commandHandler(async (args, runtime, resolved) => { + const token = requireToken(resolved.token); + const client = clientFor(runtime, args, resolved.apiUrl, token); + const id = args.positionals[2]; + const ifMatch = flagString(args.flags, "if-match"); + const name = flagString(args.flags, "name"); + const playlistId = flagString(args.flags, "playlist-id"); + const timezone = flagString(args.flags, "timezone"); + if (!id || !ifMatch || (!name && !playlistId && !timezone)) { + throw usageError("screen update requires <id>, --if-match, and --name, --playlist-id, or --timezone."); + } + // A patch that sets both a playlist and a timezone satisfies the schedule + // rule in one request, so only check when the patch leaves the screen + // without one. + let playlist; + if (playlistId && !timezone) { + playlist = await assertScheduledPlaylistHasZone(client, id, playlistId); } - if (action === "screenshot") { - return loggerOf(runtime).withLocal({ op: "screenshot.capture", message: "screen screenshot" }, () => screenScreenshot(args, runtime, client)); + else if (playlistId) { + // This read exists only for advisory aspect warnings. A missing warning + // must not block a patch that supplies the required timezone itself. + try { + playlist = (await client.call({ method: "GET", path: `/api/v1/playlists/${playlistId}` })).body; + } + catch { + playlist = undefined; + } } - throw usageError("Unknown screen command."); + const body = { + ...(name ? { name } : {}), + ...(playlistId ? { playlist_id: playlistId } : {}), + ...(timezone ? { timezone } : {}), + }; + const response = await client.call({ method: "PATCH", path: `/api/v1/screens/${id}`, idempotent: true, headers: { "if-match": quotedRevision(ifMatch) }, body }); + const warnings = playlistId ? aspectMismatchWarnings(id, response.body, playlist) : []; + return { + envelope: jsonBody(response, client.requestId, undefined, warnings), + exitCode: ExitCode.Success, + human: [`Updated screen ${id}`, ...warnings.map((warning) => `warning: ${warning.message}`)].join("\n"), + }; +}, true); +export const handleScreenAssign = commandHandler(async (args, runtime, resolved) => { + const token = requireToken(resolved.token); + const client = clientFor(runtime, args, resolved.apiUrl, token); + const id = args.positionals[2]; + const playlistId = flagString(args.flags, "playlist-id"); + const ifMatch = flagString(args.flags, "if-match"); + if (!id || !playlistId || !ifMatch) + throw usageError("screen assign requires <id> --playlist-id --if-match."); + const playlist = await assertScheduledPlaylistHasZone(client, id, playlistId); + const body = { playlist_id: playlistId }; + const response = await client.call({ + method: "PATCH", + path: `/api/v1/screens/${id}`, + idempotent: true, + headers: { "if-match": quotedRevision(ifMatch) }, + body, + }); + const warnings = aspectMismatchWarnings(id, response.body, playlist); + return { + envelope: jsonBody(response, client.requestId, undefined, warnings), + exitCode: ExitCode.Success, + human: [`Assigned playlist ${playlistId} to ${id}`, ...warnings.map((warning) => `warning: ${warning.message}`)].join("\n"), + }; +}, true); +export const handleScreenSetTimezone = commandHandler(async (args, runtime, resolved) => { + const token = requireToken(resolved.token); + const client = clientFor(runtime, args, resolved.apiUrl, token); + const id = args.positionals[2]; + const timezone = flagString(args.flags, "timezone"); + const ifMatch = flagString(args.flags, "if-match"); + if (!id || !timezone || !ifMatch) + throw usageError("screen set-timezone requires <id> --timezone --if-match."); + // The zone database belongs to the server, which validates the identifier + // against it. Sending the value unchanged keeps one authority for what a + // real zone is, so the CLI never carries a list that can go stale. + const body = { timezone }; + const response = await client.call({ + method: "PATCH", + path: `/api/v1/screens/${id}`, + idempotent: true, + headers: { "if-match": quotedRevision(ifMatch) }, + body, + }); + return { envelope: jsonBody(response, client.requestId), exitCode: ExitCode.Success, human: `Set timezone ${timezone} on ${id}` }; +}, true); +async function screenArchiveUnarchiveAction(args, runtime, resolved, action) { + const token = requireToken(resolved.token); + const client = clientFor(runtime, args, resolved.apiUrl, token); + const id = args.positionals[2]; + const revision = flagString(args.flags, "if-match"); + if (!id || !revision) + throw usageError(`screen ${action} requires <id> and --if-match.`); + const response = await client.call({ + method: "POST", + path: `/api/v1/screens/${id}/${action}`, + idempotent: true, + headers: { "if-match": quotedRevision(revision) }, + }); + return { + envelope: jsonBody(response, client.requestId), + exitCode: ExitCode.Success, + human: action === "archive" ? `Archived screen ${id}` : `Unarchived screen ${id}`, + }; } +export const handleScreenArchive = commandHandler(async (args, runtime, resolved) => { + return screenArchiveUnarchiveAction(args, runtime, resolved, "archive"); +}, true); +export const handleScreenUnarchive = commandHandler(async (args, runtime, resolved) => { + return screenArchiveUnarchiveAction(args, runtime, resolved, "unarchive"); +}, true); +export const handleScreenDelete = commandHandler(async (args, runtime, resolved) => { + const token = requireToken(resolved.token); + const client = clientFor(runtime, args, resolved.apiUrl, token); + const id = args.positionals[2]; + const ifMatch = flagString(args.flags, "if-match"); + if (!id || !ifMatch) + throw usageError("screen delete requires <id> and --if-match."); + const response = await client.call({ + method: "DELETE", + path: `/api/v1/screens/${id}`, + idempotent: true, + headers: { "if-match": quotedRevision(ifMatch) }, + }); + return { envelope: jsonBody(response, client.requestId), exitCode: ExitCode.Success, human: `Deleted screen ${id}` }; +}, true); +export const handleScreenRotatePublicId = commandHandler(async (args, runtime, resolved) => { + const token = requireToken(resolved.token); + const client = clientFor(runtime, args, resolved.apiUrl, token); + const id = args.positionals[2]; + const revision = flagString(args.flags, "if-match"); + if (!id || !revision) + throw usageError("screen rotate-public-id requires <id> and --if-match."); + const response = await client.call({ + method: "POST", + path: `/api/v1/screens/${id}/public-id/rotate`, + idempotent: true, + headers: { "if-match": quotedRevision(revision) }, + }); + return { + envelope: jsonBody(response, client.requestId), + exitCode: ExitCode.Success, + human: `Rotated public id for ${id}`, + }; +}, true); +export const handleScreenToast = commandHandler(async (args, runtime, resolved) => { + const token = requireToken(resolved.token); + const client = clientFor(runtime, args, resolved.apiUrl, token); + return screenToast(args, client); +}, true); +export const handleScreenScreenshot = commandHandler(async (args, runtime, resolved) => { + const token = requireToken(resolved.token); + const client = clientFor(runtime, args, resolved.apiUrl, token); + return loggerOf(runtime).withLocal({ op: "screenshot.capture", message: "screen screenshot" }, () => screenScreenshot(args, runtime, client)); +}, true); async function screenToast(args, client) { const id = args.positionals[2]; if (args.flags.level === true) { @@ -2858,7 +2776,7 @@ async function screenScreenshot(args, runtime, client) { span.finish({ capture_id: captureId, state: status.state }); return; } - if (status.state === "timed_out" && currentId === captureId) { + if ((status.state === "timed_out" || status.state === "unavailable") && currentId === captureId) { throw screenshotUnavailable(client.requestId); } if (Date.now() >= deadline) { @@ -2925,62 +2843,73 @@ async function screenScreenshot(args, runtime, client) { ]), }; } -async function kvCommand(args, runtime, resolved, action) { +export const handleKvList = commandHandler(async (args, runtime, resolved) => { + const applicationId = flagString(args.flags, "application-id"); + if (!applicationId) + throw usageError("kv commands require --application-id."); + const key = args.positionals[2]; + return simpleGet(args, runtime, resolved, `/api/v1/applications/${applicationId}/kv`, "K/V"); +}, true); +export const handleKvGet = commandHandler(async (args, runtime, resolved) => { + const applicationId = flagString(args.flags, "application-id"); + if (!applicationId) + throw usageError("kv commands require --application-id."); + const key = args.positionals[2]; + if (!key) + throw usageError("kv get requires a key."); + return simpleGet(args, runtime, resolved, `/api/v1/applications/${applicationId}/kv/${encodeURIComponent(key)}`, "K/V"); +}, true); +export const handleKvSet = commandHandler(async (args, runtime, resolved) => { const applicationId = flagString(args.flags, "application-id"); if (!applicationId) throw usageError("kv commands require --application-id."); const token = requireToken(resolved.token); const client = clientFor(runtime, args, resolved.apiUrl, token); const key = args.positionals[2]; - if (action === "list") { - return simpleGet(args, runtime, resolved, `/api/v1/applications/${applicationId}/kv`, "K/V"); - } - if (action === "get") { - if (!key) - throw usageError("kv get requires a key."); - return simpleGet(args, runtime, resolved, `/api/v1/applications/${applicationId}/kv/${encodeURIComponent(key)}`, "K/V"); - } - if (action === "set") { - if (!key) - throw usageError("kv set requires a key."); - const body = await kvWriteFromArgs(args, runtime.cwd()); - const revision = flagString(args.flags, "if-match"); - const response = await client.call({ - method: "PUT", - path: `/api/v1/applications/${applicationId}/kv/${encodeURIComponent(key)}`, - idempotent: true, - headers: revision ? { "if-match": quotedRevision(revision) } : undefined, - body, - }); - const entry = response.body; - return { - envelope: jsonBody(response, client.requestId), - exitCode: ExitCode.Success, - human: humanLines("K/V value set", [ - ["key", entry.key], - ["content_type", entry.content_type], - ["bytes", String(entry.bytes)], - ["sha256", entry.sha256], - ["revision", String(entry.revision)], - ]), - }; - } - if (action === "delete") { - if (!key) - throw usageError("kv delete requires a key."); - const ifMatch = flagString(args.flags, "if-match"); - if (!ifMatch) - throw usageError("kv delete requires --if-match."); - const response = await client.call({ - method: "DELETE", - path: `/api/v1/applications/${applicationId}/kv/${encodeURIComponent(key)}`, - idempotent: true, - headers: { "if-match": quotedRevision(ifMatch) }, - }); - return { envelope: jsonBody(response, client.requestId), exitCode: ExitCode.Success, human: `Deleted ${key}` }; - } - throw usageError("Unknown kv command."); -} + if (!key) + throw usageError("kv set requires a key."); + const body = await kvWriteFromArgs(args, runtime.cwd()); + const revision = flagString(args.flags, "if-match"); + const response = await client.call({ + method: "PUT", + path: `/api/v1/applications/${applicationId}/kv/${encodeURIComponent(key)}`, + idempotent: true, + headers: revision ? { "if-match": quotedRevision(revision) } : undefined, + body, + }); + const entry = response.body; + return { + envelope: jsonBody(response, client.requestId), + exitCode: ExitCode.Success, + human: humanLines("K/V value set", [ + ["key", entry.key], + ["content_type", entry.content_type], + ["bytes", String(entry.bytes)], + ["sha256", entry.sha256], + ["revision", String(entry.revision)], + ]), + }; +}, true); +export const handleKvDelete = commandHandler(async (args, runtime, resolved) => { + const applicationId = flagString(args.flags, "application-id"); + if (!applicationId) + throw usageError("kv commands require --application-id."); + const token = requireToken(resolved.token); + const client = clientFor(runtime, args, resolved.apiUrl, token); + const key = args.positionals[2]; + if (!key) + throw usageError("kv delete requires a key."); + const ifMatch = flagString(args.flags, "if-match"); + if (!ifMatch) + throw usageError("kv delete requires --if-match."); + const response = await client.call({ + method: "DELETE", + path: `/api/v1/applications/${applicationId}/kv/${encodeURIComponent(key)}`, + idempotent: true, + headers: { "if-match": quotedRevision(ifMatch) }, + }); + return { envelope: jsonBody(response, client.requestId), exitCode: ExitCode.Success, human: `Deleted ${key}` }; +}, true); function commentPath(target, id, pageId) { if (target === "screen") { return `/api/v1/comment/screen/${encodeURIComponent(id)}`; @@ -2990,20 +2919,10 @@ function commentPath(target, id, pageId) { } return `/api/v1/comment/playlist/${encodeURIComponent(id)}`; } -async function commentCommand(args, runtime, resolved, action) { - if (action !== "show" && action !== "set" && action !== "delete") { - throw usageError("Unknown comment command."); - } - const target = args.positionals[2]; +function commentTarget(args, target) { const id = args.positionals[3]; - if (target !== "screen" && target !== "playlist") { - throw usageError("comment commands require screen <id> or playlist <id>."); - } if (!id || (target === "screen" && !isScreenId(id))) { - throw usageError(`comment ${action} ${target} requires <id>.`); - } - if (args.positionals.length > 4) { - throw usageError(`comment ${action} ${target} does not accept extra arguments.`); + throw usageError(`comment ${target} requires <id>.`); } if (Object.hasOwn(args.flags, "if-match")) { throw usageError("comment commands do not take --if-match; last write wins and does not bump revision."); @@ -3017,28 +2936,38 @@ async function commentCommand(args, runtime, resolved, action) { throw usageError("--page must be a playlist page id: a letter, then up to 63 letters, digits, underscores, or hyphens."); } const pathName = commentPath(target, id, pageId); - if (action === "show") { - return simpleGet(args, runtime, resolved, pathName, "Comments"); - } - const token = requireToken(resolved.token); - const client = clientFor(runtime, args, resolved.apiUrl, token); - if (action === "set") { - const body = await commentsWriteFromArgs(args, runtime.cwd()); - const response = await client.call({ - method: "PUT", - path: pathName, - idempotent: true, - body, - }); - return { - envelope: jsonBody(response, client.requestId), - exitCode: ExitCode.Success, - human: humanLines("Comments set", [ - [target, id], - ["page", pageId], - ]), - }; - } + return { id, pageId, pathName }; +} +async function showComment(args, runtime, resolved, target) { + const { pathName } = commentTarget(args, target); + return simpleGet(args, runtime, resolved, pathName, "Comments"); +} +export const handleCommentShowScreen = commandHandler((args, runtime, resolved) => showComment(args, runtime, resolved, "screen")); +export const handleCommentShowPlaylist = commandHandler((args, runtime, resolved) => showComment(args, runtime, resolved, "playlist")); +async function setComment(args, runtime, resolved, target) { + const { id, pageId, pathName } = commentTarget(args, target); + const client = clientFor(runtime, args, resolved.apiUrl, requireToken(resolved.token)); + const body = await commentsWriteFromArgs(args, runtime.cwd()); + const response = await client.call({ + method: "PUT", + path: pathName, + idempotent: true, + body, + }); + return { + envelope: jsonBody(response, client.requestId), + exitCode: ExitCode.Success, + human: humanLines("Comments set", [ + [target, id], + ["page", pageId], + ]), + }; +} +export const handleCommentSetScreen = commandHandler((args, runtime, resolved) => setComment(args, runtime, resolved, "screen")); +export const handleCommentSetPlaylist = commandHandler((args, runtime, resolved) => setComment(args, runtime, resolved, "playlist")); +async function deleteComment(args, runtime, resolved, target) { + const { id, pageId, pathName } = commentTarget(args, target); + const client = clientFor(runtime, args, resolved.apiUrl, requireToken(resolved.token)); const response = await client.call({ method: "DELETE", path: pathName, @@ -3052,6 +2981,8 @@ async function commentCommand(args, runtime, resolved, action) { : `Deleted comments on ${target} ${id}`, }; } +export const handleCommentDeleteScreen = commandHandler((args, runtime, resolved) => deleteComment(args, runtime, resolved, "screen")); +export const handleCommentDeletePlaylist = commandHandler((args, runtime, resolved) => deleteComment(args, runtime, resolved, "playlist")); async function operationsGet(args, runtime, resolved) { const id = args.positionals[2]; if (!id) @@ -3210,8 +3141,7 @@ async function eventsList(args, runtime, resolved) { return { envelope: jsonBody({ ...response, body: safePage }, client.requestId), exitCode: ExitCode.Success, - // main.ts writes JSON only when human is truthy; a space is a silent JSON gate. - human: human || (args.flags.json === true ? " " : ""), + human, }; } /** First reconnect wait after a disconnect. Tests inject `runtime.sleep`. */ @@ -3256,7 +3186,7 @@ async function eventsFollow(args, runtime, resolved) { const token = requireToken(resolved.token); const client = clientFor(runtime, args, resolved.apiUrl, token); const transport = transportFor(runtime, resolved.apiUrl, token); - const json = args.flags.json === true; + const json = !flagBool(args.flags, "human"); let printed = 0; let after = flagString(args.flags, "after") ?? flagString(args.flags, "cursor"); let delayMs = EVENT_STREAM_BACKOFF_MS; @@ -3341,6 +3271,7 @@ async function eventsFollow(args, runtime, resolved) { envelope: successEnvelope({ items: [] }, { request_id: client.requestId }), exitCode: ExitCode.Success, human: "", + output: "stream", }; } /** diff --git a/plugins/screenrig/cli/dist/commands.js.map b/plugins/screenrig/cli/dist/commands.js.map index cac421d6..bab2a66d 100644 --- a/plugins/screenrig/cli/dist/commands.js.map +++ b/plugins/screenrig/cli/dist/commands.js.map @@ -1 +1 @@ -{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAwC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAmB,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,QAAQ,EACR,cAAc,EACd,cAAc,EACd,iBAAiB,GAElB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAkC,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC/G,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACnG,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,QAAQ,EACR,SAAS,GACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,gCAAgC,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAC5J,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC7G,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EACL,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,GAGvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAyB,MAAM,qBAAqB,CAAC;AAC5G,OAAO,EACL,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,QAAQ,GAGT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,aAAa,EACb,uBAAuB,EACvB,4BAA4B,EAC5B,4BAA4B,GAE7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,CAAC;AAUvB,SAAS,WAAW,CAAC,KAAyB;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB;IAChD,MAAM,KAAK,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,UAAU,CAAC,gFAAgF,CAAC,CAAC;IACrG,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;WACpD,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;WACvE,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;WACnG,4CAA4C,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QACjG,MAAM,UAAU,CAAC,yGAAyG,CAAC,CAAC;IAC9H,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;QAC5B,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,GAAG,YAAY,KAAK,IAAK,GAAyB,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAC9E,MAAM,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE;YAC5B,OAAO,EAAE,2BAA2B;YACpC,MAAM,EAAE,sEAAsE;SAC/E,CAAC,CAAC;IACL,CAAC;IACD,MAAM,GAAG,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAgB,EAAE,OAAmB;IAChE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,UAAU,CAAC,sCAAsC,EAAE;YACvD,OAAO,EAAE,2BAA2B;YACpC,MAAM,EAAE,sEAAsE;SAC/E,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,UAAU,CAAC,uDAAuD,CAAC,CAAC;IAC5E,CAAC;IACD,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpD,IAAI,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,UAAU,CAAC,sDAAsD,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,UAAU,CAAC,sDAAsD,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC;QACH,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,cAAc,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,SAAS,EAAE,CAAC;QAC7F,MAAM,UAAU,CAAC,qHAAqH,CAAC,CAAC;IAC1I,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClF,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAC/C,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IAC1H,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;IAC7H,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,EAAE,CAAC;QACjE,MAAM,UAAU,CAAC,oFAAoF,CAAC,CAAC;IACzG,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAClI,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,UAAU,CAAC,6BAA6B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,CAC9B,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,EACtE,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC/B,MAAM,EAAE,MAAM;gBACd,QAAQ;gBACR,MAAM;gBACN,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC;gBAC3C,QAAQ;aACT,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC;gBACV,MAAM;gBACN,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK;gBAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;gBAC9B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;aAC7B,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,cAAc,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9G,MAAM,MAAM,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,YAAY;QACtE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpE,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,cAAc,GAAG,EAAE,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAChD,cAAc,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC;YACtC,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM;YACN,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC;SAC7B,CAAC,CAAC,CAAC;IACN,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACtF,MAAM,IAAI,GAAG;QACX,MAAM;QACN,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QACH,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QAC3B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;QAC7B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,OAAO;QACb,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC;IACF,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC/D,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAE;YAClC,CAAC,QAAQ,EAAE,MAAM,CAAC;YAClB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;YACnC,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC;YACpC,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAoB,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACpF,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/E,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7F,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,OAAmB,EAAE,MAAc,EAAE,KAAc;IACvE,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpE,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,SAAS,CAAC,OAAmB,EAAE,IAAgB,EAAE,MAAc,EAAE,KAAc;IACtF,OAAO,IAAI,SAAS,CAAC;QACnB,SAAS,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;QAC/C,KAAK;QACL,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC;QAC/C,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC;QACzD,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC;QAC5C,YAAY,EAAE,OAAO;QACrB,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CACf,QAA4D,EAC5D,SAAiB,EACjB,KAA+B,EAC/B,WAAsB,EAAE;IAExB,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;IAC9D,OAAO,eAAe,CACpB,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EACpC;QACE,UAAU,EAAG,IAAI,CAAC,UAAiC,IAAI,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,SAAS;QACpG,YAAY,EAAE,IAAI,CAAC,YAAkC;QACrD,QAAQ;KACT,CACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,MAA2C;IAC5E,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;IACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAKD,oFAAoF;AACpF,SAAS,cAAc,CACrB,OAA2G,EAC3G,aAAa,GAAG,IAAI;IAEpB,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACvI,MAAM,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,aAAa,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;gBAC7B,MAAM,gBAAgB,CAAC,4EAA4E,EAAE;oBACnG,OAAO,EAAE,yBAAyB;oBAClC,MAAM,EAAE,yEAAyE;iBAClF,CAAC,CAAC;YACL,CAAC;YACD,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACvB,MAAM,gBAAgB,CAAC,oEAAoE,EAAE;oBAC3F,OAAO,EAAE,yBAAyB;oBAClC,MAAM,EAAE,iFAAiF;iBAC1F,CAAC,CAAC;YACL,CAAC;YACD,MAAM,gBAAgB,CAAC,kHAAkH,EAAE;gBACzI,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,KAAK;oBACjC,CAAC,CAAC,wBAAwB;oBAC1B,CAAC,CAAC,wCAAwC;gBAC5C,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,KAAK;oBAChC,CAAC,CAAC,wFAAwF;oBAC1F,CAAC,CAAC,2FAA2F;aAChG,CAAC,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAmB,KAAK,IAAI,EAAE;IACtD,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,CAAC;QACjG,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,aAAa,WAAW,EAAE;KAClC,CAAC;AAEJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAEnF,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,KAAK,IAAI,EAAE;QACnG,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QACjC,OAAO;YACL,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC;YAClC,QAAQ,EAAE,QAAQ,CAAC,OAAO;YAC1B,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC;SACrC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,EAAE,KAAK,CAAC,CAAC;AAEV,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACrF,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI;QAAE,MAAM,UAAU,CAAC,2CAA2C,CAAC,CAAC;IACzE,IAAI,MAA+B,CAAC;IACpC,IAAI,CAAC;QAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,CAAC;IACvF,MAAM,CAAC;QAAC,MAAM,UAAU,CAAC,4BAA4B,CAAC,CAAC;IAAC,CAAC;IACzD,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACpJ,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,4BAA4B,EAAE,aAAa,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC;QAC5H,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE;YACL,kHAAkH;YAClH,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACtE,yBAAyB;SAC1B,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC;AACJ,CAAC,EAAE,KAAK,CAAC,CAAC;AAEV,MAAM,CAAC,MAAM,qBAAqB,GAAG,cAAc,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;AAEnF,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACjF,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACjC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;QAAE,MAAM,UAAU,CAAC,8DAA8D,CAAC,CAAC;IACvG,IAAI,CAAC;QACH,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC;IAC1C,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAAC,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;IAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3I,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAChG,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC;QAAE,MAAM,UAAU,CAAC,iCAAiC,CAAC,CAAC;IACnG,MAAM,MAAM,GAAG,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5G,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE;YAClG,MAAM;YACN,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC;YAC3C,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;YACpC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC;SAC5C,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACrJ,IAAI,MAAM,CAAC,MAAM;QAAE,MAAM,IAAI,QAAQ,CAAC,WAAW,CAAC,aAAa,EAAE,6BAA6B,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,yDAAyD,MAAM,CAAC,QAAQ,QAAQ,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7W,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC;QAC/C,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE;YACL,YAAY,MAAM,CAAC,QAAQ,sBAAsB,MAAM,CAAC,OAAO,cAAc,MAAM,CAAC,QAAQ,GAAG;YAC/F,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YAC7E,yBAAyB;SAC1B,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC;AACJ,CAAC,EAAE,KAAK,CAAC,CAAC;AAEV,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,uBAAuB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAEtF,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;IAC1C,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC;QAClC,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC;KACtC,CAAC;AACJ,CAAC,EAAE,KAAK,CAAC,CAAC;AAEV,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACjF,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,CACzF,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CACtC,CAAC;AACJ,CAAC,EAAE,KAAK,CAAC,CAAC;AAEV,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAChF,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,GAAG,EAAE,CACvF,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CACrC,CAAC;AACJ,CAAC,EAAE,KAAK,CAAC,CAAC;AAEV,MAAM,CAAC,MAAM,qBAAqB,GAAG,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAC9E,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,CACnF,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAC1C,CAAC;AACJ,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAC9E,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,CACnF,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CACzC,CAAC;AACJ,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAC5E,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,cAAc,CAAC,CAAC;AACpF,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAC5E,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE;QAAE,MAAM,UAAU,CAAC,sCAAsC,CAAC,CAAC;IAClE,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;AACzF,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;AAEtE,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;AAEvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACjF,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,CACzF,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CACtC,CAAC;AACJ,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;AAE/D,SAAS,gBAAgB,CAAC,KAAY;IACpC,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;QACpD,eAAe,EAAE,KAAK,CAAC,eAAe;KACvC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,IAAgB,EAChB,OAAmB,EACnB,QAAmD;IAGnD,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC;QAC5C,MAAM,IAAI,GAAG;YACX,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;YACxH,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxE,CAAC;QACF,OAAO;YACL,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC;YAC/B,QAAQ,EAAE,QAAQ,CAAC,OAAO;YAC1B,KAAK,EAAE,UAAU,CAAC,kBAAkB,EAAE;gBACpC,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACxB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC;gBACrB,CAAC,eAAe,EAAE,UAAU,CAAC,aAAa,CAAC;gBAC3C,CAAC,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC;aACtC,CAAC;SACH,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;QACjC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;QACvD,OAAO;YACL,QAAQ,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACzE,QAAQ,EAAE,QAAQ,CAAC,OAAO;YAC1B,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE;gBACzB,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAClB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACjB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;aACtB,CAAC;SACH,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACnF,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;QAC/G,OAAO;YACL,QAAQ,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;YAChJ,QAAQ,EAAE,QAAQ,CAAC,OAAO;YAC1B,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE;gBACzB,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAClB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBAChB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;gBACpB,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC;gBAChC,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC;gBAC5B,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;gBAC1B,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC9D,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC;aACrC,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,YAAY,QAAQ,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc;YAAE,MAAM,GAAG,CAAC;QACjF,OAAO;YACL,QAAQ,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,mBAAmB,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC;YAC/G,QAAQ,EAAE,QAAQ,CAAC,OAAO;YAC1B,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE;gBACzB,CAAC,QAAQ,EAAE,cAAc,CAAC;gBAC1B,CAAC,qBAAqB,EAAE,OAAO,CAAC;gBAChC,CAAC,MAAM,EAAE,oFAAoF,CAAC;aAC/F,CAAC;SACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,IAAgB,EAChB,OAAmB,EACnB,QAAmD;IAEnD,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAClH,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,qBAAqB,CAAC,QAAQ,CAAC,IAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,IAAgB,EAChB,OAAmB,EACnB,QAAmD;IAGnD,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;QAAE,MAAM,UAAU,CAAC,+CAA+C,CAAC,CAAC;IAChG,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,UAAU,CAAC,iEAAiE,EAAE;YAClF,OAAO,EAAE,yBAAyB;YAClC,MAAM,EAAE,8DAA8D;SACvE,CAAC,CAAC;IACL,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC/D,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;IACnF,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,wCAAwC,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,uBAAuB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC;QAC5D,CAAC,CAAC,MAAM,6BAA6B,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC;QAC9D,CAAC,CAAC,SAAS,CAAC;IACd,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC;YACxB,MAAM,EAAE,QAAQ;YAChB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC;YAC9B,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChF,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACpC,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAE;YAClC,CAAC,QAAQ,EAAE,QAAQ,CAAC;YACpB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YAChB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;YACpB,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YAC9D,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxH,GAAG,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,uDAAuD,CAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9H,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAgB,EAAE,OAAmB,EAAE,WAAmB;IACtF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;QAC9G,OAAO;IACT,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,WAAW,IAAI,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,QAAmD,EACnD,OAAmB;IAEnB,OAAO,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AAC5G,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,IAAgB,EAChB,OAAmB,EACnB,QAAmD,EACnD,aAAiC;IAEjC,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7E,OAAO,cAAc,CACnB,QAAQ,CAAC,UAAU,EACnB,MAAM,EACN,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAC5D,KAAK,IAAI,EAAE;QACT,IAAI,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAChE,IAAI,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAChD,MAAM,UAAU,CAAC,mDAAmD,EAAE;gBACpE,OAAO,EAAE,wBAAwB;gBACjC,MAAM,EAAE,qEAAqE;aAC9E,CAAC,CAAC;QACL,CAAC;QACD,0EAA0E;QAC1E,uEAAuE;QACvE,IAAI,OAAO,GAAG,OAAO,EAAE,gBAAgB,CAAC;QACxC,IAAI,OAAO,EAAE,IAAI,IAAI,aAAa,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACrE,MAAM,UAAU,CAAC,2FAA2F,CAAC,CAAC;QAChH,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,EAAE,WAAW,EAAE,0BAA0B,EAAE,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3G,MAAM,iBAAiB,CAAC,QAAQ,CAAC,UAAU,EAAE;gBAC3C,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;gBAClB,OAAO,EAAE,QAAQ,CAAC,MAAM;gBACxB,gBAAgB,EAAE,OAAO;gBACzB,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;aACxC,EAAE,MAAM,CAAC,CAAC;QACb,CAAC;QACD,wBAAwB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACpG,MAAM,OAAO,GAAG,4BAA4B,CAAC;gBAC3C,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACpB,OAAO,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;QAC5D,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,OAAO,GAA2B;YACtC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,aAAa,EAAE;YACzB,OAAO,EAAE,WAAW;YACpB,oBAAoB,EAAE,wBAAwB,CAAC,OAAO,CAAC,WAAW,CAAC;SACpE,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACzG,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;QAC3E,IAAI,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,aAAa,EAAE,CAAC;YAC1D,MAAM,WAAW,CAAC,8EAA8E,CAAC,CAAC;QACpG,CAAC;QACD,MAAM,KAAK,GAAG,4BAA4B,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAA0B;YACtC,GAAG,OAAO;YACV,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACjE,MAAM,iBAAiB,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC3C,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;YACjB,OAAO,EAAE,QAAQ,CAAC,MAAM;YACxB,gBAAgB,EAAE,QAAQ;YAC1B,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;SACxC,EAAE,MAAM,CAAC,CAAC;QACX,OAAO,QAAQ,CAAC;IAClB,CAAC,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,IAAgB,EAChB,OAAmB,EACnB,QAAmD,EACnD,UAAiC,EACjC,SAAiB;IAEjB,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,gBAAgB;QAAE,MAAM,WAAW,CAAC,mDAAmD,CAAC,CAAC;IACtI,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9D,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAmC,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC;YACpC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,6BAA6B,UAAU,CAAC,aAAa,SAAS;YACpE,OAAO,EAAE;gBACP,aAAa,EAAE,2BAA2B,UAAU,CAAC,gBAAgB,EAAE;gBACvE,cAAc,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS;aACpE;YACD,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC;YAChB,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;gBAClD,MAAM,WAAW,CAAC,0DAA0D,CAAC,CAAC;YAChF,CAAC;YACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;YACrB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,IAAI,KAAK,CAAC,KAAK,KAAK,kBAAkB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBACtD,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI;wBAAE,MAAM,WAAW,CAAC,mDAAmD,CAAC,CAAC;oBACtG,SAAS;gBACX,CAAC;gBACD,IAAI,OAAgB,CAAC;gBACrB,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;gBAC9C,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,WAAW,CAAC,4CAA4C,CAAC,CAAC;gBAClE,CAAC;gBACD,MAAM,GAAG,4BAA4B,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;gBACzE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;oBAAE,OAAO,MAAM,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAAa,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACzC,MAAM,YAAY,CAAC,2FAA2F,CAAC,CAAC;QAClH,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5C,MAAM,YAAY,CAAC,gGAAgG,CAAC,CAAC;IACvH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,OAAmB,EACnB,QAAmD,EACnD,YAAoB,EACpB,iBAA0B;IAE1B,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7E,MAAM,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;QACzH,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAClE,IAAI,OAAO,EAAE,gBAAgB,EAAE,aAAa,KAAK,YAAY;YAAE,OAAO;QACtE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAC3D,IAAI,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;YACnE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC;YACpE,MAAM,iBAAiB,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,cAAc,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;YACrH,OAAO;QACT,CAAC;QACD,MAAM,iBAAiB,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAC7G,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,kCAAkC,CAC/C,OAAmB,EACnB,QAAmD,EACnD,UAAiC,EACjC,GAAa,EACb,MAAc;IAEd,IAAI,CAAC,UAAU,CAAC,aAAa;QAAE,MAAM,GAAG,CAAC;IACzC,MAAM,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC9E,MAAM,IAAI,QAAQ,CAAC;QACjB,GAAG,GAAG,CAAC,OAAO;QACd,MAAM;QACN,IAAI,EAAE;YACJ,OAAO,EAAE,yBAAyB;YAClC,MAAM,EAAE,mIAAmI;SAC5I;KACF,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,IAAgB,EAChB,OAAmB,EACnB,QAAmD,EACnD,UAAiC,EACjC,YAAoB,EACpB,OAAe;IAEf,IAAI,CAAC,UAAU,CAAC,aAAa;QAAE,MAAM,WAAW,CAAC,qDAAqD,CAAC,CAAC;IACxG,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACvE,MAAM,iBAAiB,GAAG,KAAK,IAAoB,EAAE;QACnD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACvF,qBAAqB,CAAC,YAAY,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,uBAAuB,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC;QAC5E,IAAI,QAAQ,CAAC,EAAE,KAAK,OAAO;YAAE,MAAM,WAAW,CAAC,8DAA8D,CAAC,CAAC;QAC/G,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,IAAI,UAAU,CAAC;IACf,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,CAAC;IAC3F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,YAAY,QAAQ,CAAC;YAAE,MAAM,GAAG,CAAC;QAC1C,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,iBAAiB,EAAE,CAAC;gBAC3C,MAAM,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;gBAC/E,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1D,CAAC;YAAC,OAAO,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,iBAAiB,YAAY,QAAQ,IAAI,iBAAiB,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBAC/F,OAAO,kCAAkC,CACvC,OAAO,EACP,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,sGAAsG,CACvG,CAAC;gBACJ,CAAC;gBACD,MAAM,iBAAiB,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACxC,OAAO,kCAAkC,CACvC,OAAO,EACP,QAAQ,EACR,UAAU,EACV,GAAG,EACH,2FAA2F,CAC5F,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,4BAA4B,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;YACzG,OAAO,kCAAkC,CACvC,OAAO,EACP,QAAQ,EACR,UAAU,EACV,GAAG,EACH,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,4BAA4B;gBAC/C,CAAC,CAAC,+DAA+D;gBACjE,CAAC,CAAC,yDAAyD,CAC9D,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,qBAAqB,CAAC,UAAU,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxD,IAAI,MAAM,CAAC,EAAE,KAAK,OAAO;QAAE,MAAM,WAAW,CAAC,0DAA0D,CAAC,CAAC;IACzG,IAAI,QAAe,CAAC;IACpB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACnE,OAAO,kCAAkC,CACvC,OAAO,EACP,QAAQ,EACR,UAAU,EACV,GAAG,EACH,iFAAiF,CAClF,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAC/E,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,IAAgB,EAChB,OAAmB,EACnB,QAAmD;IAGnD,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACvD,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;QAAE,MAAM,UAAU,CAAC,gDAAgD,CAAC,CAAC;IACjG,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,SAAS,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACtF,MAAM,UAAU,CAAC,6EAA6E,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,gBAAgB,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,IAAI,CAAC,IAAI,gBAAgB,GAAG,UAAU,CAAC,EAAE,CAAC;QACtI,MAAM,UAAU,CAAC,6EAA6E,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,OAAO,GAAG,MAAM,4BAA4B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpE,IAAI,UAAiC,CAAC;IACtC,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;QACjE,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACzC,wBAAwB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACxG,MAAM,WAAW,CAAC,yDAAyD,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,OAAO,GAAG,4BAA4B,CAAC;YAC3C,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpB,UAAU,GAAG,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,MAAM,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/E,OAAO,GAAG,MAAM,4BAA4B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,YAAY,GAAG,OAAO,EAAE,KAAK,CAAC;IAClC,IAAI,cAAc,GAAG,UAAU,CAAC,gBAAgB,CAAC;IAEjD,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC,CAAC,YAAY,IAAI,cAAc,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAC1F,MAAM,WAAW,CAAC,yCAAyC,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;YACtC,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;YAC7D,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACtF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;gBAC7D,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,gBAAgB,IAAI,UAAU,CAAC;QACjD,IAAI,MAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,8BAA8B,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAChG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,QAAQ,IAAI,CAAC,4BAA4B,EAAE,0BAA0B,EAAE,0BAA0B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjJ,OAAO,kCAAkC,CACvC,OAAO,EACP,QAAQ,EACR,UAAU,EACV,GAAG,EACH,+EAA+E,CAChF,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC/F,MAAM,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAC9E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,QAAQ;gBACrC,CAAC,CAAC,yBAAyB;gBAC3B,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW;oBAC7B,CAAC,CAAC,4BAA4B;oBAC9B,CAAC,CAAC,0BAA0B,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,QAAQ;gBACvC,CAAC,CAAC,kDAAkD;gBACpD,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW;oBAC7B,CAAC,CAAC,qFAAqF;oBACvF,CAAC,CAAC,+CAA+C,CAAC;YACtD,MAAM,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,mCAAmC,EAAE,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE;gBACxH,IAAI,EAAE;oBACJ,OAAO,EAAE,yBAAyB;oBAClC,MAAM,EAAE,wEAAwE;iBACjF;aACF,CAAC,CAAC,CAAC;QACN,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,WAAW,CAAC,gGAAgG,CAAC,CAAC;QACtH,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU;YAAE,MAAM,WAAW,CAAC,mDAAmD,CAAC,CAAC;QAEzG,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,iBAAiB,CAAC;QACtB,IAAI,CAAC;YACH,iBAAiB,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC;gBACvC,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,6BAA6B,UAAU,CAAC,aAAa,aAAa;gBACxE,OAAO,EAAE,EAAE,aAAa,EAAE,2BAA2B,UAAU,CAAC,gBAAgB,EAAE,EAAE;aACrF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,QAAQ,IAAI,CAAC,4BAA4B,EAAE,0BAA0B,EAAE,0BAA0B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjJ,OAAO,kCAAkC,CACvC,OAAO,EACP,QAAQ,EACR,UAAU,EACV,GAAG,EACH,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,4BAA4B;oBAC/C,CAAC,CAAC,oFAAoF;oBACtF,CAAC,CAAC,mEAAmE,CACxE,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,qBAAqB,CAAC,iBAAiB,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;QACzF,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAiC,CAAC;QACtE,MAAM,SAAS,GAAG,sBAAsB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAChE,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC;QAC/B,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC;QACnC,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7E,MAAM,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;YACzH,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC5D,IAAI,CAAC,OAAO,EAAE,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,aAAa,KAAK,UAAU,CAAC,aAAa,EAAE,CAAC;gBACtG,MAAM,WAAW,CAAC,iEAAiE,CAAC,CAAC;YACvF,CAAC;YACD,UAAU,GAAG,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;YAClF,MAAM,iBAAiB,CAAC,QAAQ,CAAC,UAAU,EAAE;gBAC3C,GAAG,OAAO;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,MAAM;gBAC3C,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,QAAQ,EAAE,SAAS,CAAC,OAAO;gBAC3B,gBAAgB,EAAE,UAAU;gBAC5B,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;aACxC,EAAE,MAAM,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,YAAY,IAAI,CAAC,cAAc;QAAE,MAAM,WAAW,CAAC,yDAAyD,CAAC,CAAC;IACnH,IAAI,SAA8C,CAAC;IACnD,SAAS,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC5G,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;IAC9B,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC;YACxB,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC;YAC9B,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,MAAM;YACN,oBAAoB,EAAE,OAAO;SAC9B,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC;QACvC,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,iBAAiB,EAAE;YACnC,CAAC,QAAQ,EAAE,QAAQ,CAAC;YACpB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YAChB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;YACpB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YACrC,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;SACrD,CAAC;KACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,IAAgB,EAChB,OAAmB,EACnB,QAAmD;IAEnD,MAAM,WAAW,GAAG,kBAAkB,CAAC;IAEvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,UAAU,CAAC,GAAG,WAAW,4GAA4G,EAAE;YAC3I,OAAO,EAAE,kCAAkC;YAC3C,MAAM,EAAE,sEAAsE;SAC/E,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,MAAM,UAAU,CAAC,mEAAmE,CAAC,CAAC;IAC3G,IAAI,QAAQ,CAAC,eAAe;QAAE,MAAM,UAAU,CAAC,4EAA4E,CAAC,CAAC;IAC7H,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,IAAI,KAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAClF,qBAAqB,CAAC,OAAO,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QAChE,KAAK,GAAG,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IACtD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,YAAY,QAAQ,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc;YAAE,MAAM,GAAG,CAAC;IACnF,CAAC;IACD,MAAM,OAAO,GAA2B,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChH,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC3B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,gCAAgC;YACtC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,QAAQ,CAAC;gBACjB,GAAG,GAAG,CAAC,OAAO;gBACd,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,oBAAoB;oBAC7C,CAAC,CAAC;wBACE,OAAO,EAAE,kDAAkD;wBAC3D,MAAM,EAAE,wGAAwG;qBACjH;oBACH,CAAC,CAAC;wBACE,OAAO,EAAE,kCAAkC;wBAC3C,MAAM,EAAE,yGAAyG;qBAClH;aACN,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnB,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3D,MAAM,WAAW,CAAC,oHAAoH,CAAC,CAAC;IAC1I,CAAC;IACD,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7E,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;YACzH,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAClE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBAC/C,MAAM,WAAW,CAAC,sEAAsE,CAAC,CAAC;YAC5F,CAAC;YACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;gBACxB,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,KAAK,EAAE,SAAkB;gBACzB,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;aACxC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;YACvB,MAAM,iBAAiB,CAAC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC,OAAO,EAAE;gBACtE,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;aACxC,CAAC,EAAE,MAAM,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,WAAW,CACf,wEAAwE,UAAU,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC,oEAAoE,EACvN;YACE,OAAO,EAAE,kCAAkC;YAC3C,MAAM,EAAE,6EAA6E;SACtF,CACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC;YACxB,MAAM,EAAE,cAAc;YACtB,wBAAwB,EAAE,IAAI;YAC9B,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,IAAI;YACvB,sBAAsB,EAAE,IAAI;SAC7B,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACpC,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,oBAAoB,EAAE;YACtC,CAAC,kBAAkB,EAAE,SAAS,CAAC;YAC/B,CAAC,kCAAkC,EAAE,WAAW,CAAC;YACjD,CAAC,WAAW,EAAE,4EAA4E,CAAC;SAC5F,CAAC;KACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,IAAgB,EAChB,OAAmB,EACnB,QAAmD;IAEnD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO;QAAE,MAAM,UAAU,CAAC,qCAAqC,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG;QACnB,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;QACjE,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC;QACzC,QAAQ;QACR,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,IAAI,CAAC,SAAS;QACpB,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClH,CAAC,CAAC;IACH,MAAM,OAAO,GAA4B,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,qCAAqC;QAC3C,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,KAAK,CAAC,eAAe;QACrC,IAAI,EAAE,OAAO;KACd,CAAC,CAAC;IACH,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAwB,CAAC;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,iBAAiB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACpJ,MAAM,UAAU,CAAC,gFAAgF,CAAC,CAAC;IACrG,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,kBAAkB,GAAG,MAAM,CAAC,QAAQ,KAAK,yBAAyB,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAC5H,MAAM,oBAAoB,GAAG,WAAW,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,SAAS,CAAC,MAAM,KAAK,oBAAoB,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ;WACpF,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,KAAK,MAAM,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;QAC3F,MAAM,UAAU,CAAC,gFAAgF,CAAC,CAAC;IACrG,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;QACzC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvG,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,2BAA2B,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,OAAO;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,iBAAiB,EAAE,SAAS,CAAC,IAAI;QACjC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC;IACF,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACjE,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,uBAAuB,EAAE;YACzC,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC;YACtB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,CAAC,mBAAmB,EAAE,SAAS,CAAC,IAAI,CAAC;YACrC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7F,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,gBAAgB,CAC7B,IAAgB,EAChB,OAAmB,EACnB,QAAmD;IAGnD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,iCAAiC;QACvC,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IACH,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,qBAAqB,CAAC,QAAQ,CAAC,IAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACjG,wEAAwE;IACxE,0EAA0E;IAC1E,6DAA6D;IAC7D,MAAM,OAAO,GAAG,SAAS,IAAI,CAAC,MAAM,CAAC;IACrC,MAAM,IAAI,GAAG;QACX,UAAU,EAAE,IAAI,CAAC,SAAS;QAC1B,UAAU,EAAE,IAAI;QAChB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;KACjC,CAAC;IACF,MAAM,KAAK,GAAG,SAAS;QACrB,CAAC,CAAC,2BAA2B;QAC7B,CAAC,CAAC,MAAM;YACN,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,uDAAuD,CAAC;IAC9D,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACjE,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE;YACvB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;YAC9B,CAAC,UAAU,EAAE,gCAAgC,CAAC;YAC9C,CAAC,SAAS,EAAE,gDAAgD,CAAC;YAC7D,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAqB,CAAC,CAAC;SAClF,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,OAA+B,EAAE,OAAe;IAC7E,IAAI,OAAO,CAAC,eAAe,CAAC,KAAK,mBAAmB,EAAE,CAAC;QACrD,MAAM,UAAU,CAAC,GAAG,OAAO,8DAA8D,CAAC,CAAC;IAC7F,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,IAAgB,EAChB,OAAmB,EACnB,QAAmD,EACnD,UAAiD,EAAE;IAEnD,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,WAAW,CAAC,gDAAgD,EAAE;YAClE,OAAO,EAAE,yBAAyB;YAClC,MAAM,EAAE,4EAA4E;SACrF,CAAC,CAAC;IACL,CAAC;IACD,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC;IAClD,IAAI,cAAc,IAAI,aAAa,KAAK,SAAS,IAAI,eAAe,CAAC,aAAa,CAAC,KAAK,cAAc,EAAE,CAAC;QACvG,MAAM,UAAU,CAAC,mGAAmG,CAAC,CAAC;IACxH,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,UAAU;QAClD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,cAAc,IAAI,eAAe,CAAC,aAAa,CAAC,CAAC;IACrD,IAAI,CAAC;QACH,OAAO,MAAM,gBAAgB,CAAC;YAC5B,QAAQ;YACR,eAAe,EAAE,KAAK;YACtB,OAAO,EAAE;gBACP,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;gBACjE,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB;YACD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACzD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAClG,MAAM,OAAO,GAAyB;oBACpC,SAAS,EAAE,KAAK,CAAC,QAAQ;oBACzB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/C,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpG,CAAC;gBACF,IAAI,QAAQ,CAAC;gBACb,IAAI,CAAC;oBACH,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;wBAC3B,MAAM,EAAE,MAAM;wBACd,IAAI,EAAE,qBAAqB;wBAC3B,UAAU,EAAE,IAAI;wBAChB,cAAc,EAAE,KAAK,CAAC,cAAc;wBACpC,IAAI,EAAE,OAAO;qBACd,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,GAAG,YAAY,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;wBACrE,MAAM,IAAI,QAAQ,CAAC;4BACjB,GAAG,GAAG,CAAC,OAAO;4BACd,KAAK,EAAE,mCAAmC;4BAC1C,MAAM,EAAE,sGAAsG;4BAC9G,MAAM,EAAE,EAAE;4BACV,IAAI,EAAE;gCACJ,OAAO,EAAE,yBAAyB;gCAClC,MAAM,EAAE,gIAAgI;6BACzI;yBACF,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACjC,CAAC;oBACD,IAAI,GAAG,YAAY,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,iBAAiB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC/F,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;4BACjD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gCAAE,OAAO,KAAK,CAAC;4BACpD,OAAQ,IAA2B,CAAC,KAAK,KAAK,UAAU,CAAC;wBAC3D,CAAC,CAAC,CAAC;wBACH,IAAI,SAAS,EAAE,CAAC;4BACd,MAAM,IAAI,QAAQ,CAAC;gCACjB,GAAG,GAAG,CAAC,OAAO;gCACd,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI;oCACxB,OAAO,EAAE,uDAAuD;oCAChE,MAAM,EAAE,wFAAwF;iCACjG;6BACF,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;wBACjC,CAAC;oBACH,CAAC;oBACD,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;gBAC/D,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAqB,CAAC;gBAClD,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACxD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,UAAU,CAAC,gBAAgB,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK;uBACpF,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC;oBAChE,MAAM,UAAU,CAAC,0EAA0E,CAAC,CAAC;gBAC/F,CAAC;gBACD,OAAO;oBACL,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE;oBAChC,OAAO,EAAE,KAAK,CAAC,EAAE;iBAClB,CAAC;YACJ,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBACjC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAChE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBAC/E,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAuB,CAAC;gBACjD,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;oBAC3D,MAAM,UAAU,CAAC,qEAAqE,CAAC,CAAC;gBAC1F,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,EAAE,CAAC;YAC9E,MAAM,QAAQ,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YAC/E,MAAM,cAAc,CAClB,QAAQ,CAAC,UAAU,EACnB,QAAQ,EACR,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAC5D,KAAK,IAAI,EAAE;gBACT,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACpE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,UAAU,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC;oBAC5D,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC;oBAC3D,MAAM,iBAAiB,CAAC,QAAQ,CAAC,UAAU,EAAE;wBAC3C,GAAG,UAAU;wBACb,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;qBACxC,EAAE,QAAQ,CAAC,CAAC;gBACf,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAgB,EAAE,OAAmB,EAAE,QAAmD;IACnH,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC/E,wEAAwE;IACxE,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1F,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAe,CAAC;IACzC,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC,KAAK,SAAS,EAAE,CAAC;QAC1E,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,OAAO;QACL,QAAQ;QACR,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,SAAS,EAAE;YAC3B,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAClB,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACnF,CAAC,kBAAkB,EAAE,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3G,CAAC,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC;SACjC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,IAAgB,EAAE,OAAmB;IAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,UAAU,CAAC,gCAAgC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpG,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,IAAI,GAAG;QACX,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,MAAM;KACP,CAAC;IACF,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC;QAC/B,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAE;YAClC,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACzB,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACrD,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACjD,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACzC,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;SACtE,CAAC;KACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAgB,EAAE,OAAmB,EAAE,QAAmD,EAAE,MAAe;IAClI,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,2DAA2D,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC;IAChI,CAAC;IACD,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,MAAM,UAAU,CAAC,yDAAyD,CAAC,CAAC;IACzH,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,sBAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,oBAAoB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC;IAChG,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE;QACnE,MAAM,EAAE,sBAAsB,CAAC,oBAAoB,CAAC,IAAoB,CAAC;QACzE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;KAC1B,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,wBAAwB,kBAAkB,CAAC,EAAG,CAAC,WAAW,CAAC,CAAC,CAAC,sBAAsB;QAClG,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,0BAA0B,EAAE,MAAM,CAAC,MAAM;YACzC,0BAA0B,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;YACzD,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;YACjD,uBAAuB,EAAE,oBAAoB;YAC7C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,WAAW;SACf;QACD,IAAI,EAAE,MAAM,CAAC,OAAO;KACrB,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAyB,CAAC;IAChD,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,YAAY;QACrE,CAAC,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE;YACjD,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,OAAO;YACvD,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI;YACjD,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC;QACF,CAAC,CAAC,IAAI,CAAC;IACT,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE;YAC7C,uEAAuE;YACvE,gEAAgE;YAChE,WAAW,EAAE,IAAI;YACjB,SAAS;YACT,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE;YAC9D,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;QACF,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CACf,SAAS;YACP,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,sBAAsB,CAAC;YACpE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,6BAA6B,CAAC,EAC7E;YACE,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC;YAC3B,qEAAqE;YACrE,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC;YAC/B,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC;YACnC,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC;YAC3B,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;SAC1B,CACF;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,IAAgB,EAChB,OAAmB,EACnB,QAAmD,EACnD,QAAgB,EAChB,KAAa,EACb,KAA0C;IAE1C,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7E,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC;QAC9C,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,GAAG,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;KAC7D,CAAC;AACJ,CAAC;AAED,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAChD,MAAM,oBAAoB,GAAG,8BAA8B,CAAC;AAE5D,SAAS,gBAAgB,CAAC,IAAgB,EAAE,IAAY,EAAE,OAAe;IACvE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,UAAU,CAAC,KAAK,IAAI,gCAAgC,IAAI,IAAI,OAAO,GAAG,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAgB;IACxC,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,UAAU,CAAC,0CAA0C,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAgB;IAC9C,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACtD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QACnD,MAAM,UAAU,CAAC,qCAAqC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAgB;IAC/C,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,MAAM,UAAU,CAAC,2BAA2B,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAE9E,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,UAAU,CAAC,sDAAsD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE;QAClE,GAAG,EAAE,gBAAgB,CAAC,IAAI,CAAC;QAC3B,SAAS,EAAE,sBAAsB,CAAC,IAAI,CAAC;KACxC,CAAC,CAAC;AACL,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAE9E,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE;QAAE,MAAM,UAAU,CAAC,4BAA4B,CAAC,CAAC;IACxD,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AAC5E,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAChF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACnC,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAClF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAC3F,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CACrC,CAAC;AACJ,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAChF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ;QAAE,MAAM,UAAU,CAAC,4CAA4C,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,iBAAiB,EAAE,EAAE;QAC3B,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE;KAClD,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;AACtH,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAClF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAC3F,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAC/C,CAAC;AACJ,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAChF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,GAAG,EAAE,CACvF,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CACnC,CAAC;AACJ,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACrF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,OAAO,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAC5F,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAC9D,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC;;;;;;;GAOG;AACH,MAAM,4BAA4B,GAAG,OAAO,CAAC;AAE7C,0EAA0E;AAC1E,MAAM,wBAAwB,GAA2C;IACvE,GAAG,EAAE,EAAE;IACP,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,EAAE;CACT,CAAC;AAEF,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAQ,sBAA4C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAQ,kBAAwC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAa;IAC5C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,UAAU,CAAC,wEAAwE,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,GAAG,GAAG,IAA+B,CAAC;IAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IACxB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IACxB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,UAAU,CAAC,wEAAwE,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,EAAE,GAAI,KAA0B,CAAC,EAAE,CAAC;IAC1C,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,MAAM,UAAU,CAAC,wDAAwD,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,UAAU,CAAC,wEAAwE,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,OAAO,GAAI,KAA+B,CAAC,OAAO,CAAC;IACzD,MAAM,GAAG,GAAI,KAA2B,CAAC,GAAG,CAAC;IAC7C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAC7E,MAAM,UAAU,CAAC,wEAAwE,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,UAAU,CAAC,wEAAwE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO;QACL,KAAK,EAAE,KAAiC;QACxC,KAAK,EAAE,KAAiC;KACzC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,KAAc,EAAE,OAA4C;IAC1F,IAAI,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,iBAAiB;QAAE,OAAO,KAAK,CAAC;IAC/F,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG;QAC7B,CAAC,CAAC,8BAA8B,OAAO,CAAC,GAAG,EAAE;QAC7C,CAAC,CAAC,wCAAwC,CAAC;IAC7C,OAAO,IAAI,QAAQ,CACjB,WAAW,CACT,KAAK,CAAC,OAAO,CAAC,IAAI,EAClB,KAAK,CAAC,OAAO,CAAC,KAAK,EACnB,KAAK,CAAC,OAAO,CAAC,MAAM,EACpB,gDAAgD,OAAO,iFAAiF;QACtI,gLAAgL,EAClL;QACE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU;QACpC,IAAI,EAAE;YACJ,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,kHAAkH;SAC3H;KACF,CACF,EACD,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,QAAQ,CACf,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAgB,EAChB,OAAmB,EACnB,OAA+B;IAE/B,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC;QAAE,OAAO;IAChD,MAAM,OAAO,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC;YAChB,KAAK,EAAE,wBAAwB;YAC/B,OAAO;YACP,eAAe,EAAE,OAAO;YACxB,UAAU,EAAE,4BAA4B;SACzC,CAAC,IAAI,CACP,CAAC;QACF,OAAO;IACT,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,8DAA8D,OAAO,gCAAgC,OAAO,OAAO,CACpH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,IAAgB,EAChB,OAAmB,EACnB,MAAiB,EACjB,QAAmD;IAEnD,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,kEAAkE,CAAC,CAAC;IACrG,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAC/C,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACrF,MAAM,UAAU,CAAC,gEAAgE,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC;IACrE,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,MAAM,UAAU,CAAC,gEAAgE,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,QAAQ,CAAC;IAC9D,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,UAAU,CAAC,yCAAyC,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,IAAI,GAA2B;QACnC,MAAM;QACN,YAAY,EAAE,WAAW;QACzB,OAAO;QACP,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxB,CAAC;IACF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,4BAA4B,CAAC;IACpF,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC;QACrC,QAAQ;QACR,OAAO;QACP,WAAW,EAAE,mBAAmB,CAAC,IAAI,CAAC;QACtC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClH,CAAC,CAAC;IACH,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1C,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC3B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,2BAA2B;YACjC,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe;YAC3C,UAAU,EAAE,SAAS;YACrB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,EAAE;YAC9C,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS;YAC9C,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxB,CAAC,CAAC;QACH,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,oEAAoE;YACpE,MAAM,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;IACtD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,UAAU,CAAC,2EAA2E,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,SAAS,GAAG,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IACnC,yEAAyE;IACzE,MAAM,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC9E,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;QACzG,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,iBAAiB,EAAE;YACnC,CAAC,UAAU,EAAE,OAAO,CAAC;YACrB,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC;YAC/C,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;YAC5B,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;SAClC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAgB,EAAE,MAAiB;IAC5D,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,uEAAuE,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,UAAU,CAAC,gEAAgE,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,IAAI,GAAkB,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACnE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,iBAAiB,EAAE,EAAE;QAC3B,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE;QACjD,IAAI;KACL,CAAC,CAAC;IACH,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC;QAC9C,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,aAAa,EAAE,EAAE;KACjF,CAAC;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAEhD,gHAAgH;AAChH,MAAM,wBAAwB,GAA2B;IACvD,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,KAAK;IAClB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,MAAM;CACrB,CAAC;AAEF,SAAS,mBAAmB,CAAC,IAAa,EAAE,EAAU;IACpD,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAyB,CAAC;IACjD,IACE,GAAG,CAAC,EAAE,KAAK,EAAE;QACb,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ;QACpC,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAC9B,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;QAClC,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;QAC7B,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;QAC5B,GAAG,CAAC,KAAK,GAAG,CAAC,EACb,CAAC;QACD,MAAM,UAAU,CAAC,SAAS,EAAE,wEAAwE,CAAC,CAAC;IACxG,CAAC;IACD,OAAO,GAAkB,CAAC;AAC5B,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,aAAa,CAAC,IAAgB,EAAE,OAAmB,EAAE,MAAiB;IACnF,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACtC,MAAM,UAAU,CAAC,kDAAkD,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3F,MAAM,KAAK,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,UAAU,CAAC,SAAS,EAAE,qBAAqB,KAAK,CAAC,YAAY,gCAAgC,CAAC,CAAC;IACvG,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,SAAS,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAElG,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC;IAC/F,MAAM,QAAQ,GAAG,GAAG,UAAU,IAAI,OAAO,CAAC,GAAG,OAAO,CAAC;IACrD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpG,IAAI,WAAW,KAAK,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;YACrD,MAAM,UAAU,CAAC,SAAS,EAAE,oDAAoD,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1D,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3E,MAAM,UAAU,CAAC,SAAS,EAAE,sDAAsD,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,UAAU,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC;gBAC5B,IAAI,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC1B,MAAM,UAAU,CAAC,SAAS,EAAE,yCAAyC,CAAC,CAAC;gBACzE,CAAC;gBACD,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,OAAO,MAAM,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;oBACjC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC;oBAC5E,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC;gBAChC,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YACD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,MAAM,UAAU,CAAC,SAAS,EAAE,6CAA6C,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,UAAU,CAAC,SAAS,EAAE,+CAA+C,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,UAAU,CAAC,qDAAqD,CAAC,CAAC;IAC1E,CAAC;YAAS,CAAC;QACT,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,IAAI,GAAG;QACX,QAAQ,EAAE,EAAE;QACZ,EAAE;QACF,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,CAAC,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtE,CAAC;IACF,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACjE,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,kBAAkB,EAAE;YACpC,CAAC,UAAU,EAAE,EAAE,CAAC;YAChB,CAAC,MAAM,EAAE,UAAU,CAAC;YACpB,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC,QAAQ,EAAE,MAAM,CAAC;YAClB,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC;YACpC,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC;YAC5B,CAAC,iBAAiB,EAAE,KAAK,CAAC,eAAe,CAAC;YAC1C,CAAC,MAAM,EAAE,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SAC7H,CAAC;KACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,IAAgB,EAChB,OAAmB,EACnB,QAAmD;IAEnD,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC9C,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7C,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1C,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,MAAM,UAAU,CAAC,mCAAmC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,MAAM,UAAU,CAAC,kCAAkC,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACzD,MAAM,UAAU,CAAC,iDAAiD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE;QACxE,SAAS,EAAE,QAAQ;QACnB,QAAQ,EAAE,OAAO;QACjB,GAAG;KACJ,CAAC,CAAC;AACL,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,wBAAwB,CAAC,IAAgB;IACvD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,iBAAiB,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QACjG,MAAM,UAAU,CAAC,mDAAmD,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI;QAAE,MAAM,UAAU,CAAC,4BAA4B,CAAC,CAAC;IAC5H,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACjD,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,EAAE,CAAC;QAChE,MAAM,UAAU,CAAC,qEAAqE,CAAC,CAAC;IAC1F,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,CAAC;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,MAAM,UAAU,CAAC,KAAK,IAAI,4BAA4B,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACjE,IAAI,KAAK,GAAmB,aAAa,CAAC;IAC1C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACjD,KAAK,GAAG,MAAM,CAAC;QACjB,CAAC;aAAM,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACvD,KAAK,GAAG,MAAM,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,CAAC,+BAA+B,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,eAAe,CAAC;IACpE,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QAClC,MAAM,UAAU,CAAC,mDAAmD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,QAAQ,CAAC;IAC/D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,EAAE,IAAI,OAAO,GAAG,QAAQ,EAAE,CAAC;QACrE,MAAM,UAAU,CAAC,oDAAoD,QAAQ,GAAG,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,oBAAoB,CAAC;IACnF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC;QAC3E,MAAM,UAAU,CAAC,0DAA0D,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;QAC1C,MAAM,EAAE,MAAM,KAAK,iBAAiB,IAAI,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;AACtG,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAgB,EAAE,OAAmB;IAChE,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC;QACxC,OAAO,sBAAsB,EAAE,CAAC;IAClC,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,sBAAsB,CAAC;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI;QACJ,GAAG,EAAE,CAAC,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,IAAI;QAC9C,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;KACnC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAgB,EAAE,OAAmB,EAAE,MAAiB;IACjF,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI;QAAE,MAAM,UAAU,CAAC,+BAA+B,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IACrD,MAAM,mBAAmB,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAEnE,4EAA4E;IAC5E,8EAA8E;IAC9E,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;QACrC,OAAO;QACP,MAAM;QACN,UAAU;QACV,mBAAmB;QACnB,GAAG,EAAE,gBAAgB,CAAC,IAAI,CAAC;QAC3B,gBAAgB;QAChB,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC;QACjD,QAAQ,EAAE,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC;QAC5C,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC;QACvC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,OAAO;QACvD,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI;KAClD,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjC,MAAM,IAAI,GAAG;QACX,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;KAC9B,CAAC;IACF,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE;YAC9B,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,YAAY,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE;YACnC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC;QACF,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,gBAAgB,EAAE;YAC/F,CAAC,UAAU,EAAE,OAAO,CAAC;YACrB,CAAC,cAAc,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;YACnC,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;YACtC,CAAC,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC;YACpD,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;YAC9C,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;YAC5B,CAAC,WAAW,EAAE,OAAO,QAAQ,CAAC,SAAS,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,OAAO,QAAQ,CAAC,SAAS,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACtJ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;YAClC,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAoB,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;SACtF,CAAC;KACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,IAAgB,EAChB,OAAmB,EACnB,MAAiB,EACjB,QAAmD;IAEnD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,UAAU,CAAC,qDAAqD,CAAC,CAAC;IAC1E,CAAC;IACD,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC;IACvD,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,UAAU,CAAC,2CAA2C,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,gCAAgC,CAAC;IAC9F,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC;QAC9B,WAAW,GAAG,4BAA4B;QAC1C,WAAW,GAAG,4BAA4B,EAC1C,CAAC;QACD,MAAM,UAAU,CACd,6CAA6C,4BAA4B,OAAO,4BAA4B,GAAG,CAChH,CAAC;IACJ,CAAC;IACD,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;QACvC,OAAO;QACP,MAAM;QACN,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC;QACnD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC;QAC7C,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,WAAW;QACX,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC;QAClC,gBAAgB;QAChB,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC;QACjD,QAAQ,EAAE,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC;QAC5C,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;QACpC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC;QAC/C,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,OAAO;QACvD,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI;KAClD,CAAC,CAAC;IACH,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE;YACrC,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;QACF,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,cAAc,GAAiC;IACnD,GAAG,EAAE,uBAAuB;IAC5B,OAAO,EAAE,2BAA2B;CACrC,CAAC;AAEF;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,oDAAoD,CAAC;AACtF,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAE/B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAC3E,MAAM,mBAAmB,GAAqB,MAAM,CAAC;AACrD,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAEjC,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AACjD,MAAM,wBAAwB,GAAG,+BAA+B,CAAC;AACjE,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAC1C,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAEvC,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,YAAY,CAAC,GAAG,CAAC,KAAyB,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAa;IAClD,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAgB,EAChB,QAAgB;IAEhB,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAoB,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IAC9D,IAAI,mCAAmC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,CAAC;IACD,2EAA2E;IAC3E,6CAA6C;IAC7C,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,UAAU,CAAC,+DAA+D,CAAC,CAAC;IACpF,CAAC;IACD,0EAA0E;IAC1E,6EAA6E;IAC7E,6EAA6E;IAC7E,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;IAC1D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,MAAM,UAAU,CACd,+EAA+E;gBAC7E,0FAA0F;gBAC1F,4CAA4C,CAC/C,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAC5B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAgB,EAAE,OAAmB;IACnE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACjD,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,UAAU,CAAC,8CAA8C,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,UAAU,CAAC,oDAAoD,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,UAAU,CAAC,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;IACzG,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACjF,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACvF,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7H,MAAM,CAAC,MAAM,qBAAqB,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAErI,KAAK,UAAU,cAAc,CAAC,IAAgB,EAAE,OAAmB,EAAE,QAA+B,EAAE,IAAkB;IACtH,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,UAAU,CAAC,YAAY,IAAI,oBAAoB,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACtC,MAAM,UAAU,CAAC,+BAA+B,kBAAkB,cAAc,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,UAAU,CAAC,oCAAoC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,UAAU,CAAC,8BAA8B,iBAAiB,cAAc,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACrF,MAAM,OAAO,GAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAEhF,6EAA6E;IAC7E,6EAA6E;IAC7E,+CAA+C;IAC/C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;QAC1B,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,OAAO;KACd,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,QAAQ,CAAC,IAA0B,CAAC;IACvD,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC;QAC9C,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,2BAA2B,EAAE;YACvF,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC;YACtB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC;YAC1B,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC;YAC5B,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC;YACtC,CAAC,MAAM,EAAE,qEAAqE,CAAC;SAChF,CAAC;KACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAgB,EAAE,MAAiB;IAC7D,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IAC/D,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3E,MAAM,UAAU,CAAC,gCAAgC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,KAAK,GAAmB,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAEzF,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClF,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAiB,CAAC;QACnD,0EAA0E;QAC1E,mDAAmD;QACnD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpH,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACtE,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EACH,KAAK,CAAC,MAAM,KAAK,CAAC;YAChB,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC;gBACE,yBAAyB,KAAK,CAAC,MAAM,GAAG;gBACxC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;aAChG,CAAC,IAAI,CAAC,IAAI,CAAC;KACnB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,IAAgB,EAChB,OAAmB,EACnB,QAAmD;IAEnD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACnC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC9C,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,UAAU,CAAC,uDAAuD,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,UAAU,CAAC,qDAAqD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC;QACtE,MAAM,UAAU,CAAC,iEAAiE,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IACrD,IAAI,QAAiB,CAAC;IACtB,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;IACpE,IAAI,MAA6B,CAAC;IAClC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QACxD,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ,GAAG,KAAK,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,MAAM,UAAU,CAAC,4BAA4B,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3F,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;QACzB,UAAU,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;QACnC,QAAQ;QACR,eAAe,EAAE,SAAS;QAC1B,QAAQ,EAAE,gBAAgB;QAC1B,OAAO;QACP,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC;QACnD,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC;QAC3C,UAAU;QACV,MAAM;QACN,OAAO;KACR,CAAC,CAAC;IACH,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACpE,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE;YACL,aAAa,MAAM,CAAC,KAAK,CAAC,MAAM,qBAAqB,MAAM,CAAC,MAAM,GAAG;YACrE,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,kBAAkB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YAC7E,yBAAyB;SAC1B,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAEjF,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAC;AAC9E,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAEjF,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE;QAAE,MAAM,UAAU,CAAC,8BAA8B,CAAC,CAAC;IAC1D,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;AACnF,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACnF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IACtD,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,UAAU,CAAC,qDAAqD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5H,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACnE,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,mBAAmB,EAAE;YACrC,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC;YACnC,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC;YAC/B,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC3C,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SAC5C,CAAC;KACH,CAAC;AACJ,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACnF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1C,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IACxC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACtC,IAAI,CAAC,SAAS;QAAE,MAAM,UAAU,CAAC,2CAA2C,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC;QACxC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC;QACjD,MAAM;QACN,OAAO;QACP,QAAQ;QACR,OAAO;QACP,IAAI;QACJ,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC;QAC5C,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC;QACzC,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;YAChD,IAAI,QAAQ;gBAAE,MAAM,6BAA6B,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtF,CAAC;KACF,CAAC,CAAC;IACH,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACnE,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,YAAY,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE;YAC7F,CAAC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,CAAC;YACjD,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC;YAC/B,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7C,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAClD,CAAC;KACH,CAAC;AACJ,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,KAAK,UAAU,0BAA0B,CAAC,IAAgB,EAAE,OAAmB,EAAE,QAA+B,EAAE,MAA2B;IAC3I,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,MAAM,EAAE,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,MAAM,IAAI,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,UAAU,CAAC,YAAY,MAAM,aAAa,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;IAChH,CAAC;IACD,IAAI,MAA+B,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAA4B,CAAC;IAC5G,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,UAAU,CAAC,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACpE,MAAM,UAAU,CAAC,yDAAyD,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,CAAC,CAAC;IACrF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,8CAA8C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;IAC1C,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC1B,wEAAwE;IACxE,uEAAuE;IACvE,IAAI,MAAM,KAAK,QAAQ,IAAI,EAAE,EAAE,CAAC;QAC9B,MAAM,6BAA6B,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;QAC5C,IAAI,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE;QAC3E,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QACtE,IAAI;KACL,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,MAAM,IAAI,EAAE,CAAC;AAEvH,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACnF,OAAO,0BAA0B,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACvE,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACnF,OAAO,0BAA0B,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACvE,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACnF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO;QAAE,MAAM,UAAU,CAAC,+CAA+C,CAAC,CAAC;IACvF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,qBAAqB,EAAE,EAAE;QAC/B,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE;KACjD,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC;AACzH,CAAC,EAAE,IAAI,CAAC,CAAC;AAET;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CAAC,QAAiB;IAC3C,MAAM,KAAK,GAAI,QAA4C,EAAE,KAAK,CAAC;IACnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,YAAY,IAAI,IAAI,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB;IACzC,OAAO,UAAU,CACf,UAAU,QAAQ,qKAAqK,EACvL;QACE,OAAO,EAAE,iCAAiC,QAAQ,qDAAqD;QACvG,MAAM,EAAE,sGAAsG;KAC/G,CACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,8BAA8B,CAAC,MAAiB,EAAE,QAAgB,EAAE,UAAkB;IACnG,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,UAAU,EAAE,EAAE,CAAC,CAAC;IAC/F,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzF,IAAK,MAAM,CAAC,IAA2B,EAAE,QAAQ,EAAE,CAAC;QAClD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IACD,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,6BAA6B,CAAC,MAAiB,EAAE,UAAkB,EAAE,KAAc;IAChG,IAAI,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACnC,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC/E,MAAM,KAAK,GAAI,QAAQ,CAAC,IAAyC,EAAE,KAAK,CAAC;IACzE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,UAAU,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChG,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAE/E,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE;QACtE,KAAK,EAAE,uBAAuB,CAAC,IAAI,CAAC;KACrC,CAAC,CAAC;AACL,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,qBAAqB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACpF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,UAAU,CAAC,iEAAiE,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,iBAAiB,GAAG;QACxB,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;QACjE,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC;QACtC,QAAQ;QACR,OAAO,EAAE,iBAAiB;QAC1B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClH,CAAC,CAAC;IACH,MAAM,OAAO,GAAoB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACjE,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC3B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,2BAA2B;YACjC,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE,KAAK,CAAC,eAAe;YACrC,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAC/E,MAAM,wBAAwB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,QAAQ,CAAC,IAA0B,CAAC;IACxD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAC5I,MAAM,UAAU,CAAC,yFAAyF,CAAC,CAAC;IAC9G,CAAC;IACD,MAAM,IAAI,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5G,IAAI,SAAS,IAAI,MAAM;QAAE,MAAM,wBAAwB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAC5G,MAAM,IAAI,GAAG;QACX,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE;QAChC,UAAU,EAAE,IAAI,CAAC,SAAS;QAC1B,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;KACxE,CAAC;IACF,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACjE,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACnG,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;YAC9B,CAAC,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC;YACtC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,CAAqB,CAAC,CAAC;SAC/I,CAAC;KACH,CAAC;AACJ,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAC/E,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,MAAM,UAAU,CAAC,4BAA4B,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,CAAC,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,MAAM,UAAU,CAAC,+EAA+E,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAe,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,sBAAsB;QAC5B,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,OAAO;KACd,CAAC,CAAC;IACH,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAoB,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAClE,MAAM,UAAU,CAAC,6EAA6E,CAAC,CAAC;IAClG,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC;QAC9C,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,eAAe,EAAE;YACjC,CAAC,MAAM,EAAE,IAAI,CAAC;YACd,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7B,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9B,CAAC;KACH,CAAC;AACJ,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAE/E,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE;QAAE,MAAM,UAAU,CAAC,6BAA6B,CAAC,CAAC;IACzD,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC/E,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACjF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3D,MAAM,UAAU,CAAC,oFAAoF,CAAC,CAAC;IACzG,CAAC;IACD,0EAA0E;IAC1E,sEAAsE;IACtE,eAAe;IACf,IAAI,QAAiB,CAAC;IACtB,IAAI,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,QAAQ,GAAG,MAAM,8BAA8B,CAAC,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;IAC1E,CAAC;SAAM,IAAI,UAAU,EAAE,CAAC;QACtB,wEAAwE;QACxE,qEAAqE;QACrE,IAAI,CAAC;YACH,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAClG,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,GAAG,SAAS,CAAC;QACvB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAgB;QACxB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACjK,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;QACnE,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,CAAC,kBAAkB,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;KACxG,CAAC;AACJ,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACjF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO;QAAE,MAAM,UAAU,CAAC,uDAAuD,CAAC,CAAC;IAC9G,MAAM,QAAQ,GAAG,MAAM,8BAA8B,CAAC,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,mBAAmB,EAAE,EAAE;QAC7B,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE;QAChD,IAAI;KACL,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,sBAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrE,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;QACnE,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,CAAC,qBAAqB,UAAU,OAAO,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;KAC5H,CAAC;AACJ,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,uBAAuB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACtF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO;QAAE,MAAM,UAAU,CAAC,0DAA0D,CAAC,CAAC;IAC/G,0EAA0E;IAC1E,yEAAyE;IACzE,mEAAmE;IACnE,MAAM,IAAI,GAAgB,EAAE,QAAQ,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,mBAAmB,EAAE,EAAE;QAC7B,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE;QAChD,IAAI;KACL,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,gBAAgB,QAAQ,OAAO,EAAE,EAAE,EAAE,CAAC;AACpI,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,KAAK,UAAU,4BAA4B,CAAC,IAAgB,EAAE,OAAmB,EAAE,QAA+B,EAAE,MAA+B;IACjJ,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ;QAAE,MAAM,UAAU,CAAC,UAAU,MAAM,gCAAgC,CAAC,CAAC;IACzF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,mBAAmB,EAAE,IAAI,MAAM,EAAE;QACvC,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE;KAClD,CAAC,CAAC;IACH,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC;QAC9C,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE;KAClF,CAAC;AAEJ,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAClF,OAAO,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC1E,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,qBAAqB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACpF,OAAO,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AAC5E,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACjF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO;QAAE,MAAM,UAAU,CAAC,6CAA6C,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,mBAAmB,EAAE,EAAE;QAC7B,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE;KACjD,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC;AACvH,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,0BAA0B,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACzF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ;QAAE,MAAM,UAAU,CAAC,uDAAuD,CAAC,CAAC;IAChG,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,mBAAmB,EAAE,mBAAmB;QAC9C,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE;KAClD,CAAC,CAAC;IACH,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC;QAC9C,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,yBAAyB,EAAE,EAAE;KACrC,CAAC;AACJ,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAChF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACnC,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACrF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,GAAG,EAAE,CAClG,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CACxC,CAAC;AACJ,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,KAAK,UAAU,WAAW,CAAC,IAAgB,EAAE,MAAiB;IAC5D,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,UAAU,CAAC,iDAAiD,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,UAAU,CAAC,0BAA0B,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC;QACvC,MAAM,UAAU,CAAC,iCAAiC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/C,IAAI,CAAC,EAAE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,UAAU,CAAC,6CAA6C,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,IAAI,mBAAmB,CAAC;IAC9C,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,UAAU,CAAC,uEAAuE,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC;IACpC,IACE,UAAU,GAAG,CAAC;WACX,UAAU,GAAG,cAAc;WAC3B,6BAA6B,CAAC,IAAI,CAAC;WACnC,cAAc,CAAC,IAAI,CAAC,GAAG,eAAe,EACzC,CAAC;QACD,MAAM,UAAU,CACd,2GAA2G,CAC5G,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAqB,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACzD,IACE,UAAU,KAAK,SAAS;eACrB,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC;eAC7B,UAAU,GAAG,kBAAkB;eAC/B,UAAU,GAAG,kBAAkB,EAClC,CAAC;YACD,MAAM,UAAU,CAAC,0DAA0D,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,mBAAmB,EAAE,QAAQ;QACnC,UAAU,EAAE,IAAI;QAChB,IAAI;KACL,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAwB,CAAC;IAC9D,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC;QAC9C,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAE;YAClC,CAAC,WAAW,EAAE,EAAE,CAAC;YACjB,CAAC,OAAO,EAAE,KAAK,CAAC;YAChB,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC;SACpC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB;IAC9C,OAAO,IAAI,QAAQ,CACjB,WAAW,CAAC,wBAAwB,EAAE,6BAA6B,EAAE,GAAG,EAAE,8BAA8B,EAAE;QACxG,UAAU,EAAE,SAAS;KACtB,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC,sFAAsF;AACtF,SAAS,yBAAyB,CAAC,QAAgB;IACjD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3F,OAAO,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACrG,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,GAAW,EAAE,EAAU,EAAE,KAA0B;IACxF,OAAO,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,oFAAoF;AACpF,KAAK,UAAU,qBAAqB,CAAC,GAAW,EAAE,eAAuB,EAAE,KAA0B;IACnG,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC1B,MAAM,UAAU,CAAC,gCAAgC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,SAAS,IAAI,eAAe,CAAC;IAC9C,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,UAAU,CAAC,gDAAgD,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3B,MAAM,UAAU,CAAC,gDAAgD,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,UAAU,CAAC,gDAAgD,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAgB,EAAE,OAAmB,EAAE,MAAiB;IACtF,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3B,MAAM,UAAU,CAAC,kCAAkC,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAChF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,0BAA0B,CAAC;IAClF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,UAAU,CAAC,0DAA0D,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,MAAM,UAAU,CAAC,uCAAuC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,0BAA0B,CAAC;IAE/E,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACzC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,mBAAmB,EAAE,aAAa;QACxC,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI,EAAE,CAA6B,CAAC;IAC3E,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC;IACtC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,QAAQ,CAChB,WAAW,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,GAAG,EAAE,iDAAiD,EAAE;YAC3G,UAAU,EAAE,MAAM,CAAC,SAAS;SAC7B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,IAAI,MAA0C,CAAC;IAC/C,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAC/B,EAAE,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,uBAAuB,EAAE,EAAE,EAAE,EAC/D,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBACvC,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,mBAAmB,EAAE,oBAAoB;aAChD,CAAC,CAAC;YACH,MAAM,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE,CAA2B,CAAC;YAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9D,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBACrF,MAAM,IAAI,QAAQ,CAChB,WAAW,CACT,mBAAmB,EACnB,2CAA2C,EAC3C,GAAG,EACH,+CAA+C,EAC/C,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CACjC,CACF,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBACxD,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,WAAW,IAAI,MAAM,CAAC,KAAK,KAAK,aAAa,CAAC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAChG,MAAM,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChD,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,mBAAmB,EAAE,aAAa;QACxC,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;QAChC,OAAO,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;QACjC,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC5B,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC3D,MAAM,MAAM,GAAG,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnG,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvF,MAAM,aAAa,GACjB,KAAK,YAAY,UAAU;WACxB,OAAO,MAAM,EAAE,KAAK,KAAK,QAAQ;WACjC,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,KAAK;WACjC,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC;IACzG,MAAM,aAAa,GAAG,OAAO,MAAM,EAAE,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC;IACrF,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACvE,IACE,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC;WAC3B,CAAC,WAAW;WACZ,CAAC,aAAa;WACd,CAAC,aAAa;WACd,OAAO,MAAM,EAAE,KAAK,KAAK,QAAQ;WACjC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EACpC,CAAC;QACD,MAAM,IAAI,QAAQ,CAChB,WAAW,CACT,iBAAiB,EACjB,oBAAoB,EACpB,GAAG,EACH,8DAA8D,EAC9D,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CACjC,CACF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,UAAU,IAAI,OAAO,CAAC,GAAG,OAAO,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACjC,MAAM,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,MAAM,UAAU,CAAC,6CAA6C,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,IAAI,GAAG;QACX,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,KAAK,CAAC,UAAU;QACvB,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;IACF,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACjE,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,kBAAkB,EAAE;YACpC,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;YAC7B,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC;YAC/B,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;YACnB,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;YACvB,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAChC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAC3E,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC/D,IAAI,CAAC,aAAa;QAAE,MAAM,UAAU,CAAC,uCAAuC,CAAC,CAAC;IAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAEhC,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,wBAAwB,aAAa,KAAK,EAAE,KAAK,CAAC,CAAC;AAC/F,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAC1E,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC/D,IAAI,CAAC,aAAa;QAAE,MAAM,UAAU,CAAC,uCAAuC,CAAC,CAAC;IAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAEhC,IAAI,CAAC,GAAG;QAAE,MAAM,UAAU,CAAC,wBAAwB,CAAC,CAAC;IACrD,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,wBAAwB,aAAa,OAAO,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC1H,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAC1E,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC/D,IAAI,CAAC,aAAa;QAAE,MAAM,UAAU,CAAC,uCAAuC,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAEhC,IAAI,CAAC,GAAG;QAAE,MAAM,UAAU,CAAC,wBAAwB,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,wBAAwB,aAAa,OAAO,kBAAkB,CAAC,GAAG,CAAC,EAAE;QAC3E,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QACxE,IAAI;KACL,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAe,CAAC;IACvC,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC;QAC9C,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,eAAe,EAAE;YACjC,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;YAClB,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC;YACpC,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACrC,CAAC;KACH,CAAC;AACJ,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAC7E,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC/D,IAAI,CAAC,aAAa;QAAE,MAAM,UAAU,CAAC,uCAAuC,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAEhC,IAAI,CAAC,GAAG;QAAE,MAAM,UAAU,CAAC,2BAA2B,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO;QAAE,MAAM,UAAU,CAAC,gCAAgC,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,wBAAwB,aAAa,OAAO,kBAAkB,CAAC,GAAG,CAAC,EAAE;QAC3E,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE;KACjD,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE,CAAC;AACjH,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,SAAS,WAAW,CAAC,MAA6B,EAAE,EAAU,EAAE,MAA0B;IACxF,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,0BAA0B,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5D,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,4BAA4B,kBAAkB,CAAC,EAAE,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;IACjG,CAAC;IACD,OAAO,4BAA4B,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,SAAS,aAAa,CAAC,IAAgB,EAAE,MAA6B;IACpE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,UAAU,CAAC,WAAW,MAAM,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;QAC1C,MAAM,UAAU,CAAC,sFAAsF,CAAC,CAAC;IAC3G,CAAC;IACD,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,UAAU,CAAC,uFAAuF,CAAC,CAAC;IAC5G,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,UAAU,CAAC,sGAAsG,CAAC,CAAC;IAC3H,CAAC;IACD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAEjD,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAgB,EAAE,OAAmB,EAAE,QAA+B,EAAE,MAA6B;IAC9H,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAElE,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AACnI,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AAEvI,KAAK,UAAU,UAAU,CAAC,IAAgB,EAAE,OAAmB,EAAE,QAA+B,EAAE,MAA6B;IAC7H,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAEvF,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,IAAI;QAChB,IAAI;KACL,CAAC,CAAC;IACH,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC;QAC9C,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,cAAc,EAAE;YAChC,CAAC,MAAM,EAAE,EAAE,CAAC;YACZ,CAAC,MAAM,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;AAEJ,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AACjI,MAAM,CAAC,MAAM,wBAAwB,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AAErI,KAAK,UAAU,aAAa,CAAC,IAAgB,EAAE,OAAmB,EAAE,QAA+B,EAAE,MAA6B;IAChI,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAEvF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IACH,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC;QAC9C,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,MAAM;YACX,CAAC,CAAC,gCAAgC,EAAE,SAAS,MAAM,EAAE;YACrD,CAAC,CAAC,uBAAuB,MAAM,IAAI,EAAE,EAAE;KAC1C,CAAC;AAEJ,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AACvI,MAAM,CAAC,MAAM,2BAA2B,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AAE3I,KAAK,UAAU,aAAa,CAAC,IAAgB,EAAE,OAAmB,EAAE,QAAmD;IACrH,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE;QAAE,MAAM,UAAU,CAAC,gCAAgC,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAChD,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;QAClG,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,WAAW,EAAE;YAC7B,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;YACpB,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC;YAC1B,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC;YACxB,CAAC,YAAY,EAAE,SAAS,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC;SACzD,CAAC;KACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAAgB,EAAE,OAAmB,EAAE,QAAmD;IACtH,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE;QAAE,MAAM,UAAU,CAAC,iCAAiC,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE;QAClD,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,OAAO;QACvD,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI;QACjD,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IACH,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;QAClG,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,oBAAoB,EAAE;YACtC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;YACpB,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC;SAC3B,CAAC;KACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAgB,EAAE,OAAmB,EAAE,QAAmD;IACxH,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE;QAAE,MAAM,UAAU,CAAC,mCAAmC,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAClH,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAiB,CAAC;IAC7C,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;QAClG,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;KAC7F,CAAC;AACJ,CAAC;AAED,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,8BAA8B;IAC9B,sCAAsC;IACtC,gCAAgC;IAChC,6BAA6B;IAC7B,yBAAyB;IACzB,0BAA0B;IAC1B,sBAAsB;IACtB,kBAAkB;IAClB,mBAAmB;IACnB,wBAAwB;IACxB,2CAA2C;CAC5C,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAE9E,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,CAAC;AAC9F,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAgC;IACzD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;AAC9G,CAAC;AAED,SAAS,eAAe,CAAC,KAAe,EAAE,GAAW,EAAE,KAAc;IACnE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,cAAc,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IAClE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,eAAe,CAAC,KAAmB;IACjD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3D,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEnD,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC;QACzE,IAAI,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAAE,SAAS;QACzD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,CAAC,CAAC;IACf,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAChC,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,KAAK,UAAU,CAAC,CAAC;IACvG,IAAI,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;QACnF,OAAO,IAAI,CAAC,CAAC;IACf,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IACzC,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1E,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAsB;IAC9C,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SACtC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;SACpD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAgB,EAAE,OAAmB,EAAE,QAAmD;IAClH,wEAAwE;IACxE,uEAAuE;IACvE,iFAAiF;IACjF,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE;YACL,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC;YAC1E,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;SACvC;KACF,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAiB,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACjD,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC;QACrE,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK;KACN,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAC3C,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAElD,SAAS,YAAY,CAAC,GAAY;IAChC,OAAO,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC;AAC3D,CAAC;AAED,0EAA0E;AAC1E,SAAS,iBAAiB,CAAC,GAAY;IACrC,IAAI,CAAC,CAAC,GAAG,YAAY,QAAQ,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;IAClC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,EAAU,EACV,MAAmB,EACnB,KAAoC;IAEpC,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IACD,IAAI,OAAiC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC5C,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC;YAAS,CAAC;QACT,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAgB,EAAE,OAAmB,EAAE,QAAmD;IACpH,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChF,IAAI,OAAO,GAAG,uBAAuB,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,SAAS,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvG,MAAM,IAAI,GAAG,CAAC,KAAmB,EAAQ,EAAE;QACzC,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,IAAI,CAAC,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACnH,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,OAAO,IAAI,CAAC,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC;IACF,IAAI,CAAC;QACH,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC;oBACpC,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,uBAAuB;oBAC7B,KAAK,EAAE,EAAE,KAAK,EAAE;oBAChB,OAAO,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;oBAC/E,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAC;gBACH,SAAS,GAAG,IAAI,CAAC;gBACjB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CAAC;oBAChB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAChC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;oBACrB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;wBAClC,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;4BACb,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC;wBACnB,CAAC;wBACD,IAAI,CAAC,KAAK,CAAC,IAAI;4BAAE,SAAS;wBAC1B,IAAI,CAAC;4BACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAiB,CAAC,CAAC;wBAC/C,CAAC;wBAAC,MAAM,CAAC;4BACP,0CAA0C;wBAC5C,CAAC;oBACH,CAAC;oBACD,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBAC9B,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnD,MAAM;gBACR,CAAC;gBACD,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC9B,MAAM;YACR,CAAC;YACD,MAAM,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAChE,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC9B,MAAM;YACR,CAAC;YACD,OAAO,GAAG,SAAS;gBACjB,CAAC,CAAC,uBAAuB;gBACzB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,2BAA2B,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAChH,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QAC1E,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,QAAQ;KACjB,CAAC;AACJ,CAAC;AAiBD;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,QAAmD;IAC1E,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1F,CAAC;IACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,GAAG,MAAM,qDAAqD;YACtE,IAAI,EAAE;gBACJ,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,oEAAoE;aAC7E;SACF,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,GAAG,MAAM,sCAAsC;YACvD,IAAI,EAAE;gBACJ,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,oGAAoG;aAC7G;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,GAAG,MAAM,qCAAqC;QACtD,IAAI,EAAE;YACJ,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,wCAAwC;YACzG,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,KAAK;gBAChC,CAAC,CAAC,yDAAyD;gBAC3D,CAAC,CAAC,6IAA6I;SAClJ;KACF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAY,EAAE,QAAgB;IACxD,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;IAC5B,CAAC;IACD,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,MAAM,CACnB,IAAgB,EAChB,OAAmB,EACnB,QAAmD;IAEnD,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACzC,MAAM,EAAE,QAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;KACxC,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,QAAQ,CAAC,UAAU;KAC5B,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;QAC7B,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAC5B,MAAM,EAAE,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;SACnC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvC,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACtJ,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,QAAQ,CAAC,SAAS,IAAI,QAAQ;KACvC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,SAAsC,CAAC;IAC3C,IAAI,eAAmC,CAAC;IACxC,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAe,GAAG,kBAAkB,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,KAAiC,CAAC;IACtC,IAAI,WAA+B,CAAC;IACpC,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,GAAG,kBAAkB,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IAC9D,CAAC;IACD,uEAAuE;IACvE,6EAA6E;IAC7E,0EAA0E;IAC1E,6EAA6E;IAC7E,uEAAuE;IACvE,MAAM,OAAO,GAAG,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,OAAO,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;IAE9D,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE;SAC7G,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,EAAE;SACjH,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YACjD,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC7B,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,iFAAiF;SACtF,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YACjD,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC7B,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,qEAAqE;SAC1E,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAC1E,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC7B,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,qEAAqE;SAC1E,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpF,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YACjC,MAAM,EAAE,OAAO;gBACb,CAAC,CAAC,8BAA8B;gBAChC,CAAC,CAAC,qEAAqE;SAC1E,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,IAAI,qBAAqB,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE;SACtF,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GACX,WAAW,IAAI,GAAG,UAAU,CAAC,KAAK,iBAAiB,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC3G,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,GAAG,OAAO,kEAAkE;aACrF,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,MAAM;gBACd,MAAM,EACJ,GAAG,OAAO,6FAA6F;oBACvG,0FAA0F;aAC7F,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,GAAG,OAAO,+EAA+E;aAClG,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzE,KAAK,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,sBAAsB,CAAU,EAAE,CAAC;QAC1F,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACnE,MAAM,IAAI,GAAG,KAAK,KAAK,sBAAsB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC3B,MAAM,QAAQ,GAAG,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;mBAC5E,UAAU,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,MAAM,cAAc,GAAG,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;mBAClF,iBAAiB,IAAI,IAAI,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ;mBACtG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;gBACvC,CAAC,CAAE,IAAI,CAAC,eAA2C;gBACnD,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,EAAU,EAAE;oBAC/D,wEAAwE;oBACxE,4EAA4E;oBAC5E,8CAA8C;oBAC9C,MAAM,QAAQ,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACzF,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC/D,OAAO,GAAG,UAAU,KAAK,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACjE,CAAC;oBACD,QAAQ,UAAU,EAAE,CAAC;wBACnB,KAAK,wBAAwB;4BAC3B,OAAO,0IAA0I,CAAC;wBACpJ,KAAK,QAAQ;4BACX,OAAO,oFAAoF,CAAC;wBAC9F;4BACE,+EAA+E;4BAC/E,OAAO,0HAA0H,CAAC;oBACtI,CAAC;gBACH,CAAC,CAAC,CAAC,CAAC,CAAC;YACL,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;gBAC7C,MAAM,EAAE,UAAU,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,+CAA+C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;aACtI,CAAC,CAAC;YACH,IAAI,KAAK,KAAK,sBAAsB,EAAE,CAAC;gBACrC,qEAAqE;gBACrE,iDAAiD;gBACjD,MAAM,QAAQ,GAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAkB,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACxE,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC;gBAC7C,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,UAAU;oBAChB,oEAAoE;oBACpE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;oBACnC,MAAM,EAAE,SAAS;wBACf,CAAC,CAAC,oCAAoC;wBACtC,CAAC,CAAC,+EAA+E;iBACpF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC;YACrH,MAAM,IAAI,GAAG,KAAK,KAAK,sBAAsB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAiB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACxE,yEAAyE;IACzE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI;WAC3E,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACzE,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9F,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO;QACzD,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;KAC9J,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/help-text.d.ts b/plugins/screenrig/cli/dist/help-text.d.ts index 4a69e8b2..81cf672b 100644 --- a/plugins/screenrig/cli/dist/help-text.d.ts +++ b/plugins/screenrig/cli/dist/help-text.d.ts @@ -1,5 +1,2 @@ export declare const CREDIT_HELP = "Credits:\n Remaining is a nonnegative whole number (never negative; empty remaining\n displays 0). Below 1000 credits, authenticated responses may warn\n credits_low. Until 1 Jan 2027 08:00 UTC (midnight PT), production fails open:\n billed commands are not rejected for empty remaining and do not return\n HTTP 402. After that instant, remaining below 1 credit is payment_required.\n Empty remaining does not stop or shut off screens in this window.\n media generate is the exception: it is billed per token.\n Text input is $10 / 1M tokens, image input is $16 / 1M, image output is\n $60 / 1M. Quality changes how detailed the still is and therefore how\n many tokens it uses. Remaining that cannot cover the debit returns\n payment_required / 402, including during this window."; -export declare const SUMMARIES: Record<string, string>; -export declare const ACTION_SUMMARIES: Record<string, string>; -export declare const NOTES: Record<string, string>; //# sourceMappingURL=help-text.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/help-text.d.ts.map b/plugins/screenrig/cli/dist/help-text.d.ts.map index 511ffd32..30cdb694 100644 --- a/plugins/screenrig/cli/dist/help-text.d.ts.map +++ b/plugins/screenrig/cli/dist/help-text.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"help-text.d.ts","sourceRoot":"","sources":["../src/help-text.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,4xBAA4xB,CAAC;AAErzB,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAmB5C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAkBnD,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOxC,CAAC"} \ No newline at end of file +{"version":3,"file":"help-text.d.ts","sourceRoot":"","sources":["../src/help-text.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,4xBAA4xB,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/help-text.js b/plugins/screenrig/cli/dist/help-text.js index 13a2723f..1dffd6eb 100644 --- a/plugins/screenrig/cli/dist/help-text.js +++ b/plugins/screenrig/cli/dist/help-text.js @@ -1,50 +1,2 @@ -import { LOOK_AT_THE_CONTACT_SHEET } from "./playlist-preview.js"; export const CREDIT_HELP = "Credits:\n Remaining is a nonnegative whole number (never negative; empty remaining\n displays 0). Below 1000 credits, authenticated responses may warn\n credits_low. Until 1 Jan 2027 08:00 UTC (midnight PT), production fails open:\n billed commands are not rejected for empty remaining and do not return\n HTTP 402. After that instant, remaining below 1 credit is payment_required.\n Empty remaining does not stop or shut off screens in this window.\n media generate is the exception: it is billed per token.\n Text input is $10 / 1M tokens, image input is $16 / 1M, image output is\n $60 / 1M. Quality changes how detailed the still is and therefore how\n many tokens it uses. Remaining that cannot cover the debit returns\n payment_required / 402, including during this window."; -export const SUMMARIES = { - account: "Inspect your account and credits", - agent: "Enroll, connect, and manage this agent", - dashboard: "Open the account dashboard", - app: "Pack, upload, and inspect applications", - media: "Generate, upload, and manage images and videos", - compose: "Render and inspect local page compositions", - playlist: "Author, validate, preview, and manage playlists", - screen: "Pair, configure, and inspect screens", - browser: "Complete browser Player setup", - kv: "Read and write application key-value data", - comment: "Read and manage screen and playlist comments", - operations: "Inspect, wait for, or cancel operations", - events: "List or follow account events", - playback: "Inspect playback records", - feedback: "Submit bugs and feature requests", - doctor: "Check this CLI installation and configuration", - version: "Show CLI and protocol versions", - help: "Discover commands and their options", -}; -export const ACTION_SUMMARIES = { - enroll: "Create the first agent with an email address", connect: "Connect this installation with approval", - status: "Inspect this agent's connection", disconnect: "Disconnect this agent", - pack: "Pack a local application directory", upload: "Upload a local file or directory", - update: "Update an existing resource", list: "List resources", show: "Inspect a resource", - generate: "Generate an image from a prompt", download: "Download media to a file", - "upload-batch": "Upload a manifest with resumable state", delete: "Delete a resource", - catalog: "Browse local composition capabilities and examples", batch: "Render a batch of compositions", - render: "Render a composition locally", validate: "Validate a playlist file", - preview: "Render playlist previews and a contact sheet", templates: "Browse playlist templates", - create: "Create a playlist from a file", export: "Export a playlist bundle", import: "Import a playlist bundle", - pair: "Claim a Player pairing code", provision: "Create a screen and browser handoff", - setup: "Complete browser setup from a code", assign: "Assign a playlist to a screen", - "set-timezone": "Set a screen's timezone", archive: "Archive a screen", unarchive: "Restore an archived screen", - "rotate-public-id": "Rotate a screen's public identifier", toast: "Show a temporary screen message", - screenshot: "Capture and download a screen screenshot", get: "Read the current value or operation", - set: "Write a value", wait: "Wait for an operation to finish", cancel: "Cancel an operation", - follow: "Stream account events", bug: "Submit a bug report", feature: "Submit a feature request", -}; -export const NOTES = { - "agent connect": "Approval expires after 24 hours; --timeout defaults to 86400000 ms. Retry agent connect to resume after an interrupted wait.", - "media generate": CREDIT_HELP, - "account show": CREDIT_HELP, - "compose render": LOOK_AT_THE_CONTACT_SHEET, - "compose batch": `Render 1 to 2000 pages. ${LOOK_AT_THE_CONTACT_SHEET}`, - "playlist preview": LOOK_AT_THE_CONTACT_SHEET, -}; //# sourceMappingURL=help-text.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/help-text.js.map b/plugins/screenrig/cli/dist/help-text.js.map index 48a7daad..d1c28e87 100644 --- a/plugins/screenrig/cli/dist/help-text.js.map +++ b/plugins/screenrig/cli/dist/help-text.js.map @@ -1 +1 @@ -{"version":3,"file":"help-text.js","sourceRoot":"","sources":["../src/help-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,MAAM,CAAC,MAAM,WAAW,GAAG,yxBAAyxB,CAAC;AAErzB,MAAM,CAAC,MAAM,SAAS,GAA2B;IAC/C,OAAO,EAAE,kCAAkC;IAC3C,KAAK,EAAE,wCAAwC;IAC/C,SAAS,EAAE,4BAA4B;IACvC,GAAG,EAAE,wCAAwC;IAC7C,KAAK,EAAE,gDAAgD;IACvD,OAAO,EAAE,4CAA4C;IACrD,QAAQ,EAAE,iDAAiD;IAC3D,MAAM,EAAE,sCAAsC;IAC9C,OAAO,EAAE,+BAA+B;IACxC,EAAE,EAAE,2CAA2C;IAC/C,OAAO,EAAE,8CAA8C;IACvD,UAAU,EAAE,yCAAyC;IACrD,MAAM,EAAE,+BAA+B;IACvC,QAAQ,EAAE,0BAA0B;IACpC,QAAQ,EAAE,kCAAkC;IAC5C,MAAM,EAAE,+CAA+C;IACvD,OAAO,EAAE,gCAAgC;IACzC,IAAI,EAAE,qCAAqC;CAC5C,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAA2B;IACtD,MAAM,EAAE,8CAA8C,EAAE,OAAO,EAAE,yCAAyC;IAC1G,MAAM,EAAE,iCAAiC,EAAE,UAAU,EAAE,uBAAuB;IAC9E,IAAI,EAAE,oCAAoC,EAAE,MAAM,EAAE,kCAAkC;IACtF,MAAM,EAAE,6BAA6B,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,oBAAoB;IACzF,QAAQ,EAAE,iCAAiC,EAAE,QAAQ,EAAE,0BAA0B;IACjF,cAAc,EAAE,wCAAwC,EAAE,MAAM,EAAE,mBAAmB;IACrF,OAAO,EAAE,oDAAoD,EAAE,KAAK,EAAE,gCAAgC;IACtG,MAAM,EAAE,8BAA8B,EAAE,QAAQ,EAAE,0BAA0B;IAC5E,OAAO,EAAE,8CAA8C,EAAE,SAAS,EAAE,2BAA2B;IAC/F,MAAM,EAAE,+BAA+B,EAAE,MAAM,EAAE,0BAA0B,EAAE,MAAM,EAAE,0BAA0B;IAC/G,IAAI,EAAE,6BAA6B,EAAE,SAAS,EAAE,qCAAqC;IACrF,KAAK,EAAE,oCAAoC,EAAE,MAAM,EAAE,+BAA+B;IACpF,cAAc,EAAE,yBAAyB,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,4BAA4B;IAC/G,kBAAkB,EAAE,qCAAqC,EAAE,KAAK,EAAE,iCAAiC;IACnG,UAAU,EAAE,0CAA0C,EAAE,GAAG,EAAE,qCAAqC;IAClG,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,iCAAiC,EAAE,MAAM,EAAE,qBAAqB;IAC5F,MAAM,EAAE,uBAAuB,EAAE,GAAG,EAAE,qBAAqB,EAAE,OAAO,EAAE,0BAA0B;CACjG,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAA2B;IAC3C,eAAe,EAAE,8HAA8H;IAC/I,gBAAgB,EAAE,WAAW;IAC7B,cAAc,EAAE,WAAW;IAC3B,gBAAgB,EAAE,yBAAyB;IAC3C,eAAe,EAAE,2BAA2B,yBAAyB,EAAE;IACvE,kBAAkB,EAAE,yBAAyB;CAC9C,CAAC"} \ No newline at end of file +{"version":3,"file":"help-text.js","sourceRoot":"","sources":["../src/help-text.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,yxBAAyxB,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/help.d.ts b/plugins/screenrig/cli/dist/help.d.ts index f6e3e22f..1b105f49 100644 --- a/plugins/screenrig/cli/dist/help.d.ts +++ b/plugins/screenrig/cli/dist/help.d.ts @@ -32,5 +32,4 @@ export declare function leafCommandPaths(command: Command): string[]; /** JSON discovery and human help both read the actual Commander command tree. */ export declare function describeHelp(command: Command): HelpDocument; export declare function commandHelp(path?: readonly string[]): HelpDocument; -export declare const ROOT_HELP: string; //# sourceMappingURL=help.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/help.d.ts.map b/plugins/screenrig/cli/dist/help.d.ts.map index 53a87a31..ea200cc9 100644 --- a/plugins/screenrig/cli/dist/help.d.ts.map +++ b/plugins/screenrig/cli/dist/help.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAIjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;IACpB,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5G,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACpG,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1G,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAc3D;AAQD,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAuB3D;AAED,wBAAgB,WAAW,CAAC,IAAI,GAAE,SAAS,MAAM,EAAO,GAAG,YAAY,CAItE;AAED,eAAO,MAAM,SAAS,QAAsB,CAAC"} \ No newline at end of file +{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAIjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;IACpB,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5G,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACpG,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1G,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAc3D;AAQD,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAsB3D;AAED,wBAAgB,WAAW,CAAC,IAAI,GAAE,SAAS,MAAM,EAAO,GAAG,YAAY,CAItE"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/help.js b/plugins/screenrig/cli/dist/help.js index 2d65c29f..db65f12d 100644 --- a/plugins/screenrig/cli/dist/help.js +++ b/plugins/screenrig/cli/dist/help.js @@ -1,5 +1,5 @@ import { commandPath, createCommandTree, findCommand } from "./command-tree.js"; -import { NOTES } from "./help-text.js"; +import { commandNotes } from "./cli-commands/notes.js"; import { usageError } from "./problems.js"; export { CREDIT_HELP } from "./help-text.js"; /** Canonical and alias paths of every descendant leaf, in tree order. */ @@ -30,8 +30,7 @@ function commandInventory(command) { export function describeHelp(command) { const helper = command.createHelp(); const path = commandPath(command); - const note = NOTES[path.join(" ")]; - const notes = note ? [note] : []; + const notes = commandNotes(command); const inventory = commandInventory(command); const describeOption = (option) => ({ name: option.long, type: (option.negate || option.isBoolean()) ? "boolean" : "value", description: option.description, required: option.mandatory, @@ -57,5 +56,4 @@ export function commandHelp(path = []) { throw usageError("Unknown help topic."); return describeHelp(command); } -export const ROOT_HELP = commandHelp().usage; //# sourceMappingURL=help.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/help.js.map b/plugins/screenrig/cli/dist/help.js.map index 7eae9d47..3c7f3377 100644 --- a/plugins/screenrig/cli/dist/help.js.map +++ b/plugins/screenrig/cli/dist/help.js.map @@ -1 +1 @@ -{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/main.d.ts.map b/plugins/screenrig/cli/dist/main.d.ts.map index da57c48e..36f76f62 100644 --- a/plugins/screenrig/cli/dist/main.d.ts.map +++ b/plugins/screenrig/cli/dist/main.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAqB9C,wBAAsB,GAAG,CAAC,OAAO,GAAE,UAA6B,GAAG,OAAO,CAAC,MAAM,CAAC,CA+CjF;AAED,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"} \ No newline at end of file +{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAqB9C,wBAAsB,GAAG,CAAC,OAAO,GAAE,UAA6B,GAAG,OAAO,CAAC,MAAM,CAAC,CAmDjF;AAED,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/main.js b/plugins/screenrig/cli/dist/main.js index 582e199a..d57d4f3c 100644 --- a/plugins/screenrig/cli/dist/main.js +++ b/plugins/screenrig/cli/dist/main.js @@ -1,5 +1,4 @@ -import { parseArgv } from "./argv.js"; -import { dispatch } from "./commands.js"; +import { executeCommand } from "./program.js"; import { applyCreditsLowToSuccess, observedCreditsRemaining } from "./credits.js"; import { errorEnvelope } from "./envelope.js"; import { ExitCode } from "./exit-codes.js"; @@ -25,16 +24,20 @@ function applyLogSinkToSuccess(result, dropped) { return { ...result, envelope: { ...result.envelope, warnings }, human }; } export async function run(runtime = processRuntime()) { - const json = runtime.argv.includes("--json"); + // Only switches before the end-of-options marker select presentation. + const end = runtime.argv.indexOf("--"); + const options = end < 0 ? runtime.argv : runtime.argv.slice(0, end); + const explicitJson = options.includes("--json"); + const json = explicitJson || !options.includes("--human"); try { - const args = parseArgv(runtime.argv); - const dispatched = applyCreditsLowToSuccess(await dispatch(args, runtime), observedCreditsRemaining(runtime)); + const dispatched = applyCreditsLowToSuccess(await executeCommand(runtime.argv, runtime), observedCreditsRemaining(runtime)); runtime.logger?.endRun(); const result = applyLogSinkToSuccess(dispatched, runtime.logger?.droppedLines() ?? 0); - if (json || args.flags.json === true) { - if (result.human) { - runtime.stdout.write(`${JSON.stringify(result.envelope)}\n`); - } + if (result.output === "stream") { + return result.exitCode; + } + if (json && (result.output !== "help" || explicitJson)) { + runtime.stdout.write(`${JSON.stringify(result.envelope)}\n`); } else if (result.human) { runtime.stdout.write(`${result.human}\n`); diff --git a/plugins/screenrig/cli/dist/main.js.map b/plugins/screenrig/cli/dist/main.js.map index 1e87c6df..396e48df 100644 --- a/plugins/screenrig/cli/dist/main.js.map +++ b/plugins/screenrig/cli/dist/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/media-upload.js b/plugins/screenrig/cli/dist/media-upload.js index ef08077f..e9812b85 100644 --- a/plugins/screenrig/cli/dist/media-upload.js +++ b/plugins/screenrig/cli/dist/media-upload.js @@ -9,7 +9,7 @@ import { assertDeclaredTypeMatchesBytes } from "./media/sniff.js"; import { readWebpContainer } from "./media/webp.js"; import { CliError, networkError, usageError } from "./problems.js"; import { fetchSignedRawPut } from "./runtime.js"; -const MEDIA_PUT_NOT_READY = "Private media upload did not complete because the service is not ready. Run screenrig --json doctor and check the ready result before retrying."; +const MEDIA_PUT_NOT_READY = "Private media upload did not complete because the service is not ready. Run screenrig doctor and check the ready result before retrying."; export const SUPPORTED_MEDIA_CONTENT_TYPES = [ "image/png", "image/jpeg", diff --git a/plugins/screenrig/cli/dist/media-upload.js.map b/plugins/screenrig/cli/dist/media-upload.js.map index 5f1fe19b..7dc0626a 100644 --- a/plugins/screenrig/cli/dist/media-upload.js.map +++ b/plugins/screenrig/cli/dist/media-upload.js.map @@ -1 +1 @@ -{"version":3,"file":"media-upload.js","sourceRoot":"","sources":["../src/media-upload.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"media-upload.js","sourceRoot":"","sources":["../src/media-upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAA+C,MAAM,sBAAsB,CAAC;AACvG,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAsC,MAAM,cAAc,CAAC;AAErF,MAAM,mBAAmB,GACvB,0IAA0I,CAAC;AAE7I,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,WAAW;IACX,YAAY;CACJ,CAAC;AAkBX,MAAM,UAAU,GAA8C;IAC5D,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,YAAY;CACtB,CAAC;AAEF,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAQ,6BAAmD,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB,EAAE,mBAA4B,EAAE,cAAuB;IAC9G,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,GAAG;QAAE,MAAM,UAAU,CAAC,wCAAwC,CAAC,CAAC;IACvH,MAAM,WAAW,GAAG,mBAAmB,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5F,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,MAAM,UAAU,CAAC,uCAAuC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvG,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,WAAW,KAAK,YAAY,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;QACvE,MAAM,UAAU,CACd,4GAA4G,CAC7G,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChE,IAAI,cAAc,KAAK,SAAS,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAC9D,MAAM,UAAU,CAAC,2FAA2F,CAAC,CAAC;IAChH,CAAC;IACD,MAAM,MAAM,GAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IACvF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;AACjE,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IAC/C,4EAA4E;IAC5E,gFAAgF;IAChF,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,UAAU,CAAC,qCAAqC,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,UAAU,CAAC,qCAAqC,CAAC,CAAC;QAC9E,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC;YAAE,MAAM,UAAU,CAAC,+BAA+B,CAAC,CAAC;QACvE,IAAI,MAAM,CAAC,IAAI,GAAG,aAAa,EAAE,CAAC;YAChC,MAAM,UAAU,CACd,wFAAwF;gBACtF,+EAA+E,CAClF,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;YAC5G,IAAI,SAAS,KAAK,CAAC;gBAAE,MAAM,UAAU,CAAC,qDAAqD,CAAC,CAAC;YAC7F,MAAM,IAAI,SAAS,CAAC;QACtB,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;YACvG,MAAM,UAAU,CAAC,qDAAqD,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,QAAQ;YAAE,MAAM,KAAK,CAAC;QAC3C,MAAM,UAAU,CAAC,yBAAyB,CAAC,CAAC;IAC9C,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAyB,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;IACtF,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC;QAC5F,CAAC,KAAK,CAAC,SAAS,IAAI,OAAO,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClG,MAAM,UAAU,CAAC,uDAAuD,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK;QAAE,MAAM,UAAU,CAAC,0DAA0D,CAAC,CAAC;IACzG,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QAAC,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,MAAM,UAAU,CAAC,mDAAmD,CAAC,CAAC;IAAC,CAAC;IAC5H,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC/F,MAAM,UAAU,CAAC,kDAAkD,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACxF,MAAM,UAAU,CAAC,2DAA2D,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAChG,MAAM,UAAU,CAAC,2DAA2D,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,KAAK;QAAE,MAAM,UAAU,CAAC,iDAAiD,CAAC,CAAC;IAC3H,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAC5G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAA6B,EAC7B,OAAoC,EACpC,YAA0B;IAE1B,OAAO,yBAAyB,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,QAAgB,EAChB,OAAoC,EACpC,YAA0B;IAE1B,OAAO,yBAAyB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,IAA+B,EAC/B,OAAoC,EACpC,YAA0B;IAE1B,OAAO,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,IAA4C,EAC5C,OAAoC,EACpC,YAA0B;IAE1B,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,YAAY,CAAC;YAC5B,GAAG,EAAE,OAAO,CAAC,SAAS;YACtB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI;YACJ,WAAW,EAAE,MAAM;YACnB,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACpD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,YAAY,CAAC,mBAAmB,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,YAAY,CAAC,sCAAsC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;QAAE,MAAM,UAAU,CAAC,gDAAgD,CAAC,CAAC;IACrG,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACzG,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC;QAAE,MAAM,UAAU,CAAC,gDAAgD,CAAC,CAAC;IAC5H,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IACvD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAChD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAoB;IAC/C,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC3C,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC;AAgED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,KAA2B;IACzE,+EAA+E;IAC/E,6CAA6C;IAC7C,MAAM,8BAA8B,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAClF,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACvD,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC;QACvE,MAAM,UAAU,CAAC,wCAAwC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,SAAsC,CAAC;IAC3C,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACvB,SAAS,GAAG,MAAM,kBAAkB,CAAC;YACnC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,UAAU;YAC1B,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;YAC9C,OAAO,EAAE,KAAK,CAAC,gBAAgB;YAC/B,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,SAAS;YACxB,CAAC,CAAC,MAAM,kBAAkB,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,cAAc,CAAC;YAC/F,CAAC,CAAC,MAAM,kBAAkB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC1E,uEAAuE;QACvE,2EAA2E;QAC3E,yEAAyE;QACzE,QAAQ,CAAC,WAAW,CAAC,eAAe,GAAG,cAAc,CAAC;QACtD,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC5B,QAAQ,CAAC,WAAW,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACvC,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,EAAE,UAAU,EAAE,CAAC;YAC1B,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,QAAuC;IACpF,IAAI,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;QACpC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAsC;IAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,oDAAoD,EAAE,CAAC;IAC1F,CAAC;IACD,OAAO;QACL,OAAO,EAAE,CAAC,SAAS,CAAC,WAAW;QAC/B,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,YAAY,EAAE,SAAS,CAAC,WAAW;QACnC,YAAY,EAAE,SAAS,CAAC,WAAW;QACnC,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,YAAY,EAAE,SAAS,CAAC,WAAW;QACnC,aAAa,EAAE,SAAS,CAAC,YAAY;QACrC,mBAAmB,EAAE,SAAS,CAAC,kBAAkB;QACjD,WAAW,EAAE,SAAS,CAAC,UAAU;QACjC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,QAA6B,EAAE,SAAsC;IAC3F,MAAM,QAAQ,GAAsC,CAAC,SAAS,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3I,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;QACvB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC;QAChF,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,eAAe;YACrB,OAAO,EACL,GAAG,QAAQ,CAAC,WAAW,CAAC,eAAe,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,QAAQ,WAAW,IAAI,YAAY,WAAW;gBACtH,kBAAkB,KAAK,IAAI,MAAM,eAAe,OAAO,sDAAsD;gBAC7G,0HAA0H;SAC7H,CAAC,CAAC;IACL,CAAC;IACD,4EAA4E;IAC5E,8EAA8E;IAC9E,+BAA+B;IAC/B,MAAM,eAAe,GAAG,6BAA6B,CACnD,QAAQ,CAAC,WAAW,CAAC,eAAe,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,CACtE,CAAC;IACF,IAAI,eAAe;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;IAC3F,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAA2B,EAC3B,YAA+B;IAE/B,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC;IACjE,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC5C,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,uBAAuB;QAC7B,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,UAAU;QAC1B,IAAI,EAAE,QAAQ,CAAC,WAAW;KAC3B,CAAC,CAAC;IACH,IAAI,mBAAmB,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,mBAAmB,EAAE,CAAC;QACzE,MAAM,UAAU,CAAC,sFAAsF,CAAC,CAAC;IAC3G,CAAC;IACD,MAAM,OAAO,GAAG,0BAA0B,CAAC,mBAAmB,CAAC,IAA0B,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACpH,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,IAAI,iBAAiB,EAAE,CAAC,CAAC;IAC5F,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACvC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,yBAAyB,OAAO,CAAC,EAAE,SAAS;QAClD,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,0BAA0B,CAAC,UAAU,CAAC;QACtD,IAAI,EAAE,QAAQ,CAAC,MAAM;KACtB,CAAC,CAAC;IACH,IAAI,SAAS,GAAG,cAAc,CAAC,IAAiB,CAAC;IACjD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,SAAS,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,EAAE;YACtD,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,OAAO;YACrC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAClF,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,mBAAmB,CAChC,MAAiB,EACjB,OAAe;IAEf,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,OAAO,EAAE,EAAE,CAAC,CAAC;QACxF,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,OAAO,IAAI,EAAE,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5G,MAAM,cAAc,GAClB,OAAO,IAAI,EAAE,eAAe,KAAK,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;QAClH,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/G,CAAC;IAAC,MAAM,CAAC;QACP,6EAA6E;QAC7E,8CAA8C;QAC9C,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAA2B;IAC/D,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnG,OAAO;YACL,GAAG,SAAS;YACZ,MAAM,EAAE;gBACN,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ;gBACvE,iBAAiB,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ;gBAC7D,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;gBACxD,GAAG,CAAC,MAAM,CAAC,eAAe,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe;oBAC7E,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,EAAE;oBAClG,CAAC,CAAC,EAAE,CAAC;gBACP,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY;gBAC5D,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;gBAC9C,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM;gBAChD,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjG;YACD,SAAS,EAAE,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC;YACpD,QAAQ,EAAE,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC;SACxE,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,wBAAwB,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/pack/limits.js b/plugins/screenrig/cli/dist/pack/limits.js index 3f7e1f77..8349cf02 100644 --- a/plugins/screenrig/cli/dist/pack/limits.js +++ b/plugins/screenrig/cli/dist/pack/limits.js @@ -5,7 +5,7 @@ export { DEFAULT_ARCHIVE_LIMITS }; export function packError(code, detail) { return new CliError(makeProblem(code, "Application archive rejected", 400, detail, { next: { - command: "screenrig app pack <directory> --json", + command: "screenrig app pack <directory>", reason: "Fix the named path or ignore rule, then rebuild the archive locally.", }, }), ExitCode.Usage); diff --git a/plugins/screenrig/cli/dist/pack/limits.js.map b/plugins/screenrig/cli/dist/pack/limits.js.map index 301e3f1a..57a69977 100644 --- a/plugins/screenrig/cli/dist/pack/limits.js.map +++ b/plugins/screenrig/cli/dist/pack/limits.js.map @@ -1 +1 @@ -{"version":3,"file":"limits.js","sourceRoot":"","sources":["../../src/pack/limits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,MAAc;IACpD,OAAO,IAAI,QAAQ,CACjB,WAAW,CAAC,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,MAAM,EAAE;QAC7D,IAAI,EAAE;YACJ,OAAO,EAAE,uCAAuC;YAChD,MAAM,EAAE,sEAAsE;SAC/E;KACF,CAAC,EACF,QAAQ,CAAC,KAAK,CACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,SAAkD;IAElD,OAAO,EAAE,GAAG,sBAAsB,EAAE,GAAG,SAAS,EAAE,CAAC;AACrD,CAAC"} \ No newline at end of file +{"version":3,"file":"limits.js","sourceRoot":"","sources":["../../src/pack/limits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,MAAc;IACpD,OAAO,IAAI,QAAQ,CACjB,WAAW,CAAC,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,MAAM,EAAE;QAC7D,IAAI,EAAE;YACJ,OAAO,EAAE,gCAAgC;YACzC,MAAM,EAAE,sEAAsE;SAC/E;KACF,CAAC,EACF,QAAQ,CAAC,KAAK,CACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,SAAkD;IAElD,OAAO,EAAE,GAAG,sBAAsB,EAAE,GAAG,SAAS,EAAE,CAAC;AACrD,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/playlist-bundle.js b/plugins/screenrig/cli/dist/playlist-bundle.js index f607e9ea..7764090b 100644 --- a/plugins/screenrig/cli/dist/playlist-bundle.js +++ b/plugins/screenrig/cli/dist/playlist-bundle.js @@ -898,7 +898,7 @@ function rethrowNameConflict(error, state) { ...error.problem, detail: `${error.problem.detail} Playlist names are unique per account, and this bundle's name is already taken.`, next: { - command: `screenrig --json playlist import ${state.directory} --name NAME`, + command: `screenrig playlist import ${state.directory} --name NAME`, reason: "Import as a new playlist under a different name, or replace the existing one with --update ID --if-match REVISION.", }, }, error.exitCode, error.warnings); diff --git a/plugins/screenrig/cli/dist/playlist-bundle.js.map b/plugins/screenrig/cli/dist/playlist-bundle.js.map index eb9a2580..40af09c8 100644 --- a/plugins/screenrig/cli/dist/playlist-bundle.js.map +++ b/plugins/screenrig/cli/dist/playlist-bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"playlist-bundle.js","sourceRoot":"","sources":["../src/playlist-bundle.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"playlist-bundle.js","sourceRoot":"","sources":["../src/playlist-bundle.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/playlist-templates.js b/plugins/screenrig/cli/dist/playlist-templates.js index feebbbe5..efecfea0 100644 --- a/plugins/screenrig/cli/dist/playlist-templates.js +++ b/plugins/screenrig/cli/dist/playlist-templates.js @@ -426,8 +426,8 @@ const TEMPLATE_BY_ID = new Map(SLIDE_TEMPLATES.map((template) => [template.id, t export function playlistTemplateCatalog() { return { compose: { - catalog_command: "screenrig --json compose catalog", - render_command: "screenrig --json compose render <file>", + catalog_command: "screenrig compose catalog", + render_command: "screenrig compose render <file>", wire_primitives: [...WIRE_PRIMITIVES], }, canvas: { @@ -493,7 +493,7 @@ function formatCatalogSlot(slot) { } function vectorChromeError(label) { throw usageError(`${label} would emit native text, box, or line primitives. Compose a still with compose render, upload it as image, and use that image primitive on the page.`, { - command: "screenrig --json compose catalog", + command: "screenrig compose catalog", reason: "List the local compose catalog, then run compose render and media upload.", }); } @@ -509,7 +509,7 @@ function assertWirePrimitives(page, index) { const category = primitive.primitive; if (typeof category !== "string" || !WIRE_PRIMITIVES.includes(category)) { throw usageError(`${label} primitives[${primitiveIndex}].primitive must be ${WIRE_PRIMITIVES.join("|")}. Compose copy and chrome locally.`, { - command: "screenrig --json compose catalog", + command: "screenrig compose catalog", reason: "List the local compose catalog, then run compose render and media upload.", }); } @@ -601,7 +601,7 @@ function resolveTemplate(value) { if (typeof value !== "string" || !TEMPLATE_BY_ID.has(value)) { const named = typeof value === "string" && value.length > 0 ? ` ${value}` : ""; throw usageError(`Unknown template${named}. Run playlist templates for the closed catalog.`, { - command: "screenrig --json playlist templates", + command: "screenrig playlist templates", reason: "List the closed slide templates and their slots.", }); } diff --git a/plugins/screenrig/cli/dist/playlist-templates.js.map b/plugins/screenrig/cli/dist/playlist-templates.js.map index c7b77f8d..5a0d48b0 100644 --- a/plugins/screenrig/cli/dist/playlist-templates.js.map +++ b/plugins/screenrig/cli/dist/playlist-templates.js.map @@ -1 +1 @@ -{"version":3,"file":"playlist-templates.js","sourceRoot":"","sources":["../src/playlist-templates.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"playlist-templates.js","sourceRoot":"","sources":["../src/playlist-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAkB,CAAC;AACrD,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAC5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAC5C,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAC3C,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;AACzC,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAe,CAAC;AACjD,qFAAqF;AACrF,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,IAAI,EAAE,WAAoB,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;AACzF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAAC;AACrD,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,WAAW;IACX,YAAY;IACZ,aAAa;IACb,UAAU;IACV,YAAY;CACJ,CAAC;AACX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,SAAS;IACT,WAAW;IACX,WAAW;IACX,YAAY;IACZ,SAAS;IACT,SAAS;IACT,UAAU;CACF,CAAC;AACX,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AACtE,MAAM,CAAC,MAAM,sBAAsB,GACjC,6FAA6F,CAAC;AAChG,oEAAoE;AACpE,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,EAAE,EAAE,KAAK;IACT,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,SAAkB,EAAE,UAAU,EAAE,WAAW,EAAE;IAChG,UAAU,EAAE,EAAE,IAAI,EAAE,WAAoB,EAAE,WAAW,EAAE,GAAG,EAAE;IAC5D,OAAO,EAAE,EAAE,IAAI,EAAE,UAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtD,UAAU,EAAE;QACV;YACE,EAAE,EAAE,YAAY;YAChB,SAAS,EAAE,OAAgB;YAC3B,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE;YAC3D,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;YAC/C,KAAK,EAAE,CAAC;YACR,WAAW,EAAE,OAAgB;YAC7B,MAAM,EAAE;gBACN,IAAI,EAAE,MAAe;gBACrB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC3B,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAe;aACtB;SACF;KACF;CACF,CAAC;AACF,oDAAoD;AACpD,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,EAAE,EAAE,OAAO;IACX,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,SAAkB,EAAE,UAAU,EAAE,WAAW,EAAE;IAChG,UAAU,EAAE,EAAE,IAAI,EAAE,WAAoB,EAAE,WAAW,EAAE,GAAG,EAAE;IAC5D,OAAO,EAAE,EAAE,IAAI,EAAE,UAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtD,UAAU,EAAE;QACV;YACE,EAAE,EAAE,OAAO;YACX,SAAS,EAAE,OAAgB;YAC3B,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAa,EAAE,QAAQ,EAAE,WAAW,EAAE;YACtD,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;YACjD,KAAK,EAAE,CAAC;YACR,WAAW,EAAE,SAAkB;YAC/B,MAAM,EAAE;gBACN,IAAI,EAAE,MAAe;gBACrB,SAAS,EAAE,IAAa;gBACxB,KAAK,EAAE,MAAe;aACvB;SACF;KACF;CACF,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,IAAI,EAAE,UAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAoB1E,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,IAAI;IACJ,UAAU;IACV,OAAO;IACP,QAAQ;IACR,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,mBAAmB,CAAC;AAoDlC,MAAM,GAAG,GAAc;IACrB,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;IAC7C,KAAK,EAAE,eAAe;CACvB,CAAC;AAEF,MAAM,IAAI,GAAmB;IAC3B,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE,EAAE,GAAG,gBAAgB,EAAE;IAC7B,WAAW,EAAE,SAAS;IACtB,MAAM,EAAE,OAAO;IACf,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,4EAA4E;AAC5E,8EAA8E;AAC9E,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,GAAY,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;AACpG,MAAM,QAAQ,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,GAAY,EAAE,CAAC;AAChF,MAAM,WAAW,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,GAAY,EAAE,CAAC;AACnF,MAAM,GAAG,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,GAAY,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC5F,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,GAAY,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAE/F,SAAS,IAAI,CACX,EAAU,EACV,QAAiB,EACjB,IAAU,EACV,IAOC;IAED,OAAO;QACL,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,QAAQ;QACR,IAAI;QACJ,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM;QAC3B,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK;QAC5C,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CACd,EAAU,EACV,QAAiB,EACjB,IAAU,EACV,cAAmC,OAAO;IAE1C,OAAO;QACL,EAAE;QACF,IAAI,EAAE,SAAS;QACf,QAAQ;QACR,IAAI;QACJ,WAAW;QACX,MAAM,EAAE,gBAAgB;QACxB,KAAK,EAAE,CAAC;KACT,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,MAAoC,EAAE,QAAe,MAAM;IAC5E,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC5B,OAAO;QACL,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC;QAC/E,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC;QACjF,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC;QAC5E,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC;QACzE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC;KAC9E,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,QAAQ,CAAC,KAAoB,EAAE,GAAU,EAAE,GAAU,EAAE,QAAiB;IAC/E,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IACjC,OAAO;QACL,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;YAC5D,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE,aAAa;SACrB,CAAC;QACF,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YACtE,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE,SAAS;SACjB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAgB,EAAE,CAAS,EAAE,QAAiB;IACjE,OAAO;QACL,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;YACjE,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE,aAAa;SACrB,CAAC;QACF,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YAClE,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE,SAAS;SACjB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,OAAO;IACd,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACtC,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;QAC7F,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,GAAG;KACjB,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAU,CAAC;AAEvF,MAAM,CAAC,MAAM,eAAe,GAAgC;IAC1D;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;QAC5B,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAChE,GAAG,WAAW;gBACd,KAAK,EAAE,QAAQ;gBACf,cAAc,EAAE,QAAQ;gBACxB,KAAK,EAAE,aAAa;aACrB,CAAC;YACF,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBACpE,GAAG,GAAG;gBACN,KAAK,EAAE,QAAQ;aAChB,CAAC;YACF,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACnG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACtG,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACjG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YAC9F,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YAClG,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC;QACzC,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACnG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACzG,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACjG,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACnC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YACvE,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACrC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YACrE,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACrC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC;YACjF,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACrC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACnE,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACnC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACrE,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC1B,KAAK,EAAE,IAAI;QACX,KAAK,EAAE;YACL,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAChE,SAAS,EAAE,EAAE;gBACb,WAAW,EAAE,EAAE;gBACf,WAAW,EAAE,GAAG;gBAChB,KAAK,EAAE,QAAQ;gBACf,cAAc,EAAE,QAAQ;aACzB,CAAC;YACF,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;gBACjE,SAAS,EAAE,EAAE;gBACb,WAAW,EAAE,EAAE;gBACf,WAAW,EAAE,GAAG;gBAChB,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,SAAS;aACjB,CAAC;YACF,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;QAC3B,KAAK,EAAE,IAAI;QACX,KAAK,EAAE;YACL,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBACnE,GAAG,QAAQ;gBACX,KAAK,EAAE,QAAQ;aAChB,CAAC;YACF,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAChE,GAAG,GAAG;gBACN,KAAK,EAAE,QAAQ;aAChB,CAAC;YACF,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;QAC9B,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,aAAa,CAAC,GAAG,CAAC;YAClB,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,CAAC;YAC7E,GAAG,OAAO,EAAE;YACZ,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YACvE,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;QAC9B,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,aAAa,CAAC,IAAI,CAAC;YACnB,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,CAAC;YAC7E,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;YAC1B,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;YAC3B,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;YAC3B,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;YAC3B,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;QAC9B,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,aAAa,CAAC,IAAI,CAAC;YACnB,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,CAAC;YAC7E,GAAG,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;YAC3B,GAAG,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC;YAC7B,GAAG,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC;YAC9B,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YACrE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;gBACnE,SAAS,EAAE,EAAE;gBACb,WAAW,EAAE,EAAE;gBACf,WAAW,EAAE,GAAG;aACjB,CAAC;YACF,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACnE,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;CACF,CAAC;AAEF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AA0C3F,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,OAAO,EAAE;YACP,eAAe,EAAE,2BAA2B;YAC5C,cAAc,EAAE,iCAAiC;YACjD,eAAe,EAAE,CAAC,GAAG,eAAe,CAAC;SACtC;QACD,MAAM,EAAE;YACN,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,mBAAmB;YAC3B,YAAY,EAAE,kBAAkB;YAChC,UAAU,EAAE,gBAAgB;SAC7B;QACD,UAAU,EAAE,EAAE,GAAG,wBAAwB,EAAE;QAC3C,gBAAgB,EAAE,CAAC,GAAG,yBAAyB,CAAC;QAChD,iBAAiB,EAAE,iCAAiC;QACpD,WAAW,EAAE,CAAC,GAAG,kBAAkB,CAAC;QACpC,YAAY,EAAE,CAAC,GAAG,mBAAmB,CAAC;QACtC,eAAe,EAAE,sBAAsB;QACvC,eAAe,EAAE;YACf,kBAAkB,EAAE,+BAA+B;YACnD,cAAc,EAAE,2BAA2B;SAC5C;QACD,OAAO,EAAE,EAAE,GAAG,qBAAqB,EAAE;QACrC,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC5C,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK;YACpH,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACvD,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAa;IAChC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB;QAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAwB;IAC5D,MAAM,KAAK,GAAG;QACZ,sGAAsG;QACtG,oBAAoB,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACjE,YAAY,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE;QAC7C,8BAA8B,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,mEAAmE;QAC1J,kCAAkC;QAClC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,OAAO,CAAC,eAAe;QACvB,8BAA8B;QAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,eAAe;KACxB,CAAC;IACF,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAyB;IAClD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACnE,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC5C,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,UAAU,CACd,GAAG,KAAK,sJAAsJ,EAC9J;QACE,OAAO,EAAE,2BAA2B;QACpC,MAAM,EAAE,2EAA2E;KACpF,CACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAa,EAAE,KAAa;IACxD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,KAAK,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QACpE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACzB,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC;QACrC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAE,eAAqC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/F,MAAM,UAAU,CACd,GAAG,KAAK,eAAe,cAAc,uBAAuB,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,oCAAoC,EACzH;gBACE,OAAO,EAAE,2BAA2B;gBACpC,MAAM,EAAE,2EAA2E;aACpF,CACF,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC1G,MAAM,UAAU,CAAC,GAAG,KAAK,eAAe,cAAc,KAAK,QAAQ,8CAA8C,CAAC,CAAC;YACrH,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;gBAC5E,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;oBACzB,MAAM,UAAU,CAAC,GAAG,KAAK,eAAe,cAAc,2CAA2C,OAAO,GAAG,CAAC,CAAC;gBAC/G,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;YACnC,MAAM,UAAU,CAAC,GAAG,KAAK,eAAe,cAAc,KAAK,QAAQ,4BAA4B,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAgB;IAClD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAa,EAAE,KAAK,GAAG,CAAC;IACzD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,UAAU,IAAI,IAAI,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QAC/C,MAAM,UAAU,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,CAAC;QAC1B,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClD,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAA6B,EAAE,KAAa;IACvE,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,GAAG,KAAK,4BAA4B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,UAAU,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9G,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,UAAU,CAAC,gBAAgB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;QAC/F,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;YACpE,MAAM,UAAU,CAAC,yBAAyB,IAAI,CAAC,EAAE,gBAAgB,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAc,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,IAAI,QAAQ,EAAE,CAAC;YACb,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAA4B;QACxC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE;YACN,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,mBAAmB;YAC3B,YAAY,EAAE,kBAAkB;YAChC,UAAU;SACX;QACD,UAAU,EAAE,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,wBAAwB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;QAC7F,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;QACjF,UAAU;KACX,CAAC;IACF,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACxC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,UAAU,CAAC,mBAAmB,KAAK,kDAAkD,EAAE;YAC3F,OAAO,EAAE,8BAA8B;YACvC,MAAM,EAAE,kDAAkD;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,cAAc,CAAC,GAAG,CAAC,KAAK,CAAqB,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,KAAc,EAAE,KAAa;IAC9C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,GAAG,KAAK,4CAA4C,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,MAAe,EAAE,KAAa;IACpD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,MAAM,UAAU,CAAC,GAAG,KAAK,4BAA4B,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,GAAG,KAAK,mCAAmC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,KAAK,oBAAoB,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,IAAY;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,GAAG,IAAI,2DAA2D,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3F,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,GAAG,IAAI,4BAA4B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,UAAU,CAAC,GAAG,IAAI,uBAAuB,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpF,MAAM,UAAU,CAAC,GAAG,IAAI,wCAAwC,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,IAAI,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5C,MAAM,QAAQ,GAAG,GAAG,IAAI,UAAU,KAAK,GAAG,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,UAAU,CAAC,GAAG,QAAQ,qBAAqB,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5F,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,UAAU,CAAC,GAAG,QAAQ,4BAA4B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YAC3F,MAAM,UAAU,CAAC,GAAG,QAAQ,+CAA+C,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,UAAU,CAAC,GAAG,QAAQ,gBAAgB,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,UAAU,CAAC,GAAG,QAAQ,gBAAgB,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;YACzC,MAAM,UAAU,CAAC,GAAG,QAAQ,sDAAsD,CAAC,CAAC;QACtF,CAAC;QACD,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,QAAQ,QAAQ,CAAC;SACpD,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,eAAe,CACtB,IAAoB,EACpB,KAAc;IAEd,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,MAAM,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC,EAAE,CAAC;QAC/C,MAAM,UAAU,CACd,IAAI,CAAC,MAAM,KAAK,OAAO;YACrB,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,2CAA2C;YAC5D,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,oDAAoD,CACxE,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QACnD,MAAM,UAAU,CACd,IAAI,CAAC,MAAM,KAAK,OAAO;YACrB,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,8BAA8B;YAC/C,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,uCAAuC,CAC3D,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QACrD,MAAM,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,4CAA4C,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,KAAK,OAAO;QACnC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO;YACvB,CAAC,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC;YAC9C,CAAC,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,CAAC;QAC/D,CAAC,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,4BAA4B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,MAAM,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5D,MAAM,eAAe,GAA4B,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;IACzF,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;YAAE,eAAe,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAC7D,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,eAAe,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACnE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,eAAe,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAClE,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,cAAc,CAAC,IAAoB,EAAE,KAAc;IAC1D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7C,MAAM,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,wCAAwC,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAoB,EACpB,QAAkF;IAElF,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,GAAG,QAAQ,CAAC,SAAS;QACrB,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE;QACtB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,QAAQ,CAAC,WAAW;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,IAAY;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,UAAU,CAAC,GAAG,IAAI,sCAAsC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,SAAS,CAAC,IAA6B,EAAE,KAAa;IAC7D,OAAO,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC;AACnG,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/problems.js b/plugins/screenrig/cli/dist/problems.js index 13a81c70..9c2d41b0 100644 --- a/plugins/screenrig/cli/dist/problems.js +++ b/plugins/screenrig/cli/dist/problems.js @@ -184,7 +184,7 @@ export function withQuotaGuidance(problem) { return { ...problem, next: { - command: "screenrig --json account show", + command: "screenrig account show", reason: "Read used_bytes and content_limit_bytes, then free space or upload a smaller file.", }, }; @@ -201,7 +201,7 @@ export function withPaymentGuidance(problem) { return { ...problem, next: { - command: "screenrig --json account show", + command: "screenrig account show", reason: "Read credit_remaining. Remaining prepaid credit of zero rejects costly operations.", }, }; diff --git a/plugins/screenrig/cli/dist/problems.js.map b/plugins/screenrig/cli/dist/problems.js.map index d7d0d603..4310088e 100644 --- a/plugins/screenrig/cli/dist/problems.js.map +++ b/plugins/screenrig/cli/dist/problems.js.map @@ -1 +1 @@ -{"version":3,"file":"problems.js","sourceRoot":"","sources":["../src/problems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,YAAY,GAAG,+BAA+B,CAAC;AAErD,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,OAAO,CAAoB;IAC3B,QAAQ,CAAW;IACnB,QAAQ,CAAY;IAE7B,YAAY,OAA0B,EAAE,QAAmB,EAAE,WAAsB,EAAE;QACnF,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,GAAG,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,KAAa,EACb,MAAc,EACd,MAAc,EACd,MAAmC;IAEnC,OAAO;QACL,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC;QACvC,KAAK;QACL,MAAM;QACN,MAAM;QACN,QAAQ,EAAE,MAAM,EAAE,QAAQ;QAC1B,IAAI;QACJ,UAAU,EAAE,MAAM,EAAE,UAAU;QAC9B,YAAY,EAAE,MAAM,EAAE,YAAY;QAClC,gBAAgB,EAAE,MAAM,EAAE,gBAAgB;QAC1C,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE;QAC5B,IAAI,EAAE,MAAM,EAAE,IAAI;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,KAAc,EACd,WAAwE,EAAE;IAE1E,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC;IAC/D,MAAM,IAAI,GACR,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;QACnB,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACtF,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,gBAAgB,CAAC;IACvD,MAAM,MAAM,GACV,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC;QAC9C,KAAK;QACL,MAAM;QACN,MAAM;QACN,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;QACjC,IAAI;QACJ,UAAU,EAAE,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,QAAQ,CAAC,UAAU;QAC5D,YAAY,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;QACzC,gBAAgB,EAAE,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;QACjD,MAAM;QACN,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;KACxB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9C,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtF,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;QACrB,OAAO,GAAG,KAAK,KAAK,OAAO,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,OAAO,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA0B;IACtD,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACvF,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,mBAAmB,KAAK,QAAQ,EAAE,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,eAAe,CAAC,KAAyB,EAAE,KAAa;IACtE,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;QACjB,OAAO,GAAG,OAAO,UAAU,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACxD,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACxC,OAAO,GAAG,OAAO,UAAU,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAA0B,EAAE,iBAAqC;IAC9F,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC9D,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;QACnD,CAAC,CAAC,OAAO,CAAC,MAAM;QAChB,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,mBAAmB,iBAAiB,WAAW,CAAC;IACrE,OAAO;QACL,GAAG,OAAO;QACV,MAAM;QACN,mBAAmB,EAAE,iBAAiB;QACtC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI;YACpB,OAAO,EAAE,wBAAwB;YACjC,MAAM,EAAE,6CAA6C,QAAQ,mBAAmB;SACjF;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA0B;IAC1D,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO;QACL,GAAG,OAAO;QACV,IAAI,EAAE;YACJ,OAAO,EAAE,+BAA+B;YACxC,MAAM,EAAE,oFAAoF;SAC7F;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAA0B;IAC5D,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACxD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO;QACL,GAAG,OAAO;QACV,IAAI,EAAE;YACJ,OAAO,EAAE,+BAA+B;YACxC,MAAM,EAAE,oFAAoF;SAC7F;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAc,EAAE,IAAkB;IAC3D,OAAO,IAAI,QAAQ,CACjB,WAAW,CAAC,aAAa,EAAE,uBAAuB,EAAE,GAAG,EAAE,MAAM,EAAE;QAC/D,IAAI;KACL,CAAC,EACF,QAAQ,CAAC,KAAK,CACf,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,IAAkB;IACjE,OAAO,IAAI,QAAQ,CACjB,WAAW,CAAC,cAAc,EAAE,8BAA8B,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAClF,QAAQ,CAAC,IAAI,CACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,IAAkB;IAC5D,OAAO,IAAI,QAAQ,CACjB,WAAW,CAAC,cAAc,EAAE,qBAAqB,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EACzE,QAAQ,CAAC,MAAM,CAChB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,UAAmB;IAC9D,OAAO,IAAI,QAAQ,CACjB,WAAW,CAAC,iBAAiB,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,EAC5E,QAAQ,CAAC,OAAO,CACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,UAAmB;IAC9D,OAAO,IAAI,QAAQ,CACjB,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,EAChE,QAAQ,CAAC,OAAO,CACjB,CAAC;AACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"problems.js","sourceRoot":"","sources":["../src/problems.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/program.d.ts b/plugins/screenrig/cli/dist/program.d.ts new file mode 100644 index 00000000..3ea60938 --- /dev/null +++ b/plugins/screenrig/cli/dist/program.d.ts @@ -0,0 +1,5 @@ +import { type CommandResult } from "./commands.js"; +import type { CliRuntime } from "./runtime.js"; +/** Run one native Commander action and return its result to the output boundary. */ +export declare function executeCommand(argv: string[], runtime: CliRuntime): Promise<CommandResult>; +//# sourceMappingURL=program.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/program.d.ts.map b/plugins/screenrig/cli/dist/program.d.ts.map new file mode 100644 index 00000000..5c47e691 --- /dev/null +++ b/plugins/screenrig/cli/dist/program.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAIlE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,oFAAoF;AACpF,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAiBhG"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/program.js b/plugins/screenrig/cli/dist/program.js new file mode 100644 index 00000000..92d6b773 --- /dev/null +++ b/plugins/screenrig/cli/dist/program.js @@ -0,0 +1,30 @@ +import { CommanderError } from "commander"; +import { createCommandTree } from "./command-tree.js"; +import { handleVersion } from "./commands.js"; +import { describeHelp } from "./help.js"; +import { successEnvelope } from "./envelope.js"; +import { ExitCode } from "./exit-codes.js"; +/** Run one native Commander action and return its result to the output boundary. */ +export async function executeCommand(argv, runtime) { + let result; + const tree = createCommandTree(argv, async (handler, args) => { + result = await handler(args, runtime); + }); + try { + await tree.root.parseAsync(argv, { from: "user" }); + } + catch (error) { + if (!(error instanceof CommanderError) || !(tree.helpRequested() || tree.versionRequested())) + throw error; + } + if (tree.helpRequested()) { + const help = describeHelp(tree.selected()); + return { envelope: successEnvelope(help), exitCode: ExitCode.Success, human: help.usage, output: "help" }; + } + if (tree.versionRequested()) + return handleVersion({ command: ["version"], positionals: ["version"], flags: {} }, runtime); + if (!result) + throw new Error("Command completed without a result."); + return result; +} +//# sourceMappingURL=program.js.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/program.js.map b/plugins/screenrig/cli/dist/program.js.map new file mode 100644 index 00000000..6b2edf2e --- /dev/null +++ b/plugins/screenrig/cli/dist/program.js.map @@ -0,0 +1 @@ +{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAsB,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAc,EAAE,OAAmB;IACtE,IAAI,MAAiC,CAAC;IACtC,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC3D,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAAE,MAAM,KAAK,CAAC;IAC5G,CAAC;IACD,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5G,CAAC;IACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;QAAE,OAAO,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1H,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACpE,OAAO,MAAM,CAAC;AAChB,CAAC"} \ No newline at end of file